From: Greg Kroah-Hartman Date: Wed, 8 Jun 2016 04:33:54 +0000 (-0700) Subject: greybus: kernel_ver.h: provide pwm_is_enabled() X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~272 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=44d6449350b866cbea613aabe5aba4aa640791cd;p=cascardo%2Flinux.git greybus: kernel_ver.h: provide pwm_is_enabled() In the 4.7-rc1 kernel release, PWMF_ENABLED is removed and pwm_is_enabled() is the correct way to test if a pwm device is enabled, so provide a version of that function that will work on all older kernels and change the pwm.c driver to use it so that it will work on newer kernels as well. Tested: Tree now builds successfully against 3.14.y, 4.4.y, 4.5.y, 4.6.y, and 4.7-rc2 kernels Signed-off-by: Greg Kroah-Hartman Reviewed-by: Viresh Kumar Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/kernel_ver.h b/drivers/staging/greybus/kernel_ver.h index f6fb3bfcfe7a..9819c3e5a2ec 100644 --- a/drivers/staging/greybus/kernel_ver.h +++ b/drivers/staging/greybus/kernel_ver.h @@ -328,4 +328,11 @@ static inline void reinit_completion(struct completion *x) } #endif +#ifdef PWMF_ENABLED +static inline bool pwm_is_enabled(const struct pwm_device *pwm) +{ + return test_bit(PWMF_ENABLED, &pwm->flags); +} +#endif + #endif /* __GREYBUS_KERNEL_VER_H */ diff --git a/drivers/staging/greybus/pwm.c b/drivers/staging/greybus/pwm.c index b941cb5b5063..713123231251 100644 --- a/drivers/staging/greybus/pwm.c +++ b/drivers/staging/greybus/pwm.c @@ -132,7 +132,7 @@ static void gb_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) { struct gb_pwm_chip *pwmc = pwm_chip_to_gb_pwm_chip(chip); - if (test_bit(PWMF_ENABLED, &pwm->flags)) + if (pwm_is_enabled(pwm)) dev_warn(chip->dev, "freeing PWM device without disabling\n"); gb_pwm_deactivate_operation(pwmc, pwm->hwpwm);