diff options
| author | Tushar Behera <tushar.behera@linaro.org> | 2012-09-12 06:01:46 -0400 |
|---|---|---|
| committer | Thierry Reding <thierry.reding@avionic-design.de> | 2012-09-20 06:52:02 -0400 |
| commit | 0bcf168b024871c64eb5df157739efd2ae9b0bdf (patch) | |
| tree | 565639539efdc981bd9a7a83dfa1310f8553f902 /include/linux | |
| parent | 7b27c160c68152581c702b9f1fe362338d2a0cad (diff) | |
pwm: Fix compilation error when CONFIG_PWM is not defined
Add dummy implemention of public symbols for compilation-safe inclusion
of include/linux/pwm.h file when CONFIG_PWM is not defined.
Reported-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/pwm.h | 82 |
1 files changed, 80 insertions, 2 deletions
diff --git a/include/linux/pwm.h b/include/linux/pwm.h index 40c764318957..112b31436848 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h | |||
| @@ -1,11 +1,13 @@ | |||
| 1 | #ifndef __LINUX_PWM_H | 1 | #ifndef __LINUX_PWM_H |
| 2 | #define __LINUX_PWM_H | 2 | #define __LINUX_PWM_H |
| 3 | 3 | ||
| 4 | #include <linux/err.h> | ||
| 4 | #include <linux/of.h> | 5 | #include <linux/of.h> |
| 5 | 6 | ||
| 6 | struct pwm_device; | 7 | struct pwm_device; |
| 7 | struct seq_file; | 8 | struct seq_file; |
| 8 | 9 | ||
| 10 | #if IS_ENABLED(CONFIG_PWM) || IS_ENABLED(CONFIG_HAVE_PWM) | ||
| 9 | /* | 11 | /* |
| 10 | * pwm_request - request a PWM device | 12 | * pwm_request - request a PWM device |
| 11 | */ | 13 | */ |
| @@ -30,8 +32,31 @@ int pwm_enable(struct pwm_device *pwm); | |||
| 30 | * pwm_disable - stop a PWM output toggling | 32 | * pwm_disable - stop a PWM output toggling |
| 31 | */ | 33 | */ |
| 32 | void pwm_disable(struct pwm_device *pwm); | 34 | void pwm_disable(struct pwm_device *pwm); |
| 35 | #else | ||
| 36 | static inline struct pwm_device *pwm_request(int pwm_id, const char *label) | ||
| 37 | { | ||
| 38 | return ERR_PTR(-ENODEV); | ||
| 39 | } | ||
| 40 | |||
| 41 | static inline void pwm_free(struct pwm_device *pwm) | ||
| 42 | { | ||
| 43 | } | ||
| 44 | |||
| 45 | static inline int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) | ||
| 46 | { | ||
| 47 | return -EINVAL; | ||
| 48 | } | ||
| 49 | |||
| 50 | static inline int pwm_enable(struct pwm_device *pwm) | ||
| 51 | { | ||
| 52 | return -EINVAL; | ||
| 53 | } | ||
| 54 | |||
| 55 | static inline void pwm_disable(struct pwm_device *pwm) | ||
| 56 | { | ||
| 57 | } | ||
| 58 | #endif | ||
| 33 | 59 | ||
| 34 | #ifdef CONFIG_PWM | ||
| 35 | struct pwm_chip; | 60 | struct pwm_chip; |
| 36 | 61 | ||
| 37 | /** | 62 | /** |
| @@ -136,6 +161,7 @@ struct pwm_chip { | |||
| 136 | unsigned int of_pwm_n_cells; | 161 | unsigned int of_pwm_n_cells; |
| 137 | }; | 162 | }; |
| 138 | 163 | ||
| 164 | #if IS_ENABLED(CONFIG_PWM) | ||
| 139 | int pwm_set_chip_data(struct pwm_device *pwm, void *data); | 165 | int pwm_set_chip_data(struct pwm_device *pwm, void *data); |
| 140 | void *pwm_get_chip_data(struct pwm_device *pwm); | 166 | void *pwm_get_chip_data(struct pwm_device *pwm); |
| 141 | 167 | ||
| @@ -150,6 +176,54 @@ void pwm_put(struct pwm_device *pwm); | |||
| 150 | 176 | ||
| 151 | struct pwm_device *devm_pwm_get(struct device *dev, const char *consumer); | 177 | struct pwm_device *devm_pwm_get(struct device *dev, const char *consumer); |
| 152 | void devm_pwm_put(struct device *dev, struct pwm_device *pwm); | 178 | void devm_pwm_put(struct device *dev, struct pwm_device *pwm); |
| 179 | #else | ||
| 180 | static inline int pwm_set_chip_data(struct pwm_device *pwm, void *data) | ||
| 181 | { | ||
| 182 | return -EINVAL; | ||
| 183 | } | ||
| 184 | |||
| 185 | static inline void *pwm_get_chip_data(struct pwm_device *pwm) | ||
| 186 | { | ||
| 187 | return NULL; | ||
| 188 | } | ||
| 189 | |||
| 190 | static inline int pwmchip_add(struct pwm_chip *chip) | ||
| 191 | { | ||
| 192 | return -EINVAL; | ||
| 193 | } | ||
| 194 | |||
| 195 | static inline int pwmchip_remove(struct pwm_chip *chip) | ||
| 196 | { | ||
| 197 | return -EINVAL; | ||
| 198 | } | ||
| 199 | |||
| 200 | static inline struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip, | ||
| 201 | unsigned int index, | ||
| 202 | const char *label) | ||
| 203 | { | ||
| 204 | return ERR_PTR(-ENODEV); | ||
| 205 | } | ||
| 206 | |||
| 207 | static inline struct pwm_device *pwm_get(struct device *dev, | ||
| 208 | const char *consumer) | ||
| 209 | { | ||
| 210 | return ERR_PTR(-ENODEV); | ||
| 211 | } | ||
| 212 | |||
| 213 | static inline void pwm_put(struct pwm_device *pwm) | ||
| 214 | { | ||
| 215 | } | ||
| 216 | |||
| 217 | static inline struct pwm_device *devm_pwm_get(struct device *dev, | ||
| 218 | const char *consumer) | ||
| 219 | { | ||
| 220 | return ERR_PTR(-ENODEV); | ||
| 221 | } | ||
| 222 | |||
| 223 | static inline void devm_pwm_put(struct device *dev, struct pwm_device *pwm) | ||
| 224 | { | ||
| 225 | } | ||
| 226 | #endif | ||
| 153 | 227 | ||
| 154 | struct pwm_lookup { | 228 | struct pwm_lookup { |
| 155 | struct list_head list; | 229 | struct list_head list; |
| @@ -167,8 +241,12 @@ struct pwm_lookup { | |||
| 167 | .con_id = _con_id, \ | 241 | .con_id = _con_id, \ |
| 168 | } | 242 | } |
| 169 | 243 | ||
| 244 | #if IS_ENABLED(CONFIG_PWM) | ||
| 170 | void pwm_add_table(struct pwm_lookup *table, size_t num); | 245 | void pwm_add_table(struct pwm_lookup *table, size_t num); |
| 171 | 246 | #else | |
| 247 | static inline void pwm_add_table(struct pwm_lookup *table, size_t num) | ||
| 248 | { | ||
| 249 | } | ||
| 172 | #endif | 250 | #endif |
| 173 | 251 | ||
| 174 | #endif /* __LINUX_PWM_H */ | 252 | #endif /* __LINUX_PWM_H */ |
