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
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.
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/
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().
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/
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]>