From: Samuel Ortiz <sameo@linux.intel.com>
To: linux-kernel <linux-kernel@vger.kernel.org>
Cc: "Samuel Ortiz" <sameo@linux.intel.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Mark Brown" <broonie@opensource.wolfsonmicro.com>,
"Liam Girdwood" <lrg@slimlogic.co.uk>
Subject: [PATCH 13/19] mfd: Use mfd cell platform_data for mc13xxx cells platform bits
Date: Mon, 9 May 2011 02:32:05 +0200 [thread overview]
Message-ID: <1304901131-7104-14-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 data 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: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
---
drivers/leds/leds-mc13783.c | 7 +++----
drivers/mfd/mc13xxx-core.c | 12 +++++++-----
drivers/regulator/mc13783-regulator.c | 7 ++++---
drivers/regulator/mc13892-regulator.c | 7 ++++---
4 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/drivers/leds/leds-mc13783.c b/drivers/leds/leds-mc13783.c
index 06a5bb4..f05bb08 100644
--- a/drivers/leds/leds-mc13783.c
+++ b/drivers/leds/leds-mc13783.c
@@ -22,7 +22,6 @@
#include <linux/leds.h>
#include <linux/workqueue.h>
#include <linux/mfd/mc13783.h>
-#include <linux/mfd/core.h>
#include <linux/slab.h>
struct mc13783_led {
@@ -184,7 +183,7 @@ static int __devinit mc13783_led_setup(struct mc13783_led *led, int max_current)
static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
{
- struct mc13783_leds_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct mc13783 *dev = dev_get_drvdata(pdev->dev.parent);
int ret = 0;
int reg = 0;
@@ -265,7 +264,7 @@ out:
static int __devinit mc13783_led_probe(struct platform_device *pdev)
{
- struct mc13783_leds_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct mc13783_led_platform_data *led_cur;
struct mc13783_led *led, *led_dat;
int ret, i;
@@ -352,7 +351,7 @@ err_free:
static int __devexit mc13783_led_remove(struct platform_device *pdev)
{
- struct mc13783_leds_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct mc13783_led *led = platform_get_drvdata(pdev);
struct mc13783 *dev = dev_get_drvdata(pdev->dev.parent);
int i;
diff --git a/drivers/mfd/mc13xxx-core.c b/drivers/mfd/mc13xxx-core.c
index 668634e..7e4d44b 100644
--- a/drivers/mfd/mc13xxx-core.c
+++ b/drivers/mfd/mc13xxx-core.c
@@ -683,13 +683,14 @@ out:
EXPORT_SYMBOL_GPL(mc13783_adc_do_conversion);
static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
- const char *format, void *pdata)
+ const char *format, void *pdata, size_t pdata_size)
{
char buf[30];
const char *name = mc13xxx_get_chipname(mc13xxx);
struct mfd_cell cell = {
- .mfd_data = pdata,
+ .platform_data = pdata,
+ .pdata_size = pdata_size,
};
/* there is no asnprintf in the kernel :-( */
@@ -705,7 +706,7 @@ static int mc13xxx_add_subdevice_pdata(struct mc13xxx *mc13xxx,
static int mc13xxx_add_subdevice(struct mc13xxx *mc13xxx, const char *format)
{
- return mc13xxx_add_subdevice_pdata(mc13xxx, format, NULL);
+ return mc13xxx_add_subdevice_pdata(mc13xxx, format, NULL, 0);
}
static int mc13xxx_probe(struct spi_device *spi)
@@ -764,7 +765,7 @@ err_revision:
if (pdata->flags & MC13XXX_USE_REGULATOR) {
mc13xxx_add_subdevice_pdata(mc13xxx, "%s-regulator",
- &pdata->regulators);
+ &pdata->regulators, sizeof(pdata->regulators));
}
if (pdata->flags & MC13XXX_USE_RTC)
@@ -774,7 +775,8 @@ err_revision:
mc13xxx_add_subdevice(mc13xxx, "%s-ts");
if (pdata->flags & MC13XXX_USE_LED)
- mc13xxx_add_subdevice_pdata(mc13xxx, "%s-led", pdata->leds);
+ mc13xxx_add_subdevice_pdata(mc13xxx, "%s-led",
+ pdata->leds, sizeof(*pdata->leds));
return 0;
}
diff --git a/drivers/regulator/mc13783-regulator.c b/drivers/regulator/mc13783-regulator.c
index 23249cb..3e5d0c3 100644
--- a/drivers/regulator/mc13783-regulator.c
+++ b/drivers/regulator/mc13783-regulator.c
@@ -15,7 +15,6 @@
#include <linux/regulator/driver.h>
#include <linux/platform_device.h>
#include <linux/kernel.h>
-#include <linux/mfd/core.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/err.h>
@@ -337,7 +336,8 @@ static int __devinit mc13783_regulator_probe(struct platform_device *pdev)
{
struct mc13xxx_regulator_priv *priv;
struct mc13xxx *mc13783 = dev_get_drvdata(pdev->dev.parent);
- struct mc13783_regulator_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13783_regulator_platform_data *pdata =
+ dev_get_platdata(&pdev->dev);
struct mc13783_regulator_init_data *init_data;
int i, ret;
@@ -381,7 +381,8 @@ err:
static int __devexit mc13783_regulator_remove(struct platform_device *pdev)
{
struct mc13xxx_regulator_priv *priv = platform_get_drvdata(pdev);
- struct mc13783_regulator_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13783_regulator_platform_data *pdata =
+ dev_get_platdata(&pdev->dev);
int i;
platform_set_drvdata(pdev, NULL);
diff --git a/drivers/regulator/mc13892-regulator.c b/drivers/regulator/mc13892-regulator.c
index 6f15168..1b8f739 100644
--- a/drivers/regulator/mc13892-regulator.c
+++ b/drivers/regulator/mc13892-regulator.c
@@ -15,7 +15,6 @@
#include <linux/regulator/driver.h>
#include <linux/platform_device.h>
#include <linux/kernel.h>
-#include <linux/mfd/core.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/err.h>
@@ -521,7 +520,8 @@ static int __devinit mc13892_regulator_probe(struct platform_device *pdev)
{
struct mc13xxx_regulator_priv *priv;
struct mc13xxx *mc13892 = dev_get_drvdata(pdev->dev.parent);
- struct mc13xxx_regulator_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13xxx_regulator_platform_data *pdata =
+ dev_get_platdata(&pdev->dev);
struct mc13xxx_regulator_init_data *init_data;
int i, ret;
u32 val;
@@ -595,7 +595,8 @@ err_free:
static int __devexit mc13892_regulator_remove(struct platform_device *pdev)
{
struct mc13xxx_regulator_priv *priv = platform_get_drvdata(pdev);
- struct mc13xxx_regulator_platform_data *pdata = mfd_get_data(pdev);
+ struct mc13xxx_regulator_platform_data *pdata =
+ dev_get_platdata(&pdev->dev);
int i;
platform_set_drvdata(pdev, NULL);
--
1.7.2.3
next prev parent reply other threads:[~2011-05-09 0:34 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 ` Samuel Ortiz [this message]
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 ` [PATCH 17/19] mfd: Use mfd cell platform_data for 88pm860x " Samuel Ortiz
2011-05-09 8:21 ` Haojian Zhuang
2011-05-09 0:32 ` [PATCH 18/19] mfd: Use mfd cell platform_data for davinci " 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
[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
2011-05-10 7:52 ` 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-14-git-send-email-sameo@linux.intel.com \
--to=sameo@linux.intel.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@slimlogic.co.uk \
--cc=u.kleine-koenig@pengutronix.de \
/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.