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 | |
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>
-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 */ |