diff mbox series

[v3] pwm: pwm-omap-dmtimer: return -EPROBE_DEFER if no dmtimer platform data

Message ID 20180730223030.10628-1-drivshin@awxrd.com (mailing list archive)
State New, archived
Headers show
Series [v3] pwm: pwm-omap-dmtimer: return -EPROBE_DEFER if no dmtimer platform data | expand

Commit Message

David Rivshin July 30, 2018, 10:30 p.m. UTC
From: David Rivshin <DRivshin@allworx.com>

If a pwm-omap-dmtimer is probed before the dmtimer it uses, the platform
data won't be set yet.

Fixes: ac30751df953 ("ARM: OMAP: pdata-quirks: Remove unused timer pdata")
Cc: <stable@vger.kernel.org> # 4.17+
Signed-off-by: David Rivshin <drivshin@allworx.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Tested-by: Pavel Machek <pavel@ucw.cz>
---
Changes in v3:
* Changed dev_info to dev_dbg
Changes in v2:
* Added Pavel's Acked-by/Tested-by [1]

[1] https://lkml.org/lkml/2018/7/16/346

 drivers/pwm/pwm-omap-dmtimer.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


base-commit: acb1872577b346bd15ab3a3f8dff780d6cca4b70

Comments

Andreas Kemnade July 31, 2018, 5:28 a.m. UTC | #1
Hi,

On Mon, 30 Jul 2018 18:30:30 -0400
David Rivshin <drivshin@awxrd.com> wrote:

> From: David Rivshin <DRivshin@allworx.com>
> 
> If a pwm-omap-dmtimer is probed before the dmtimer it uses, the platform
> data won't be set yet.
> 
you can of course have my Tested-by:
The version without message runs without trouble in daily use
here on top of 4.17.10. Did also some testing on 4.18-rc7 and I also tested this version. 

I personally have no strange feeling about what dev_XXX() you have.
I hope not too many other developers spend time to fix this just to find out
that something like this is already in review queue.

Regards,
Andreas
diff mbox series

Patch

diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
index 665da3c8fbceb..f45798679e3c0 100644
--- a/drivers/pwm/pwm-omap-dmtimer.c
+++ b/drivers/pwm/pwm-omap-dmtimer.c
@@ -264,8 +264,9 @@  static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
 
 	timer_pdata = dev_get_platdata(&timer_pdev->dev);
 	if (!timer_pdata) {
-		dev_err(&pdev->dev, "dmtimer pdata structure NULL\n");
-		ret = -EINVAL;
+		dev_dbg(&pdev->dev,
+			 "dmtimer pdata structure NULL, deferring probe\n");
+		ret = -EPROBE_DEFER;
 		goto put;
 	}