From: Laxman Dewangan <ldewangan@nvidia.com>
To: <lee.jones@linaro.org>, <milo.kim@ti.com>,
<cw00.choi@samsung.com>, <k.kozlowski@samsung.com>
Cc: <sbkim73@samsung.com>, <tony@atomide.com>,
<linux-kernel@vger.kernel.org>,
<linux-samsung-soc@vger.kernel.org>, <linux-omap@vger.kernel.org>,
"Laxman Dewangan" <ldewangan@nvidia.com>
Subject: [PATCH 5/7] mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
Date: Thu, 21 Apr 2016 17:55:56 +0530 [thread overview]
Message-ID: <1461241558-26983-6-git-send-email-ldewangan@nvidia.com> (raw)
In-Reply-To: <1461241558-26983-1-git-send-email-ldewangan@nvidia.com>
Use devm_mfd_add_devices() for adding MFD child devices and
devm_regmap_add_irq_chip() for IRQ chip registration.
This reduces the error code path and .remove callback for removing
MFD child devices and deleting IRQ chip data.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Sangbeom Kim <sbkim73@samsung.com>
CC: Krzysztof Kozlowski <k.kozlowski@samsung.com>
CC: linux-samsung-soc@vger.kernel.org
---
drivers/mfd/sec-core.c | 20 +++-----------------
drivers/mfd/sec-irq.c | 14 +++++---------
2 files changed, 8 insertions(+), 26 deletions(-)
diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index 400e1d7..ca6b80d 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -481,29 +481,16 @@ static int sec_pmic_probe(struct i2c_client *i2c,
/* If this happens the probe function is problem */
BUG();
}
- ret = mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, NULL,
- 0, NULL);
+ ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs,
+ NULL, 0, NULL);
if (ret)
- goto err_mfd;
+ return ret;
device_init_wakeup(sec_pmic->dev, sec_pmic->wakeup);
sec_pmic_configure(sec_pmic);
sec_pmic_dump_rev(sec_pmic);
return ret;
-
-err_mfd:
- sec_irq_exit(sec_pmic);
- return ret;
-}
-
-static int sec_pmic_remove(struct i2c_client *i2c)
-{
- struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c);
-
- mfd_remove_devices(sec_pmic->dev);
- sec_irq_exit(sec_pmic);
- return 0;
}
static void sec_pmic_shutdown(struct i2c_client *i2c)
@@ -583,7 +570,6 @@ static struct i2c_driver sec_pmic_driver = {
.of_match_table = of_match_ptr(sec_dt_match),
},
.probe = sec_pmic_probe,
- .remove = sec_pmic_remove,
.shutdown = sec_pmic_shutdown,
.id_table = sec_pmic_id,
};
diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c
index d77de43..5eb59c233d5 100644
--- a/drivers/mfd/sec-irq.c
+++ b/drivers/mfd/sec-irq.c
@@ -483,10 +483,11 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic)
return -EINVAL;
}
- ret = regmap_add_irq_chip(sec_pmic->regmap_pmic, sec_pmic->irq,
- IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
- sec_pmic->irq_base, sec_irq_chip,
- &sec_pmic->irq_data);
+ ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic,
+ sec_pmic->irq,
+ IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
+ sec_pmic->irq_base, sec_irq_chip,
+ &sec_pmic->irq_data);
if (ret != 0) {
dev_err(sec_pmic->dev, "Failed to register IRQ chip: %d\n", ret);
return ret;
@@ -500,8 +501,3 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic)
return 0;
}
-
-void sec_irq_exit(struct sec_pmic_dev *sec_pmic)
-{
- regmap_del_irq_chip(sec_pmic->irq, sec_pmic->irq_data);
-}
--
2.1.4
next prev parent reply other threads:[~2016-04-21 12:38 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-21 12:25 [PATCH 0/7] mfd: " Laxman Dewangan
2016-04-21 12:25 ` [PATCH 1/7] mfd: as3722: " Laxman Dewangan
2016-04-28 9:07 ` Lee Jones
2016-04-21 12:25 ` [PATCH 2/7] mfd: lp8788: " Laxman Dewangan
2016-04-21 23:15 ` Kim, Milo
2016-04-22 8:50 ` Laxman Dewangan
2016-04-21 12:25 ` [PATCH 3/7] mfd: max77686: " Laxman Dewangan
2016-04-25 10:57 ` Krzysztof Kozlowski
2016-04-28 9:01 ` Lee Jones
2016-04-28 10:02 ` Laxman Dewangan
2016-04-28 10:39 ` Krzysztof Kozlowski
2016-04-28 9:08 ` Lee Jones
2016-04-21 12:25 ` [PATCH 4/7] mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq Laxman Dewangan
2016-04-28 9:08 ` Lee Jones
2016-04-21 12:25 ` Laxman Dewangan [this message]
2016-04-25 12:45 ` [PATCH 5/7] mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip Krzysztof Kozlowski
2016-04-28 9:10 ` Lee Jones
2016-04-21 12:25 ` [PATCH 6/7] mfd: tps65910: " Laxman Dewangan
2016-04-28 9:10 ` Lee Jones
2016-04-21 12:25 ` [PATCH 7/7] mfd: wl1273-core: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan
2016-04-28 9:11 ` Lee Jones
2016-04-25 10:56 ` [PATCH 0/7] mfd: Use devm_mfd_add_devices and devm_regmap_add_irq_chip Krzysztof Kozlowski
2016-04-25 12:52 ` Laxman Dewangan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461241558-26983-6-git-send-email-ldewangan@nvidia.com \
--to=ldewangan@nvidia.com \
--cc=cw00.choi@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=milo.kim@ti.com \
--cc=sbkim73@samsung.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®