2015-07-08 12:29:46

by Vaibhav Hiremath

[permalink] [raw]
Subject: [PATCH-v6 3/6] mfd: 88pm800: Get pdata from 'device' rather than passing as a parameter

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 <[email protected]>
---
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, &regulator_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


2015-08-24 13:54:42

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH-v6 3/6] mfd: 88pm800: Get pdata from 'device' rather than passing as a parameter

On Wed, 08 Jul 2015, Vaibhav Hiremath wrote:

> 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 <[email protected]>
> ---
> drivers/mfd/88pm800.c | 29 ++++++++++++++---------------
> 1 file changed, 14 insertions(+), 15 deletions(-)

Acked-by: Lee Jones <[email protected]>

> 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, &regulator_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;

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog