From 53c31b3437a6400c6ffc2c9315680217ad84cb6d Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 17 Mar 2014 10:19:17 +0100 Subject: mfd: sec-core: Add of_compatible strings for clock MFD cells Add of_compatible strings for S5M8767 and S2MPS14 clock MFD cells. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Tomasz Figa Signed-off-by: Lee Jones --- drivers/mfd/sec-core.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/mfd/sec-core.c') diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 281a82747275..e9bf73ba6e69 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -60,6 +60,7 @@ static const struct mfd_cell s5m8767_devs[] = { .name = "s5m-rtc", }, { .name = "s5m8767-clk", + .of_compatible = "samsung,s5m8767-clk", } }; @@ -68,6 +69,7 @@ static const struct mfd_cell s2mps11_devs[] = { .name = "s2mps11-pmic", }, { .name = "s2mps11-clk", + .of_compatible = "samsung,s2mps11-clk", } }; @@ -78,6 +80,7 @@ static const struct mfd_cell s2mps14_devs[] = { .name = "s2mps14-rtc", }, { .name = "s2mps14-clk", + .of_compatible = "samsung,s2mps14-clk", } }; -- cgit v1.2.3 From 8c66eeced1989c98104783832ab445305fa8c7a3 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Tue, 18 Mar 2014 13:57:50 +0100 Subject: mfd: sec-core: Fix I2C dummy device resource leak on probe failure Dummy I2C device allocated in sec_pmic_probe() leaked if devm_regmap_init_i2c() failed. Unregister it before returning from probe. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Sachin Kamat Signed-off-by: Lee Jones --- drivers/mfd/sec-core.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'drivers/mfd/sec-core.c') diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index e9bf73ba6e69..91405e94cfee 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -347,7 +347,7 @@ static int sec_pmic_probe(struct i2c_client *i2c, ret = PTR_ERR(sec_pmic->regmap_rtc); dev_err(&i2c->dev, "Failed to allocate RTC register map: %d\n", ret); - return ret; + goto err_regmap_rtc; } if (pdata && pdata->cfg_pmic_irq) @@ -388,14 +388,15 @@ static int sec_pmic_probe(struct i2c_client *i2c, } if (ret) - goto err; + goto err_mfd; device_init_wakeup(sec_pmic->dev, sec_pmic->wakeup); return ret; -err: +err_mfd: sec_irq_exit(sec_pmic); +err_regmap_rtc: i2c_unregister_device(sec_pmic->rtc); return ret; } -- cgit v1.2.3 From 5a78401623740c892868d5929b33f5cda8fe819e Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Tue, 18 Mar 2014 14:11:26 +0100 Subject: mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initialize the 'regmap_rtc' on S2MPA01 to some sane value. Sane at least for S5M87X chipsets, not S2MPS/S2MPA but it won't be used because rtc-s5m driver does not support S2MPA01. This fixes following error: drivers/mfd/sec-core.c:342:45: warning: ‘regmap_rtc’ may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Krzysztof Kozlowski Acked-by: Sachin Kamat Signed-off-by: Lee Jones --- drivers/mfd/sec-core.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/mfd/sec-core.c') diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 91405e94cfee..1cf27521fff4 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -298,6 +298,13 @@ static int sec_pmic_probe(struct i2c_client *i2c, switch (sec_pmic->device_type) { case S2MPA01: regmap = &s2mpa01_regmap_config; + /* + * The rtc-s5m driver does not support S2MPA01 and there + * is no mfd_cell for S2MPA01 RTC device. + * However we must pass something to devm_regmap_init_i2c() + * so use S5M-like regmap config even though it wouldn't work. + */ + regmap_rtc = &s5m_rtc_regmap_config; break; case S2MPS11X: regmap = &s2mps11_regmap_config; -- cgit v1.2.3