[PATCH-v6 3/6] mfd: 88pm800: Get pdata from 'device' rather than passing as a parameter
Vaibhav Hiremath
vaibhav.hiremath at linaro.org
Wed Jul 8 05:26:29 PDT 2015
Currently the device_xxx_init() fns take pdata as an input parameter to
the fn, but the cleaner approach would be to use dev_get_platdata() to
get the pdata.
So this patch changes the code accordingly.
Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath at linaro.org>
---
drivers/mfd/88pm800.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c
index 95c418c..af8232f 100644
--- a/drivers/mfd/88pm800.c
+++ b/drivers/mfd/88pm800.c
@@ -254,11 +254,11 @@ static const struct regmap_irq pm800_irqs[] = {
},
};
-static int device_gpadc_init(struct pm80x_chip *chip,
- struct pm80x_platform_data *pdata)
+static int device_gpadc_init(struct pm80x_chip *chip)
{
struct pm80x_subchip *subchip = chip->subchip;
struct regmap *map = subchip->regmap_gpadc;
+ struct pm80x_platform_data *pdata = dev_get_platdata(chip->dev);
int data = 0, mask = 0, ret = 0;
if (!map) {
@@ -320,17 +320,17 @@ out:
return ret;
}
-static int device_onkey_init(struct pm80x_chip *chip,
- struct pm80x_platform_data *pdata)
+static int device_onkey_init(struct pm80x_chip *chip)
{
return mfd_add_devices(chip->dev, 0, &onkey_devs[0],
ARRAY_SIZE(onkey_devs), &onkey_resources[0], 0,
NULL);
}
-static int device_rtc_init(struct pm80x_chip *chip,
- struct pm80x_platform_data *pdata)
+static int device_rtc_init(struct pm80x_chip *chip)
{
+ struct pm80x_platform_data *pdata = dev_get_platdata(chip->dev);
+
if (pdata) {
rtc_devs[0].platform_data = pdata->rtc;
rtc_devs[0].pdata_size =
@@ -341,8 +341,7 @@ static int device_rtc_init(struct pm80x_chip *chip,
ARRAY_SIZE(rtc_devs), NULL, 0, NULL);
}
-static int device_regulator_init(struct pm80x_chip *chip,
- struct pm80x_platform_data *pdata)
+static int device_regulator_init(struct pm80x_chip *chip)
{
return mfd_add_devices(chip->dev, 0, ®ulator_devs[0],
ARRAY_SIZE(regulator_devs), NULL, 0, NULL);
@@ -463,11 +462,11 @@ static void pm800_pages_exit(struct pm80x_chip *chip)
i2c_unregister_device(subchip->gpadc_page);
}
-static int device_800_init(struct pm80x_chip *chip,
- struct pm80x_platform_data *pdata)
+static int device_800_init(struct pm80x_chip *chip)
{
int ret;
unsigned int val;
+ struct pm80x_platform_data *pdata = dev_get_platdata(chip->dev);
/*
* alarm wake up bit will be clear in device_irq_init(),
@@ -483,7 +482,7 @@ static int device_800_init(struct pm80x_chip *chip,
pdata->rtc->rtc_wakeup = 1;
}
- ret = device_gpadc_init(chip, pdata);
+ ret = device_gpadc_init(chip);
if (ret < 0) {
dev_err(chip->dev, "[%s]Failed to init gpadc\n", __func__);
goto out;
@@ -497,19 +496,19 @@ static int device_800_init(struct pm80x_chip *chip,
goto out;
}
- ret = device_onkey_init(chip, pdata);
+ ret = device_onkey_init(chip);
if (ret) {
dev_err(chip->dev, "Failed to add onkey subdev\n");
goto out_dev;
}
- ret = device_rtc_init(chip, pdata);
+ ret = device_rtc_init(chip);
if (ret) {
dev_err(chip->dev, "Failed to add rtc subdev\n");
goto out;
}
- ret = device_regulator_init(chip, pdata);
+ ret = device_regulator_init(chip);
if (ret) {
dev_err(chip->dev, "Failed to add regulators subdev\n");
goto out;
@@ -575,7 +574,7 @@ static int pm800_probe(struct i2c_client *client,
goto err_device_init;
}
- ret = device_800_init(chip, pdata);
+ ret = device_800_init(chip);
if (ret) {
dev_err(chip->dev, "Failed to initialize 88pm800 devices\n");
goto err_device_init;
--
1.9.1
More information about the linux-arm-kernel
mailing list