All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Ortiz <sameo@linux.intel.com>
To: linux-kernel <linux-kernel@vger.kernel.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>,
	Haojian Zhuang <haojian.zhuang@marvell.com>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Liam Girdwood <lrg@slimlogic.co.uk>,
	Richard Purdie <rpurdie@rpsys.net>
Subject: [PATCH 17/19] mfd: Use mfd cell platform_data for 88pm860x cells platform bits
Date: Mon,  9 May 2011 02:32:09 +0200	[thread overview]
Message-ID: <1304901131-7104-18-git-send-email-sameo@linux.intel.com> (raw)
In-Reply-To: <1304901131-7104-1-git-send-email-sameo@linux.intel.com>

With the addition of a platform device mfd_cell pointer, MFD drivers
can go back to passing platform back to their sub drivers.
This allows for an mfd_cell->mfd_data removal and thus keep the
sub drivers MFD agnostic. This is mostly needed for non MFD aware
sub drivers.

Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
---
 drivers/leds/leds-88pm860x.c          |    7 +------
 drivers/mfd/88pm860x-core.c           |   18 ++++++++++++------
 drivers/regulator/88pm8607.c          |    7 +------
 drivers/video/backlight/88pm860x_bl.c |    7 +------
 4 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/drivers/leds/leds-88pm860x.c b/drivers/leds/leds-88pm860x.c
index 416def8..0d4c166 100644
--- a/drivers/leds/leds-88pm860x.c
+++ b/drivers/leds/leds-88pm860x.c
@@ -17,7 +17,6 @@
 #include <linux/leds.h>
 #include <linux/slab.h>
 #include <linux/workqueue.h>
-#include <linux/mfd/core.h>
 #include <linux/mfd/88pm860x.h>
 
 #define LED_PWM_SHIFT		(3)
@@ -171,7 +170,6 @@ static int pm860x_led_probe(struct platform_device *pdev)
 	struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent);
 	struct pm860x_led_pdata *pdata;
 	struct pm860x_led *data;
-	struct mfd_cell *cell;
 	struct resource *res;
 	int ret;
 
