mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
pwm: Add consumer device link
Add a device link between the PWM consumer and the PWM provider. This enforces the PWM user to get suspended before the PWM provider. It allows proper synchronization of suspend/resume sequences: the PWM user is responsible for properly stopping PWM, before the provider gets suspended: see [1]. Add the device link in: - of_pwm_get() - pwm_get() - devm_*pwm_get() variants as it requires a reference to the device for the PWM consumer. [1] https://lkml.org/lkml/2019/2/5/770 Suggested-by: Thierry Reding <thierry.reding@gmail.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
cce4a833fc
commit
b2c200e3f2
2 changed files with 51 additions and 5 deletions
|
@ -405,7 +405,8 @@ struct pwm_device *of_pwm_xlate_with_flags(struct pwm_chip *pc,
|
|||
const struct of_phandle_args *args);
|
||||
|
||||
struct pwm_device *pwm_get(struct device *dev, const char *con_id);
|
||||
struct pwm_device *of_pwm_get(struct device_node *np, const char *con_id);
|
||||
struct pwm_device *of_pwm_get(struct device *dev, struct device_node *np,
|
||||
const char *con_id);
|
||||
void pwm_put(struct pwm_device *pwm);
|
||||
|
||||
struct pwm_device *devm_pwm_get(struct device *dev, const char *con_id);
|
||||
|
@ -493,7 +494,8 @@ static inline struct pwm_device *pwm_get(struct device *dev,
|
|||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct pwm_device *of_pwm_get(struct device_node *np,
|
||||
static inline struct pwm_device *of_pwm_get(struct device *dev,
|
||||
struct device_node *np,
|
||||
const char *con_id)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue