]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
pwm: lp3943: Dynamically allocate PWM chip base
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 30 Oct 2020 13:41:35 +0000 (19:11 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Dec 2020 12:47:03 +0000 (13:47 +0100)
[ Upstream commit 1f0f1e80fdd3aa9631f6c22cda4f8550cfcfcc3e ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pwm/pwm-lp3943.c

index 52584e9962edd43adf83d9da04fc2e16672fcc87..fc446d5c19f93cb1cb7aef68e8dd321a550f6fc9 100644 (file)
@@ -278,6 +278,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);