summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2016-06-07 21:33:54 -0700
committerGreg Kroah-Hartman <gregkh@google.com>2016-06-08 09:29:02 -0700
commit44d6449350b866cbea613aabe5aba4aa640791cd (patch)
tree3ca2cab77effe8bbbd58005bff4bcc025f785ff3
parent4d27574cd354bc47758268c2e32a0a47b7aacfc0 (diff)
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 <gregkh@google.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
-rw-r--r--drivers/staging/greybus/kernel_ver.h7
-rw-r--r--drivers/staging/greybus/pwm.c2
2 files changed, 8 insertions, 1 deletions
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);