pwm: bcm2835: Dynamically allocate base
diff mbox series

Message ID 20200203213536.32226-1-f.fainelli@gmail.com
State New
Headers show
Series
  • pwm: bcm2835: Dynamically allocate base
Related show

Commit Message

Florian Fainelli Feb. 3, 2020, 9:35 p.m. UTC
The newer 2711 and 7211 chips have two PWM controllers and failure to
dynamically allocate the PWM base would prevent the second PWM
controller instance being probed for succeeding with an -EEXIST error
from alloc_pwms().

Fixes: e5a06dc5ac1f ("pwm: Add BCM2835 PWM driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/pwm/pwm-bcm2835.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Uwe Kleine-König Feb. 4, 2020, 6:46 a.m. UTC | #1
Hallo Florian,

On Mon, Feb 03, 2020 at 01:35:35PM -0800, Florian Fainelli wrote:
> The newer 2711 and 7211 chips have two PWM controllers and failure to
> dynamically allocate the PWM base would prevent the second PWM
> controller instance being probed for succeeding with an -EEXIST error
> from alloc_pwms().
> 
> Fixes: e5a06dc5ac1f ("pwm: Add BCM2835 PWM driver")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Best regards
Uwe
Nicolas Saenz Julienne Feb. 4, 2020, 9:17 a.m. UTC | #2
On Mon, 2020-02-03 at 13:35 -0800, Florian Fainelli wrote:
> The newer 2711 and 7211 chips have two PWM controllers and failure to
> dynamically allocate the PWM base would prevent the second PWM
> controller instance being probed for succeeding with an -EEXIST error
> from alloc_pwms().
> 
> Fixes: e5a06dc5ac1f ("pwm: Add BCM2835 PWM driver")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>

>  drivers/pwm/pwm-bcm2835.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pwm/pwm-bcm2835.c b/drivers/pwm/pwm-bcm2835.c
> index 91e24f01b54e..d78f86f8e462 100644
> --- a/drivers/pwm/pwm-bcm2835.c
> +++ b/drivers/pwm/pwm-bcm2835.c
> @@ -166,6 +166,7 @@ static int bcm2835_pwm_probe(struct platform_device *pdev)
>  
>  	pc->chip.dev = &pdev->dev;
>  	pc->chip.ops = &bcm2835_pwm_ops;
> +	pc->chip.base = -1;
>  	pc->chip.npwm = 2;
>  	pc->chip.of_xlate = of_pwm_xlate_with_flags;
>  	pc->chip.of_pwm_n_cells = 3;
Florian Fainelli Feb. 20, 2020, 7:14 p.m. UTC | #3
On 2/4/20 1:17 AM, Nicolas Saenz Julienne wrote:
> On Mon, 2020-02-03 at 13:35 -0800, Florian Fainelli wrote:
>> The newer 2711 and 7211 chips have two PWM controllers and failure to
>> dynamically allocate the PWM base would prevent the second PWM
>> controller instance being probed for succeeding with an -EEXIST error
>> from alloc_pwms().
>>
>> Fixes: e5a06dc5ac1f ("pwm: Add BCM2835 PWM driver")
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
> 
> Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>

Thierry, is there any chance we can get this applied for an upcoming
5.6-rcX? Thank you!
Uwe Kleine-König Feb. 20, 2020, 9:07 p.m. UTC | #4
[Dropping Bart Tanghe from recipents as the address bounces]

Hello Thierry,

On Thu, Feb 20, 2020 at 11:14:00AM -0800, Florian Fainelli wrote:
> On 2/4/20 1:17 AM, Nicolas Saenz Julienne wrote:
> > On Mon, 2020-02-03 at 13:35 -0800, Florian Fainelli wrote:
> >> The newer 2711 and 7211 chips have two PWM controllers and failure to
> >> dynamically allocate the PWM base would prevent the second PWM
> >> controller instance being probed for succeeding with an -EEXIST error
> >> from alloc_pwms().
> >>
> >> Fixes: e5a06dc5ac1f ("pwm: Add BCM2835 PWM driver")
> >> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> >> ---
> > 
> > Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> 
> Thierry, is there any chance we can get this applied for an upcoming
> 5.6-rcX? Thank you!

to assist you with patch sorting:

# revisions < v6 of "Convert period and duty cycle to u64"
pwclient -s Superseded 1237020 1237019 1229049 1229050 1222396

# most of "Add support for Azoteq IQS620A/621/622/624/625" v5 isn't for pwm
pwclient -s "Not Applicable" 1238908 1238907 1238906 1238904 1238903 1238901

# most of "Add support for Azoteq IQS620A/621/622/624/625" v4 isn't for pwm
pwclient -s "Not Applicable" 1224598 1224597 1224596 1224594 1224593 1224592
pwclient -s "Superseeded" 1224595

# "backlight: pwm_bl: Use gpiod_get_value_cansleep() to get initial
# state" already applied by Lee Jones
pwclient -s "Not Applicable" 1031586

# Problem resolved by Michal Vokáč
pwclient -s "Rejected"  1059267

(Not sure "Rejected" is the right state.)

Best regards
Uwe

Patch
diff mbox series

diff --git a/drivers/pwm/pwm-bcm2835.c b/drivers/pwm/pwm-bcm2835.c
index 91e24f01b54e..d78f86f8e462 100644
--- a/drivers/pwm/pwm-bcm2835.c
+++ b/drivers/pwm/pwm-bcm2835.c
@@ -166,6 +166,7 @@  static int bcm2835_pwm_probe(struct platform_device *pdev)
 
 	pc->chip.dev = &pdev->dev;
 	pc->chip.ops = &bcm2835_pwm_ops;
+	pc->chip.base = -1;
 	pc->chip.npwm = 2;
 	pc->chip.of_xlate = of_pwm_xlate_with_flags;
 	pc->chip.of_pwm_n_cells = 3;