[Letux-kernel] [PATCH] pwm: pwm-omap-dmtimer: fix probing problems by returning EPROBE_DEFER

H. Nikolaus Schaller hns at goldelico.com
Sun Jul 29 08:32:41 CEST 2018


Hi,

> Am 28.07.2018 um 22:35 schrieb Ladislav Michl <ladis at linux-mips.org>:
> 
> Hi Andreas,
> 
> On Sat, Jul 28, 2018 at 06:59:14PM +0200, Andreas Kemnade wrote:
>> I got this in the kernel log:
>> [    0.756042] omap-dmtimer-pwm dmtimer-pwm: dmtimer pdata structure NULL
>> [    0.756134] omap-dmtimer-pwm: probe of dmtimer-pwm failed with error -22
>> 
>> the probe function has to wait until omap_dm_timer_probe() in
>> clocksource/timer-ti-dm.c has initialized pdata, so defer probing
> 
> There already is a patch by David Rivshin addressing the same issue...

Here it is:

https://patchwork.ozlabs.org/patch/943148/

but hasn't arrived in linux-next.

But it is questionable if a driver should dev_info() about doing deferred probing.
IMHO, it should just do it which is how Andreas' patch works.

> 
>> Fixes: b7290cf6ff78 (pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops)
>> Signed-off-by: Andreas Kemnade <andreas at kemnade.info>
>> ---
>> drivers/pwm/pwm-omap-dmtimer.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>> 
>> diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
>> index 665da3c8fbce..808835179c2e 100644
>> --- a/drivers/pwm/pwm-omap-dmtimer.c
>> +++ b/drivers/pwm/pwm-omap-dmtimer.c
>> @@ -264,8 +264,7 @@ 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;
>> +		ret = -EPROBE_DEFER;
>> 		goto put;
>> 	}
>> 
>> -- 
>> 2.11.0
>> 

BR,
Nikolaus




More information about the Letux-kernel mailing list