]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/mfd/wm831x/core.h
Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify
[karo-tx-linux.git] / include / linux / mfd / wm831x / core.h
index 5915f6e3d9ab763d26f1c57048d8d8b00d6cdf7d..a1239c48b41a0037341e3823868983ca4e5ef18f 100644 (file)
@@ -238,6 +238,15 @@ struct regulator_dev;
 
 #define WM831X_NUM_IRQ_REGS 5
 
+enum wm831x_parent {
+       WM8310 = 0x8310,
+       WM8311 = 0x8311,
+       WM8312 = 0x8312,
+       WM8320 = 0x8320,
+       WM8321 = 0x8321,
+       WM8325 = 0x8325,
+};
+
 struct wm831x {
        struct mutex io_lock;
 
@@ -256,8 +265,9 @@ struct wm831x {
        int irq_masks_cache[WM831X_NUM_IRQ_REGS]; /* Cached hardware value */
 
        /* Chip revision based flags */
-       unsigned has_gpio_ena:1;  /* Has GPIO enable bit */
-       unsigned has_cs_sts:1;    /* Has current sink status bit */
+       unsigned has_gpio_ena:1;         /* Has GPIO enable bit */
+       unsigned has_cs_sts:1;           /* Has current sink status bit */
+       unsigned charger_irq_wake:1;     /* Are charger IRQs a wake source? */
 
        int num_gpio;
 
@@ -284,6 +294,9 @@ int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg,
 int wm831x_bulk_read(struct wm831x *wm831x, unsigned short reg,
                     int count, u16 *buf);
 
+int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq);
+void wm831x_device_exit(struct wm831x *wm831x);
+int wm831x_device_suspend(struct wm831x *wm831x);
 int wm831x_irq_init(struct wm831x *wm831x, int irq);
 void wm831x_irq_exit(struct wm831x *wm831x);