[PATCH 1/2] pwm: make it possible to apply pwm changes in atomic context
Thierry Reding
thierry.reding at gmail.com
Fri Oct 6 03:29:34 PDT 2023
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20231006/cd903914/attachment-0001.sig>
More information about the linux-arm-kernel
mailing list