Merge branch 'for-4.9/core' into for-next
This commit is contained in:
Коммит
51f01e4cba
|
@ -339,6 +339,8 @@ int pwmchip_remove(struct pwm_chip *chip)
|
|||
unsigned int i;
|
||||
int ret = 0;
|
||||
|
||||
pwmchip_sysfs_unexport_children(chip);
|
||||
|
||||
mutex_lock(&pwm_lock);
|
||||
|
||||
for (i = 0; i < chip->npwm; i++) {
|
||||
|
|
|
@ -409,6 +409,24 @@ void pwmchip_sysfs_unexport(struct pwm_chip *chip)
|
|||
}
|
||||
}
|
||||
|
||||
void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
|
||||
{
|
||||
struct device *parent;
|
||||
unsigned int i;
|
||||
|
||||
parent = class_find_device(&pwm_class, NULL, chip,
|
||||
pwmchip_sysfs_match);
|
||||
if (!parent)
|
||||
return;
|
||||
|
||||
for (i = 0; i < chip->npwm; i++) {
|
||||
struct pwm_device *pwm = &chip->pwms[i];
|
||||
|
||||
if (test_bit(PWMF_EXPORTED, &pwm->flags))
|
||||
pwm_unexport_child(parent, pwm);
|
||||
}
|
||||
}
|
||||
|
||||
static int __init pwm_sysfs_init(void)
|
||||
{
|
||||
return class_register(&pwm_class);
|
||||
|
|
|
@ -641,6 +641,7 @@ static inline void pwm_remove_table(struct pwm_lookup *table, size_t num)
|
|||
#ifdef CONFIG_PWM_SYSFS
|
||||
void pwmchip_sysfs_export(struct pwm_chip *chip);
|
||||
void pwmchip_sysfs_unexport(struct pwm_chip *chip);
|
||||
void pwmchip_sysfs_unexport_children(struct pwm_chip *chip);
|
||||
#else
|
||||
static inline void pwmchip_sysfs_export(struct pwm_chip *chip)
|
||||
{
|
||||
|
@ -649,6 +650,10 @@ static inline void pwmchip_sysfs_export(struct pwm_chip *chip)
|
|||
static inline void pwmchip_sysfs_unexport(struct pwm_chip *chip)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void pwmchip_sysfs_unexport_children(struct pwm_chip *chip)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_PWM_SYSFS */
|
||||
|
||||
#endif /* __LINUX_PWM_H */
|
||||
|
|
Загрузка…
Ссылка в новой задаче