When there are other pwm controllers enabled along with pwm-lp3943,
pwm-lp3942 is failing to probe with -EEXIST error. This is because
other pwm controller is probed first and assigned pwmchip 0 and
pwm-lp3943 is requesting for 0 again. In order to avoid this, assign the
chip base with -1, so that id is dynamically allocated.
Fixes: af66b3c0934e ("pwm: Add LP3943 PWM driver")
Signed-off-by: Lokesh Vutla <[email protected]>
---
drivers/pwm/pwm-lp3943.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pwm/pwm-lp3943.c b/drivers/pwm/pwm-lp3943.c
index 7551253ada32..bf3f14fb5f24 100644
--- a/drivers/pwm/pwm-lp3943.c
+++ b/drivers/pwm/pwm-lp3943.c
@@ -275,6 +275,7 @@ static int lp3943_pwm_probe(struct platform_device *pdev)
lp3943_pwm->chip.dev = &pdev->dev;
lp3943_pwm->chip.ops = &lp3943_pwm_ops;
lp3943_pwm->chip.npwm = LP3943_NUM_PWMS;
+ lp3943_pwm->chip.base = -1;
platform_set_drvdata(pdev, lp3943_pwm);
--
2.28.0
On Fri, Oct 30, 2020 at 07:11:35PM +0530, Lokesh Vutla wrote:
> When there are other pwm controllers enabled along with pwm-lp3943,
> pwm-lp3942 is failing to probe with -EEXIST error. This is because
> other pwm controller is probed first and assigned pwmchip 0 and
> pwm-lp3943 is requesting for 0 again. In order to avoid this, assign the
> chip base with -1, so that id is dynamically allocated.
>
> Fixes: af66b3c0934e ("pwm: Add LP3943 PWM driver")
> Signed-off-by: Lokesh Vutla <[email protected]>
Reviewed-by: Uwe Kleine-K?nig <[email protected]>
With this patch applied only the pwm-ab8500 driver is left not using -1
for base.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |
Hi Uwe,
On 31/10/20 1:41 am, Uwe Kleine-K?nig wrote:
> On Fri, Oct 30, 2020 at 07:11:35PM +0530, Lokesh Vutla wrote:
>> When there are other pwm controllers enabled along with pwm-lp3943,
>> pwm-lp3942 is failing to probe with -EEXIST error. This is because
>> other pwm controller is probed first and assigned pwmchip 0 and
>> pwm-lp3943 is requesting for 0 again. In order to avoid this, assign the
>> chip base with -1, so that id is dynamically allocated.
>>
>> Fixes: af66b3c0934e ("pwm: Add LP3943 PWM driver")
>> Signed-off-by: Lokesh Vutla <[email protected]>
>
> Reviewed-by: Uwe Kleine-K?nig <[email protected]>
Thanks.
>
> With this patch applied only the pwm-ab8500 driver is left not using -1
> for base.
pwm-ab8500 is assigning ab8500->chip.base as pdev->id. At least in the DT case
pdev->id is always -1(as of today). So, base is being allocated dynamically in
case of DT.
Thanks and regards,
Lokesh
>
> Best regards
> Uwe
>
On Fri, Oct 30, 2020 at 07:11:35PM +0530, Lokesh Vutla wrote:
> When there are other pwm controllers enabled along with pwm-lp3943,
> pwm-lp3942 is failing to probe with -EEXIST error. This is because
> other pwm controller is probed first and assigned pwmchip 0 and
> pwm-lp3943 is requesting for 0 again. In order to avoid this, assign the
> chip base with -1, so that id is dynamically allocated.
>
> Fixes: af66b3c0934e ("pwm: Add LP3943 PWM driver")
> Signed-off-by: Lokesh Vutla <[email protected]>
> ---
> drivers/pwm/pwm-lp3943.c | 1 +
> 1 file changed, 1 insertion(+)
Applied, thanks.
Thierry