Message ID | 20201030134135.28730-1-lokeshvutla@ti.com |
---|---|
State | Accepted |
Headers | show |
Series | pwm: lp3943: Dynamically allocate pwm chip base | expand |
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 <lokeshvutla@ti.com> Reviewed-by: Uwe Kleine-König <u.kleine-könig@pengutronix.de> With this patch applied only the pwm-ab8500 driver is left not using -1 for base. Best regards Uwe
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 <lokeshvutla@ti.com> > > Reviewed-by: Uwe Kleine-König <u.kleine-könig@pengutronix.de> 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 <lokeshvutla@ti.com> > --- > drivers/pwm/pwm-lp3943.c | 1 + > 1 file changed, 1 insertion(+) Applied, thanks. Thierry
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);
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 <lokeshvutla@ti.com> --- drivers/pwm/pwm-lp3943.c | 1 + 1 file changed, 1 insertion(+)