diff options
Diffstat (limited to 'include/linux/mfd')
-rw-r--r-- | include/linux/mfd/wm831x/core.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/mfd/wm831x/core.h b/include/linux/mfd/wm831x/core.h index 592e4fd6ab3f..9fa14cdc1590 100644 --- a/include/linux/mfd/wm831x/core.h +++ b/include/linux/mfd/wm831x/core.h | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/completion.h> | 18 | #include <linux/completion.h> |
19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
20 | #include <linux/list.h> | ||
20 | 21 | ||
21 | /* | 22 | /* |
22 | * Register values. | 23 | * Register values. |
@@ -249,6 +250,12 @@ enum wm831x_parent { | |||
249 | WM8326 = 0x8326, | 250 | WM8326 = 0x8326, |
250 | }; | 251 | }; |
251 | 252 | ||
253 | struct wm831x; | ||
254 | enum wm831x_auxadc; | ||
255 | |||
256 | typedef int (*wm831x_auxadc_read_fn)(struct wm831x *wm831x, | ||
257 | enum wm831x_auxadc input); | ||
258 | |||
252 | struct wm831x { | 259 | struct wm831x { |
253 | struct mutex io_lock; | 260 | struct mutex io_lock; |
254 | 261 | ||
@@ -277,8 +284,9 @@ struct wm831x { | |||
277 | int gpio_update[WM831X_NUM_GPIO_REGS]; | 284 | int gpio_update[WM831X_NUM_GPIO_REGS]; |
278 | 285 | ||
279 | struct mutex auxadc_lock; | 286 | struct mutex auxadc_lock; |
280 | struct completion auxadc_done; | 287 | struct list_head auxadc_pending; |
281 | u16 auxadc_data; | 288 | u16 auxadc_active; |
289 | wm831x_auxadc_read_fn auxadc_read; | ||
282 | 290 | ||
283 | /* The WM831x has a security key blocking access to certain | 291 | /* The WM831x has a security key blocking access to certain |
284 | * registers. The mutex is taken by the accessors for locking | 292 | * registers. The mutex is taken by the accessors for locking |
@@ -305,5 +313,6 @@ void wm831x_device_exit(struct wm831x *wm831x); | |||
305 | int wm831x_device_suspend(struct wm831x *wm831x); | 313 | int wm831x_device_suspend(struct wm831x *wm831x); |
306 | int wm831x_irq_init(struct wm831x *wm831x, int irq); | 314 | int wm831x_irq_init(struct wm831x *wm831x, int irq); |
307 | void wm831x_irq_exit(struct wm831x *wm831x); | 315 | void wm831x_irq_exit(struct wm831x *wm831x); |
316 | void wm831x_auxadc_init(struct wm831x *wm831x); | ||
308 | 317 | ||
309 | #endif | 318 | #endif |