pwm: lp3943: Dynamically allocate PWM chip base
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 30 Oct 2020 13:41:35 +0000 (19:11 +0530)
committerThierry Reding <thierry.reding@gmail.com>
Thu, 17 Dec 2020 13:18:55 +0000 (14:18 +0100)
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 controllers are probed first and assigned PWM base 0 and
pwm-lp3943 is requesting for 0 again.

In order to avoid this, assign the chip base with -1, so that it 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>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-lp3943.c

index 7551253ada32b701ff82f9cbb8c5ecbc7d23b4c7..bf3f14fb5f24436af1a22e4e55e295775844f9fe 100644 (file)
@@ -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);