diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-30 15:08:06 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-22 08:57:05 -0500 |
commit | 130a70323c323046b15a76ef1147b1fe700afd10 (patch) | |
tree | 713b588f9cfe1c1424185919cf70ea1041bfc692 | |
parent | 9db4249fa0fb808ea0c27dfe0fcedc1884ebfb5a (diff) |
mfd: wm831x: Convert to devm_regmap_init()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/mfd/wm831x-core.c | 20 | ||||
-rw-r--r-- | drivers/mfd/wm831x-i2c.c | 2 | ||||
-rw-r--r-- | drivers/mfd/wm831x-spi.c | 2 |
3 files changed, 11 insertions, 13 deletions
diff --git a/drivers/mfd/wm831x-core.c b/drivers/mfd/wm831x-core.c index f5e54fae8ada..838056c3493a 100644 --- a/drivers/mfd/wm831x-core.c +++ b/drivers/mfd/wm831x-core.c | |||
@@ -1631,7 +1631,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1631 | ret = wm831x_reg_read(wm831x, WM831X_PARENT_ID); | 1631 | ret = wm831x_reg_read(wm831x, WM831X_PARENT_ID); |
1632 | if (ret < 0) { | 1632 | if (ret < 0) { |
1633 | dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret); | 1633 | dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret); |
1634 | goto err_regmap; | 1634 | goto err; |
1635 | } | 1635 | } |
1636 | switch (ret) { | 1636 | switch (ret) { |
1637 | case 0x6204: | 1637 | case 0x6204: |
@@ -1640,20 +1640,20 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1640 | default: | 1640 | default: |
1641 | dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret); | 1641 | dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret); |
1642 | ret = -EINVAL; | 1642 | ret = -EINVAL; |
1643 | goto err_regmap; | 1643 | goto err; |
1644 | } | 1644 | } |
1645 | 1645 | ||
1646 | ret = wm831x_reg_read(wm831x, WM831X_REVISION); | 1646 | ret = wm831x_reg_read(wm831x, WM831X_REVISION); |
1647 | if (ret < 0) { | 1647 | if (ret < 0) { |
1648 | dev_err(wm831x->dev, "Failed to read revision: %d\n", ret); | 1648 | dev_err(wm831x->dev, "Failed to read revision: %d\n", ret); |
1649 | goto err_regmap; | 1649 | goto err; |
1650 | } | 1650 | } |
1651 | rev = (ret & WM831X_PARENT_REV_MASK) >> WM831X_PARENT_REV_SHIFT; | 1651 | rev = (ret & WM831X_PARENT_REV_MASK) >> WM831X_PARENT_REV_SHIFT; |
1652 | 1652 | ||
1653 | ret = wm831x_reg_read(wm831x, WM831X_RESET_ID); | 1653 | ret = wm831x_reg_read(wm831x, WM831X_RESET_ID); |
1654 | if (ret < 0) { | 1654 | if (ret < 0) { |
1655 | dev_err(wm831x->dev, "Failed to read device ID: %d\n", ret); | 1655 | dev_err(wm831x->dev, "Failed to read device ID: %d\n", ret); |
1656 | goto err_regmap; | 1656 | goto err; |
1657 | } | 1657 | } |
1658 | 1658 | ||
1659 | /* Some engineering samples do not have the ID set, rely on | 1659 | /* Some engineering samples do not have the ID set, rely on |
@@ -1728,7 +1728,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1728 | default: | 1728 | default: |
1729 | dev_err(wm831x->dev, "Unknown WM831x device %04x\n", ret); | 1729 | dev_err(wm831x->dev, "Unknown WM831x device %04x\n", ret); |
1730 | ret = -EINVAL; | 1730 | ret = -EINVAL; |
1731 | goto err_regmap; | 1731 | goto err; |
1732 | } | 1732 | } |
1733 | 1733 | ||
1734 | /* This will need revisiting in future but is OK for all | 1734 | /* This will need revisiting in future but is OK for all |
@@ -1742,7 +1742,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1742 | ret = wm831x_reg_read(wm831x, WM831X_SECURITY_KEY); | 1742 | ret = wm831x_reg_read(wm831x, WM831X_SECURITY_KEY); |
1743 | if (ret < 0) { | 1743 | if (ret < 0) { |
1744 | dev_err(wm831x->dev, "Failed to read security key: %d\n", ret); | 1744 | dev_err(wm831x->dev, "Failed to read security key: %d\n", ret); |
1745 | goto err_regmap; | 1745 | goto err; |
1746 | } | 1746 | } |
1747 | if (ret != 0) { | 1747 | if (ret != 0) { |
1748 | dev_warn(wm831x->dev, "Security key had non-zero value %x\n", | 1748 | dev_warn(wm831x->dev, "Security key had non-zero value %x\n", |
@@ -1755,7 +1755,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1755 | ret = pdata->pre_init(wm831x); | 1755 | ret = pdata->pre_init(wm831x); |
1756 | if (ret != 0) { | 1756 | if (ret != 0) { |
1757 | dev_err(wm831x->dev, "pre_init() failed: %d\n", ret); | 1757 | dev_err(wm831x->dev, "pre_init() failed: %d\n", ret); |
1758 | goto err_regmap; | 1758 | goto err; |
1759 | } | 1759 | } |
1760 | } | 1760 | } |
1761 | 1761 | ||
@@ -1778,7 +1778,7 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1778 | 1778 | ||
1779 | ret = wm831x_irq_init(wm831x, irq); | 1779 | ret = wm831x_irq_init(wm831x, irq); |
1780 | if (ret != 0) | 1780 | if (ret != 0) |
1781 | goto err_regmap; | 1781 | goto err; |
1782 | 1782 | ||
1783 | wm831x_auxadc_init(wm831x); | 1783 | wm831x_auxadc_init(wm831x); |
1784 | 1784 | ||
@@ -1874,9 +1874,8 @@ int wm831x_device_init(struct wm831x *wm831x, unsigned long id, int irq) | |||
1874 | 1874 | ||
1875 | err_irq: | 1875 | err_irq: |
1876 | wm831x_irq_exit(wm831x); | 1876 | wm831x_irq_exit(wm831x); |
1877 | err_regmap: | 1877 | err: |
1878 | mfd_remove_devices(wm831x->dev); | 1878 | mfd_remove_devices(wm831x->dev); |
1879 | regmap_exit(wm831x->regmap); | ||
1880 | return ret; | 1879 | return ret; |
1881 | } | 1880 | } |
1882 | 1881 | ||
@@ -1887,7 +1886,6 @@ void wm831x_device_exit(struct wm831x *wm831x) | |||
1887 | if (wm831x->irq_base) | 1886 | if (wm831x->irq_base) |
1888 | free_irq(wm831x->irq_base + WM831X_IRQ_AUXADC_DATA, wm831x); | 1887 | free_irq(wm831x->irq_base + WM831X_IRQ_AUXADC_DATA, wm831x); |
1889 | wm831x_irq_exit(wm831x); | 1888 | wm831x_irq_exit(wm831x); |
1890 | regmap_exit(wm831x->regmap); | ||
1891 | } | 1889 | } |
1892 | 1890 | ||
1893 | int wm831x_device_suspend(struct wm831x *wm831x) | 1891 | int wm831x_device_suspend(struct wm831x *wm831x) |
diff --git a/drivers/mfd/wm831x-i2c.c b/drivers/mfd/wm831x-i2c.c index cb15609b0a48..2b29caebc9cf 100644 --- a/drivers/mfd/wm831x-i2c.c +++ b/drivers/mfd/wm831x-i2c.c | |||
@@ -37,7 +37,7 @@ static int wm831x_i2c_probe(struct i2c_client *i2c, | |||
37 | i2c_set_clientdata(i2c, wm831x); | 37 | i2c_set_clientdata(i2c, wm831x); |
38 | wm831x->dev = &i2c->dev; | 38 | wm831x->dev = &i2c->dev; |
39 | 39 | ||
40 | wm831x->regmap = regmap_init_i2c(i2c, &wm831x_regmap_config); | 40 | wm831x->regmap = devm_regmap_init_i2c(i2c, &wm831x_regmap_config); |
41 | if (IS_ERR(wm831x->regmap)) { | 41 | if (IS_ERR(wm831x->regmap)) { |
42 | ret = PTR_ERR(wm831x->regmap); | 42 | ret = PTR_ERR(wm831x->regmap); |
43 | dev_err(wm831x->dev, "Failed to allocate register map: %d\n", | 43 | dev_err(wm831x->dev, "Failed to allocate register map: %d\n", |
diff --git a/drivers/mfd/wm831x-spi.c b/drivers/mfd/wm831x-spi.c index 62ef3254105f..745c87945664 100644 --- a/drivers/mfd/wm831x-spi.c +++ b/drivers/mfd/wm831x-spi.c | |||
@@ -40,7 +40,7 @@ static int __devinit wm831x_spi_probe(struct spi_device *spi) | |||
40 | dev_set_drvdata(&spi->dev, wm831x); | 40 | dev_set_drvdata(&spi->dev, wm831x); |
41 | wm831x->dev = &spi->dev; | 41 | wm831x->dev = &spi->dev; |
42 | 42 | ||
43 | wm831x->regmap = regmap_init_spi(spi, &wm831x_regmap_config); | 43 | wm831x->regmap = devm_regmap_init_spi(spi, &wm831x_regmap_config); |
44 | if (IS_ERR(wm831x->regmap)) { | 44 | if (IS_ERR(wm831x->regmap)) { |
45 | ret = PTR_ERR(wm831x->regmap); | 45 | ret = PTR_ERR(wm831x->regmap); |
46 | dev_err(wm831x->dev, "Failed to allocate register map: %d\n", | 46 | dev_err(wm831x->dev, "Failed to allocate register map: %d\n", |