git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mfd: Provide platform data for WM831x GPIO configuration
[pandora-kernel.git]
/
drivers
/
mfd
/
wm831x-core.c
diff --git
a/drivers/mfd/wm831x-core.c
b/drivers/mfd/wm831x-core.c
index
3fe9a58
..
265f75f
100644
(file)
--- a/
drivers/mfd/wm831x-core.c
+++ b/
drivers/mfd/wm831x-core.c
@@
-1442,7
+1442,7
@@
int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq)
struct wm831x_pdata *pdata = wm831x->dev->platform_data;
int rev;
enum wm831x_parent parent;
struct wm831x_pdata *pdata = wm831x->dev->platform_data;
int rev;
enum wm831x_parent parent;
- int ret;
+ int ret
, i
;
mutex_init(&wm831x->io_lock);
mutex_init(&wm831x->key_lock);
mutex_init(&wm831x->io_lock);
mutex_init(&wm831x->key_lock);
@@
-1581,6
+1581,17
@@
int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq)
}
}
}
}
+ if (pdata) {
+ for (i = 0; i < ARRAY_SIZE(pdata->gpio_defaults); i++) {
+ if (!pdata->gpio_defaults[i])
+ continue;
+
+ wm831x_reg_write(wm831x,
+ WM831X_GPIO1_CONTROL + i,
+ pdata->gpio_defaults[i] & 0xffff);
+ }
+ }
+
ret = wm831x_irq_init(wm831x, irq);
if (ret != 0)
goto err;
ret = wm831x_irq_init(wm831x, irq);
if (ret != 0)
goto err;