Re: [PATCH 1/2] pwm: make it possible to apply pwm changes in atomic context

From: Thierry Reding
Date: Fri Oct 06 2023 - 06:29:44 EST


On Sun, Oct 01, 2023 at 11:40:29AM +0100, Sean Young wrote:
[...]
> diff --git a/include/linux/pwm.h b/include/linux/pwm.h
> index d2f9f690a9c1..c94894ffa4c4 100644
> --- a/include/linux/pwm.h
> +++ b/include/linux/pwm.h
> @@ -287,6 +287,7 @@ struct pwm_ops {
> * @ops: callbacks for this PWM controller
> * @base: number of first PWM controlled by this chip
> * @npwm: number of PWMs controlled by this chip
> + * @can_sleep: can the driver sleep in pwm_apply_state
> * @of_xlate: request a PWM device given a device tree PWM specifier
> * @of_pwm_n_cells: number of cells expected in the device tree PWM specifier
> * @list: list node for internal use
> @@ -297,6 +298,7 @@ struct pwm_chip {
> const struct pwm_ops *ops;
> int base;
> unsigned int npwm;
> + bool can_sleep;

Can we please call this "might_sleep"?

>
> struct pwm_device * (*of_xlate)(struct pwm_chip *chip,
> const struct of_phandle_args *args);
> @@ -380,6 +382,18 @@ static inline void pwm_disable(struct pwm_device *pwm)
> pwm_apply_state(pwm, &state);
> }
>
> +/**
> + * pwm_can_sleep() - can a pwm driver sleep in pwm_apply_state()
> + * @pwm: PWM device
> + *
> + * Returns: true if the driver may sleep, false if pwm_apply_state()
> + * can be called from atomic context.
> + */
> +static inline bool pwm_can_sleep(struct pwm_device *pwm)

And this one pwm_might_sleep()? I don't see why we need to deviate from
the nomenclature that the core introduced.

Thierry

Attachment: signature.asc
Description: PGP signature