mfd: mfd_cell is now implicitly available to twl4030 drivers
Andres Salomon [Fri, 18 Feb 2011 03:07:20 +0000 (19:07 -0800)]
The cell's platform_data is now accessed with a helper function;
change clients to use that, and remove the now-unused data_size.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

drivers/input/misc/twl4030-vibra.c
drivers/mfd/twl4030-codec.c
sound/soc/codecs/twl4030.c

index 014dd4a..6a11694 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/workqueue.h>
 #include <linux/i2c/twl.h>
 #include <linux/mfd/twl4030-codec.h>
+#include <linux/mfd/core.h>
 #include <linux/input.h>
 #include <linux/slab.h>
 
@@ -196,7 +197,7 @@ static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops,
 
 static int __devinit twl4030_vibra_probe(struct platform_device *pdev)
 {
-       struct twl4030_codec_vibra_data *pdata = pdev->dev.platform_data;
+       struct twl4030_codec_vibra_data *pdata = mfd_get_data(pdev);
        struct vibra_info *info;
        int ret;
 
index 9a4b196..0f57426 100644 (file)
@@ -209,14 +209,12 @@ static int __devinit twl4030_codec_probe(struct platform_device *pdev)
                cell = &codec->cells[childs];
                cell->name = "twl4030-codec";
                cell->platform_data = pdata->audio;
-               cell->data_size = sizeof(*pdata->audio);
                childs++;
        }
        if (pdata->vibra) {
                cell = &codec->cells[childs];
                cell->name = "twl4030-vibra";
                cell->platform_data = pdata->vibra;
-               cell->data_size = sizeof(*pdata->vibra);
                childs++;
        }
 
index e4d464b..8512800 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/pm.h>
 #include <linux/i2c.h>
 #include <linux/platform_device.h>
+#include <linux/mfd/core.h>
 #include <linux/i2c/twl.h>
 #include <linux/slab.h>
 #include <sound/core.h>
@@ -732,7 +733,8 @@ static int aif_event(struct snd_soc_dapm_widget *w,
 
 static void headset_ramp(struct snd_soc_codec *codec, int ramp)
 {
-       struct twl4030_codec_audio_data *pdata = codec->dev->platform_data;
+       struct twl4030_codec_audio_data *pdata =
+                       mfd_get_data(to_platform_device(codec->dev));
        unsigned char hs_gain, hs_pop;
        struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec);
        /* Base values for ramp delay calculation: 2^19 - 2^26 */
@@ -2297,7 +2299,7 @@ static struct snd_soc_codec_driver soc_codec_dev_twl4030 = {
 
 static int __devinit twl4030_codec_probe(struct platform_device *pdev)
 {
-       struct twl4030_codec_audio_data *pdata = pdev->dev.platform_data;
+       struct twl4030_codec_audio_data *pdata = mfd_get_data(pdev);
 
        if (!pdata) {
                dev_err(&pdev->dev, "platform_data is missing\n");