Message ID | 1459368249-13241-33-git-send-email-boris.brezillon@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Boris, On Wed, Mar 30, 2016 at 10:03:55PM +0200, Boris Brezillon wrote: > Prefix those function as deprecated to encourage all existing users to > switch to pwm_apply_state(). Why not keep at least some of them as wrappers where we do not need to chnage several parameters at once? It is much easier to have a driver do: error = pwm_enable(pwm); if (error) ... rather than declaring the state variable, fectch it, adjust and then apply. > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > include/linux/pwm.h | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/include/linux/pwm.h b/include/linux/pwm.h > index 4aad4eb..9bac10f 100644 > --- a/include/linux/pwm.h > +++ b/include/linux/pwm.h > @@ -225,8 +225,8 @@ int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state); > * > * Returns: 0 on success or a negative error code on failure. > */ > -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > - int period_ns) > +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, > + int period_ns) > { > struct pwm_state pstate; > > @@ -252,8 +252,8 @@ static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > * > * Returns: 0 on success or a negative error code on failure. > */ > -static inline int pwm_set_polarity(struct pwm_device *pwm, > - enum pwm_polarity polarity) > +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, > + enum pwm_polarity polarity) > { > struct pwm_state pstate; > > @@ -284,7 +284,7 @@ static inline int pwm_set_polarity(struct pwm_device *pwm, > * > * Returns: 0 on success or a negative error code on failure. > */ > -static inline int pwm_enable(struct pwm_device *pwm) > +static inline int __deprecated pwm_enable(struct pwm_device *pwm) > { > struct pwm_state pstate; > > @@ -303,7 +303,7 @@ static inline int pwm_enable(struct pwm_device *pwm) > * pwm_disable() - stop a PWM output toggling > * @pwm: PWM device > */ > -static inline void pwm_disable(struct pwm_device *pwm) > +static inline void __deprecated pwm_disable(struct pwm_device *pwm) > { > struct pwm_state pstate; > > @@ -360,24 +360,24 @@ static inline int pwm_apply_state(struct pwm_device *pwm, > return -ENOTSUPP; > } > > -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > - int period_ns) > +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, > + int period_ns) > { > return -EINVAL; > } > > -static inline int pwm_set_polarity(struct pwm_device *pwm, > - enum pwm_polarity polarity) > +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, > + enum pwm_polarity polarity) > { > return -ENOTSUPP; > } > > -static inline int pwm_enable(struct pwm_device *pwm) > +static inline int __deprecated pwm_enable(struct pwm_device *pwm) > { > return -EINVAL; > } > > -static inline void pwm_disable(struct pwm_device *pwm) > +static inline void __deprecated pwm_disable(struct pwm_device *pwm) > { > } > > -- > 2.5.0 >
Hi Dmitry, On Thu, 31 Mar 2016 10:38:58 -0700 Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > Hi Boris, > > On Wed, Mar 30, 2016 at 10:03:55PM +0200, Boris Brezillon wrote: > > Prefix those function as deprecated to encourage all existing users to > > switch to pwm_apply_state(). > > Why not keep at least some of them as wrappers where we do not need to > chnage several parameters at once? It is much easier to have a driver > do: > > error = pwm_enable(pwm); > if (error) > ... > > rather than declaring the state variable, fectch it, adjust and then > apply. True. Actually deprecating the non-atomic API was not my primary goal. Thierry would you mind if we keep both APIs around? > > > > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > --- > > include/linux/pwm.h | 24 ++++++++++++------------ > > 1 file changed, 12 insertions(+), 12 deletions(-) > > > > diff --git a/include/linux/pwm.h b/include/linux/pwm.h > > index 4aad4eb..9bac10f 100644 > > --- a/include/linux/pwm.h > > +++ b/include/linux/pwm.h > > @@ -225,8 +225,8 @@ int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state); > > * > > * Returns: 0 on success or a negative error code on failure. > > */ > > -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > > - int period_ns) > > +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, > > + int period_ns) > > { > > struct pwm_state pstate; > > > > @@ -252,8 +252,8 @@ static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > > * > > * Returns: 0 on success or a negative error code on failure. > > */ > > -static inline int pwm_set_polarity(struct pwm_device *pwm, > > - enum pwm_polarity polarity) > > +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, > > + enum pwm_polarity polarity) > > { > > struct pwm_state pstate; > > > > @@ -284,7 +284,7 @@ static inline int pwm_set_polarity(struct pwm_device *pwm, > > * > > * Returns: 0 on success or a negative error code on failure. > > */ > > -static inline int pwm_enable(struct pwm_device *pwm) > > +static inline int __deprecated pwm_enable(struct pwm_device *pwm) > > { > > struct pwm_state pstate; > > > > @@ -303,7 +303,7 @@ static inline int pwm_enable(struct pwm_device *pwm) > > * pwm_disable() - stop a PWM output toggling > > * @pwm: PWM device > > */ > > -static inline void pwm_disable(struct pwm_device *pwm) > > +static inline void __deprecated pwm_disable(struct pwm_device *pwm) > > { > > struct pwm_state pstate; > > > > @@ -360,24 +360,24 @@ static inline int pwm_apply_state(struct pwm_device *pwm, > > return -ENOTSUPP; > > } > > > > -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, > > - int period_ns) > > +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, > > + int period_ns) > > { > > return -EINVAL; > > } > > > > -static inline int pwm_set_polarity(struct pwm_device *pwm, > > - enum pwm_polarity polarity) > > +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, > > + enum pwm_polarity polarity) > > { > > return -ENOTSUPP; > > } > > > > -static inline int pwm_enable(struct pwm_device *pwm) > > +static inline int __deprecated pwm_enable(struct pwm_device *pwm) > > { > > return -EINVAL; > > } > > > > -static inline void pwm_disable(struct pwm_device *pwm) > > +static inline void __deprecated pwm_disable(struct pwm_device *pwm) > > { > > } > > > > -- > > 2.5.0 > > >
On Thu, Mar 31, 2016 at 08:54:54PM +0200, Boris Brezillon wrote: > Hi Dmitry, > > On Thu, 31 Mar 2016 10:38:58 -0700 > Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > > > Hi Boris, > > > > On Wed, Mar 30, 2016 at 10:03:55PM +0200, Boris Brezillon wrote: > > > Prefix those function as deprecated to encourage all existing users to > > > switch to pwm_apply_state(). > > > > Why not keep at least some of them as wrappers where we do not need to > > chnage several parameters at once? It is much easier to have a driver > > do: > > > > error = pwm_enable(pwm); > > if (error) > > ... > > > > rather than declaring the state variable, fectch it, adjust and then > > apply. > > True. Actually deprecating the non-atomic API was not my primary goal. > Thierry would you mind if we keep both APIs around? I'm fine with keeping these around, though purely as shortcuts. If users need to modify two parameters at once (e.g. duty cycle and enable) then they should be converted to use the atomic API, otherwise there'd be little point in introduce it. Thierry
diff --git a/include/linux/pwm.h b/include/linux/pwm.h index 4aad4eb..9bac10f 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h @@ -225,8 +225,8 @@ int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state); * * Returns: 0 on success or a negative error code on failure. */ -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, - int period_ns) +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, + int period_ns) { struct pwm_state pstate; @@ -252,8 +252,8 @@ static inline int pwm_config(struct pwm_device *pwm, int duty_ns, * * Returns: 0 on success or a negative error code on failure. */ -static inline int pwm_set_polarity(struct pwm_device *pwm, - enum pwm_polarity polarity) +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, + enum pwm_polarity polarity) { struct pwm_state pstate; @@ -284,7 +284,7 @@ static inline int pwm_set_polarity(struct pwm_device *pwm, * * Returns: 0 on success or a negative error code on failure. */ -static inline int pwm_enable(struct pwm_device *pwm) +static inline int __deprecated pwm_enable(struct pwm_device *pwm) { struct pwm_state pstate; @@ -303,7 +303,7 @@ static inline int pwm_enable(struct pwm_device *pwm) * pwm_disable() - stop a PWM output toggling * @pwm: PWM device */ -static inline void pwm_disable(struct pwm_device *pwm) +static inline void __deprecated pwm_disable(struct pwm_device *pwm) { struct pwm_state pstate; @@ -360,24 +360,24 @@ static inline int pwm_apply_state(struct pwm_device *pwm, return -ENOTSUPP; } -static inline int pwm_config(struct pwm_device *pwm, int duty_ns, - int period_ns) +static inline int __deprecated pwm_config(struct pwm_device *pwm, int duty_ns, + int period_ns) { return -EINVAL; } -static inline int pwm_set_polarity(struct pwm_device *pwm, - enum pwm_polarity polarity) +static inline int __deprecated pwm_set_polarity(struct pwm_device *pwm, + enum pwm_polarity polarity) { return -ENOTSUPP; } -static inline int pwm_enable(struct pwm_device *pwm) +static inline int __deprecated pwm_enable(struct pwm_device *pwm) { return -EINVAL; } -static inline void pwm_disable(struct pwm_device *pwm) +static inline void __deprecated pwm_disable(struct pwm_device *pwm) { }
Prefix those function as deprecated to encourage all existing users to switch to pwm_apply_state(). Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> --- include/linux/pwm.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)