From 365d79fc20232dd730723801b7417cca9766dd79 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Wed, 8 Jun 2016 12:44:22 -0700 Subject: [PATCH] greybus: don't key on an enumerated constant The symbol PWMF_ENABLED is defined via an enum, which is not defined at the time the preprocessor passes through "kernel_ver.h". So we can't use it in an #if statement expression. Use the Linux kernel version instead. Change-Id: Id427224b1dfecfd886fcdae89c4bcf711b616439 Signed-off-by: Alex Elder --- drivers/staging/greybus/kernel_ver.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/staging/greybus/kernel_ver.h b/drivers/staging/greybus/kernel_ver.h index 9819c3e5a2ec..fd5a6cc42eaa 100644 --- a/drivers/staging/greybus/kernel_ver.h +++ b/drivers/staging/greybus/kernel_ver.h @@ -328,7 +328,13 @@ static inline void reinit_completion(struct completion *x) } #endif -#ifdef PWMF_ENABLED +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) +#include +/* + * pwm_is_enabled() was first defined in 4.2-rc1 (first commit!). + * PWMF_ENABLED was first defined in 3.5-rc2, but our code is + * always newer than that. +*/ static inline bool pwm_is_enabled(const struct pwm_device *pwm) { return test_bit(PWMF_ENABLED, &pwm->flags); -- 2.39.5