|
@@ -1455,7 +1455,11 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq)
|
|
|
dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret);
|
|
|
goto err;
|
|
|
}
|
|
|
- if (ret != 0x6204) {
|
|
|
+ switch (ret) {
|
|
|
+ case 0x6204:
|
|
|
+ case 0x6246:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret);
|
|
|
ret = -EINVAL;
|
|
|
goto err;
|
|
@@ -1620,7 +1624,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq)
|
|
|
case WM8325:
|
|
|
ret = mfd_add_devices(wm831x->dev, -1,
|
|
|
wm8320_devs, ARRAY_SIZE(wm8320_devs),
|
|
|
- NULL, 0);
|
|
|
+ NULL, wm831x->irq_base);
|
|
|
break;
|
|
|
|
|
|
default:
|