diff options
Diffstat (limited to 'drivers/mfd/wm831x-core.c')
-rw-r--r-- | drivers/mfd/wm831x-core.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/mfd/wm831x-core.c b/drivers/mfd/wm831x-core.c index 1e7aaaf6cc6f..b5347167aa72 100644 --- a/drivers/mfd/wm831x-core.c +++ b/drivers/mfd/wm831x-core.c | |||
@@ -1464,7 +1464,11 @@ static int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1464 | dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret); | 1464 | dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret); |
1465 | goto err; | 1465 | goto err; |
1466 | } | 1466 | } |
1467 | if (ret != 0x6204) { | 1467 | switch (ret) { |
1468 | case 0x6204: | ||
1469 | case 0x6246: | ||
1470 | break; | ||
1471 | default: | ||
1468 | dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret); | 1472 | dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret); |
1469 | ret = -EINVAL; | 1473 | ret = -EINVAL; |
1470 | goto err; | 1474 | goto err; |
@@ -1617,7 +1621,7 @@ static int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1617 | case WM8321: | 1621 | case WM8321: |
1618 | ret = mfd_add_devices(wm831x->dev, -1, | 1622 | ret = mfd_add_devices(wm831x->dev, -1, |
1619 | wm8320_devs, ARRAY_SIZE(wm8320_devs), | 1623 | wm8320_devs, ARRAY_SIZE(wm8320_devs), |
1620 | NULL, 0); | 1624 | NULL, wm831x->irq_base); |
1621 | break; | 1625 | break; |
1622 | 1626 | ||
1623 | default: | 1627 | default: |