Subject: Re: linux-next: build failure after merge of the pwm tree

From: Thierry Reding <[email-masked]>
Date: Thu, 21 Dec 2023 10:25:06 +0100

On Thu, Dec 21, 2023 at 04:58:05PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the backlight tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/video/backlight/mp3309c.c: In function 'mp3309c_bl_update_status':
> drivers/video/backlight/mp3309c.c:134:23: error: implicit declaration of function 'pwm_apply_state'; did you mean 'pwm_apply_args'? [-Werror=implicit-function-declaration]
>   134 |                 ret = pwm_apply_state(chip->pwmd, &pwmstate);
>       |                       ^~~~~~~~~~~~~~~
>       |                       pwm_apply_args
> 
> Caused by commit
> 
>   c748a6d77c06 ("pwm: Rename pwm_apply_state() to pwm_apply_might_sleep()")
> 
> interacting with commit
> 
>   2e914516a58c ("backlight: mp3309c: Add support for MPS MP3309C")
> 
> from the backlight tree.
> 
> I have appplied the following merge fix patch.
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Thu, 21 Dec 2023 16:13:37 +1100
> Subject: [PATCH] fix up for "backlight: mp3309c: Add support for MPS MP3309C"
> 
> from the backlight tree interacting with commit
> 
>   c748a6d77c06 ("pwm: Rename pwm_apply_state() to pwm_apply_might_sleep()")
> 
> from the pwm tree.
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  drivers/video/backlight/mp3309c.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c
> index 34d71259fac1..b0d9aef6942b 100644
> --- a/drivers/video/backlight/mp3309c.c
> +++ b/drivers/video/backlight/mp3309c.c
> @@ -131,7 +131,7 @@ static int mp3309c_bl_update_status(struct backlight_device *bl)
>  					    chip->pdata->levels[brightness],
>  					    chip->pdata->levels[chip->pdata->max_brightness]);
>  		pwmstate.enabled = true;
> -		ret = pwm_apply_state(chip->pwmd, &pwmstate);
> +		ret = pwm_apply_might_sleep(chip->pwmd, &pwmstate);
>  		if (ret)
>  			return ret;
>  
> @@ -393,7 +393,7 @@ static int mp3309c_probe(struct i2c_client *client)
>  					    chip->pdata->default_brightness,
>  					    chip->pdata->max_brightness);
>  		pwmstate.enabled = true;
> -		ret = pwm_apply_state(chip->pwmd, &pwmstate);
> +		ret = pwm_apply_might_sleep(chip->pwmd, &pwmstate);
>  		if (ret)
>  			return dev_err_probe(chip->dev, ret,
>  					     "error setting pwm device\n");

Hi Lee,

We could exchange stable tags to make this work, but given that people
(myself included) are getting into holiday mode I'm inclined to just add
a pwm_apply_state() compatibility inline for now and then we can address
this in the new year or for the next cycle. What do you think?

Thierry