2020-10-30 13:44:20

by Lokesh Vutla

[permalink] [raw]
Subject: [PATCH] pwm: lp3943: Dynamically allocate pwm chip base

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


2020-10-30 20:23:01

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH] pwm: lp3943: Dynamically allocate pwm chip base

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/ |


Attachments:
(No filename) (847.00 B)
signature.asc (499.00 B)
Download all attachments

2020-11-02 05:03:34

by Lokesh Vutla

[permalink] [raw]
Subject: Re: [PATCH] pwm: lp3943: Dynamically allocate pwm chip base

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
>

2020-11-11 20:15:02

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH] pwm: lp3943: Dynamically allocate pwm chip base

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


Attachments:
(No filename) (624.00 B)
signature.asc (849.00 B)
Download all attachments