2011-05-09 00:33:42

by Samuel Ortiz

[permalink] [raw]
Subject: [PATCH 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

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: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
---
drivers/mfd/wm8400-core.c | 3 ++-
sound/soc/codecs/wm8400.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/wm8400-core.c b/drivers/mfd/wm8400-core.c
index 3a6e78c..597f82e 100644
--- a/drivers/mfd/wm8400-core.c
+++ b/drivers/mfd/wm8400-core.c
@@ -245,7 +245,8 @@ static int wm8400_register_codec(struct wm8400 *wm8400)
{
struct mfd_cell cell = {
.name = "wm8400-codec",
- .mfd_data = wm8400,
+ .platform_data = wm8400,
+ .pdata_size = sizeof(*wm8400),
};

return mfd_add_devices(wm8400->dev, -1, &cell, 1, NULL, 0);
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c
index 736b785..a4bd593 100644
--- a/sound/soc/codecs/wm8400.c
+++ b/sound/soc/codecs/wm8400.c
@@ -1378,7 +1378,7 @@ static void wm8400_probe_deferred(struct work_struct *work)

static int wm8400_codec_probe(struct snd_soc_codec *codec)
{
- struct wm8400 *wm8400 = mfd_get_data(to_platform_device(codec->dev));
+ struct wm8400 *wm8400 = codec->dev->platform_data;
struct wm8400_priv *priv;
int ret;
u16 reg;
--
1.7.2.3


2011-05-09 07:13:37

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

On Mon, May 09, 2011 at 02:32:04AM +0200, Samuel Ortiz wrote:

> static int wm8400_codec_probe(struct snd_soc_codec *codec)
> {
> - struct wm8400 *wm8400 = mfd_get_data(to_platform_device(codec->dev));
> + struct wm8400 *wm8400 = codec->dev->platform_data;

It'd be better to use platform_get_drvdata() here rather than accessing
the pointer directly.

2011-05-10 08:45:07

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

Hi Mark,

On Mon, May 09, 2011 at 09:13:42AM +0200, Mark Brown wrote:
> On Mon, May 09, 2011 at 02:32:04AM +0200, Samuel Ortiz wrote:
>
> > static int wm8400_codec_probe(struct snd_soc_codec *codec)
> > {
> > - struct wm8400 *wm8400 = mfd_get_data(to_platform_device(codec->dev));
> > + struct wm8400 *wm8400 = codec->dev->platform_data;
>
> It'd be better to use platform_get_drvdata() here rather than accessing
> the pointer directly.
Is the core codec code setting the driver_data pointer appropriately ?

Cheers,
Samuel.

--
Intel Open Source Technology Centre
http://oss.intel.com/

2011-05-10 09:09:59

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

On Tue, May 10, 2011 at 10:45:01AM +0200, Samuel Ortiz wrote:

> > > - struct wm8400 *wm8400 = mfd_get_data(to_platform_device(codec->dev));
> > > + struct wm8400 *wm8400 = codec->dev->platform_data;

> > It'd be better to use platform_get_drvdata() here rather than accessing
> > the pointer directly.

> Is the core codec code setting the driver_data pointer appropriately ?

Sorry, I meant _get_platdata().

2011-05-11 16:27:18

by Samuel Ortiz

[permalink] [raw]
Subject: [PATCH v1 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

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: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
---

v0 -> v1: Use dev_get_platdata instead of directly accessing the platform_data
pointer.

---
drivers/mfd/wm8400-core.c | 3 ++-
sound/soc/codecs/wm8400.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/wm8400-core.c b/drivers/mfd/wm8400-core.c
index 3a6e78c..597f82e 100644
--- a/drivers/mfd/wm8400-core.c
+++ b/drivers/mfd/wm8400-core.c
@@ -245,7 +245,8 @@ static int wm8400_register_codec(struct wm8400 *wm8400)
{
struct mfd_cell cell = {
.name = "wm8400-codec",
- .mfd_data = wm8400,
+ .platform_data = wm8400,
+ .pdata_size = sizeof(*wm8400),
};

return mfd_add_devices(wm8400->dev, -1, &cell, 1, NULL, 0);
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c
index 736b785..fbee556 100644
--- a/sound/soc/codecs/wm8400.c
+++ b/sound/soc/codecs/wm8400.c
@@ -1378,7 +1378,7 @@ static void wm8400_probe_deferred(struct work_struct *work)

static int wm8400_codec_probe(struct snd_soc_codec *codec)
{
- struct wm8400 *wm8400 = mfd_get_data(to_platform_device(codec->dev));
+ struct wm8400 *wm8400 = dev_get_platdata(codec->dev);
struct wm8400_priv *priv;
int ret;
u16 reg;
--
1.7.2.3

--
Intel Open Source Technology Centre
http://oss.intel.com/

2011-05-11 15:56:16

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v1 12/19] mfd: Use mfd cell platform_data for wm8400 cells platform bits

On Wed, May 11, 2011 at 11:03:19AM +0200, Samuel Ortiz wrote:

> 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: Mark Brown <[email protected]>
> Signed-off-by: Samuel Ortiz <[email protected]>

Reviewed-by: Mark Brown <[email protected]>