@@ -181,10 +179,7 @@ static int pm860x_led_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	cell = pdev->dev.platform_data;
-	if (cell == NULL)
-		return -ENODEV;
-	pdata = cell->mfd_data;
+	pdata = pdev->dev.platform_data;
 	if (pdata == NULL) {
 		dev_err(&pdev->dev, "No platform data!\n");
 		return -EINVAL;
diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c
index 011cb6c..801aff7 100644
--- a/drivers/mfd/88pm860x-core.c
+++ b/drivers/mfd/88pm860x-core.c
@@ -516,7 +516,8 @@ static void __devinit device_bk_init(struct pm860x_chip *chip,
 	for (i = 0; i < pdata->num_backlights; i++) {
 		memcpy(&bk_pdata[i], &pdata->backlight[i],
 			sizeof(struct pm860x_backlight_pdata));
-		bk_devs[i].mfd_data = &bk_pdata[i];
+		bk_devs[i].platform_data = &bk_pdata[i];
+		bk_devs[i].pdata_size = sizeof(bk_pdata[i]);
 
 		for (j = 0; j < ARRAY_SIZE(bk_devs); j++) {
 			id = bk_resources[j].start;
@@ -553,7 +554,8 @@ static void __devinit device_led_init(struct pm860x_chip *chip,
 	for (i = 0; i < pdata->num_leds; i++) {
 		memcpy(&led_pdata[i], &pdata->led[i],
 			sizeof(struct pm860x_led_pdata));
-		led_devs[i].mfd_data = &led_pdata[i];
+		led_devs[i].platform_data = &led_pdata[i];
+		led_devs[i].pdata_size = sizeof(led_pdata[i]);
 
 		for (j = 0; j < ARRAY_SIZE(led_devs); j++) {
 			id = led_resources[j].start;
@@ -617,7 +619,8 @@ static void __devinit device_regulator_init(struct pm860x_chip *chip,
 		}
 		memcpy(&regulator_pdata[i], &pdata->regulator[i],
 			sizeof(struct regulator_init_data));
-		regulator_devs[i].mfd_data = &regulator_pdata[i];
+		regulator_devs[i].platform_data = &regulator_pdata[i];
+		regulator_devs[i].pdata_size = sizeof(regulator_pdata[i]);
 		regulator_devs[i].num_resources = 1;
 		regulator_devs[i].resources = &regulator_resources[j];
 
@@ -642,7 +645,8 @@ static void __devinit device_touch_init(struct pm860x_chip *chip,
 		return;
 
 	memcpy(&touch_pdata, pdata->touch, sizeof(struct pm860x_touch_pdata));
-	touch_devs[0].mfd_data = &touch_pdata;
+	touch_devs[0].platform_data = &touch_pdata;
+	touch_devs[0].pdata_size = sizeof(touch_pdata);
 	touch_devs[0].num_resources = ARRAY_SIZE(touch_resources);
 	touch_devs[0].resources = &touch_resources[0];
 	ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
@@ -662,7 +666,8 @@ static void __devinit device_power_init(struct pm860x_chip *chip,
 		return;
 
 	memcpy(&power_pdata, pdata->power, sizeof(struct pm860x_power_pdata));
-	power_devs[0].mfd_data = &power_pdata;
+	power_devs[0].platform_data = &power_pdata;
+	power_devs[0].pdata_size = sizeof(power_pdata);
 	power_devs[0].num_resources = ARRAY_SIZE(battery_resources);
 	power_devs[0].resources = &battery_resources[0],
 	ret = mfd_add_devices(chip->dev, 0, &power_devs[0], 1,
@@ -670,7 +675,8 @@ static void __devinit device_power_init(struct pm860x_chip *chip,
 	if (ret < 0)
 		dev_err(chip->dev, "Failed to add battery subdev\n");
 
-	power_devs[1].mfd_data = &power_pdata;
+	power_devs[1].platform_data = &power_pdata;
+	power_devs[0].pdata_size = sizeof(power_pdata);
 	power_devs[1].num_resources = ARRAY_SIZE(charger_resources);
 	power_devs[1].resources = &charger_resources[0],
 	ret = mfd_add_devices(chip->dev, 0, &power_devs[1], 1,
diff --git a/drivers/regulator/88pm8607.c b/drivers/regulator/88pm8607.c
index 8592512..784ea77 100644
--- a/drivers/regulator/88pm8607.c
+++ b/drivers/regulator/88pm8607.c
@@ -15,7 +15,6 @@
 #include <linux/platform_device.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
-#include <linux/mfd/core.h>
 #include <linux/mfd/88pm860x.h>
 
 struct pm8607_regulator_info {
@@ -400,13 +399,9 @@ static int __devinit pm8607_regulator_probe(struct platform_device *pdev)
 	struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent);
 	struct pm8607_regulator_info *info = NULL;
 	struct regulator_init_data *pdata;
-	struct mfd_cell *cell;
 	int i;
 
-	cell = pdev->dev.platform_data;
-	if (cell == NULL)
-		return -ENODEV;
-	pdata = cell->mfd_data;
+	pdata = pdev->dev.platform_data;
 	if (pdata == NULL)
 		return -EINVAL;
 
diff --git a/drivers/video/backlight/88pm860x_bl.c b/drivers/video/backlight/88pm860x_bl.c
index c8b520e..c04b94d 100644
--- a/drivers/video/backlight/88pm860x_bl.c
+++ b/drivers/video/backlight/88pm860x_bl.c
@@ -16,7 +16,6 @@
 #include <linux/fb.h>
 #include <linux/i2c.h>
 #include <linux/backlight.h>
-#include <linux/mfd/core.h>
 #include <linux/mfd/88pm860x.h>
 
 #define MAX_BRIGHTNESS		(0xFF)
@@ -168,7 +167,6 @@ static int pm860x_backlight_probe(struct platform_device *pdev)
 	struct pm860x_backlight_pdata *pdata = NULL;
 	struct pm860x_backlight_data *data;
 	struct backlight_device *bl;
-	struct mfd_cell *cell;
 	struct resource *res;
 	struct backlight_properties props;
 	unsigned char value;
@@ -181,10 +179,7 @@ static int pm860x_backlight_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	cell = pdev->dev.platform_data;
-	if (cell == NULL)
-		return -ENODEV;
-	pdata = cell->mfd_data;
+	pdata = pdev->dev.platform_data;
 	if (pdata == NULL) {
 		dev_err(&pdev->dev, "platform data isn't assigned to "
 			"backlight\n");
-- 
1.7.2.3


  parent reply	other threads:[~2011-05-09  0:33 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1304901131-7104-1-git-send-email-sameo@linux.intel.com>
2011-05-09  0:31 ` [PATCH 02/19] mfd: Use mfd cell platform_data for ab3550 cells platform bits Samuel Ortiz
2011-05-09  7:01   ` Linus Walleij
2011-05-09  0:31 ` [PATCH 03/19] mfd: Use mfd cell platform_data for ab3100 " Samuel Ortiz
2011-05-09  7:02   ` Linus Walleij
2011-05-09  0:31 ` [PATCH 04/19] mmc: Use device platform_data to retrieve tmio_mmc " Samuel Ortiz
2011-05-09  0:31 ` [PATCH 05/19] w1: Use device platform_data to retrieve ds1wm " Samuel Ortiz
2011-05-09  0:31 ` [PATCH 06/19] mfd: Pass htc-pasic3 led platform data through the cell platform_data Samuel Ortiz
2011-05-09 10:20   ` Paul Parsons
2011-05-09 11:25     ` Samuel Ortiz
2011-05-09  0:31 ` [PATCH 07/19] mfd: Use mfd cell platform_data for wl1273 cells platform bits Samuel Ortiz
2011-06-09  8:43   ` Matti J. Aaltonen
2011-05-09  0:32 ` [PATCH 08/19] fb: Use platform_data to retrieve tmiofb " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 09/19] mtd: Use platform_data to retrieve tmio_nand " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 10/19] mfd: Use mfd cell platform_data for timberdale cells " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 11/19] mfd: Use mfd cell platform_data for rdc321x " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 12/19] mfd: Use mfd cell platform_data for wm8400 " Samuel Ortiz
2011-05-09  7:13   ` Mark Brown
2011-05-10  8:45     ` Samuel Ortiz
2011-05-10  9:10       ` Mark Brown
2011-05-11  9:03         ` [PATCH v1 " Samuel Ortiz
2011-05-11  9:20           ` Mark Brown
2011-05-09  0:32 ` [PATCH 13/19] mfd: Use mfd cell platform_data for mc13xxx " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 14/19] mfd: Use mfd cell platform_data for janz " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 15/19] mfd: Use mfd cell platform_data for twl4030 codec " Samuel Ortiz
2011-05-09  0:32 ` [PATCH 16/19] mfd: Use mfd cell platform_data for tps6105x " Samuel Ortiz
2011-05-09  7:05   ` Linus Walleij
2011-05-11  8:23     ` Samuel Ortiz
2011-05-11 19:41       ` Linus Walleij
2011-05-11  9:05     ` [PATCH v1 " Samuel Ortiz
2011-05-09  0:32 ` Samuel Ortiz [this message]
2011-05-09  8:21   ` [PATCH 17/19] mfd: Use mfd cell platform_data for 88pm860x " Haojian Zhuang
2011-05-09  0:32 ` [PATCH 18/19] mfd: Use mfd cell platform_data for davinci " Samuel Ortiz
     [not found] ` <1304901131-7104-20-git-send-email-sameo@linux.intel.com>
2011-05-09  8:22   ` [PATCH 19/19] mfd: Remove mfd_data Haojian Zhuang
2011-05-09 11:20 ` [PATCH 00/19] mfd: mfd_data removal Samuel Ortiz
     [not found] ` <1304901131-7104-2-git-send-email-sameo@linux.intel.com>
2011-05-09  8:22   ` [PATCH 01/19] mfd: Add platform data pointer back Haojian Zhuang
2011-05-09 11:21   ` Samuel Ortiz
2011-05-10  7:52 ` [PATCH 00/19] mfd: mfd_data removal Richard Röjfors

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=1304901131-7104-18-git-send-email-sameo@linux.intel.com \
    --to=sameo@linux.intel.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=haojian.zhuang@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lrg@slimlogic.co.uk \
    --cc=rpurdie@rpsys.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.