mfd: Use mfd cell platform_data for ab3550 cells platform bits
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 5 Apr 2011 22:20:24 +0000 (00:20 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 26 May 2011 17:44:57 +0000 (19:44 +0200)
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.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/ab3550-core.c
include/linux/mfd/abx500.h

index ff86acf3e6bde2b16f6e95f2f8c6af90e92bcd64..3d7dce671b936a1affb6429c2469d56a436e8cf2 100644 (file)
@@ -1320,8 +1320,10 @@ static int __init ab3550_probe(struct i2c_client *client,
                goto exit_no_ops;
 
        /* Set up and register the platform devices. */
-       for (i = 0; i < AB3550_NUM_DEVICES; i++)
-               ab3550_devs[i].mfd_data = ab3550_plf_data->dev_data[i];
+       for (i = 0; i < AB3550_NUM_DEVICES; i++) {
+               ab3550_devs[i].platform_data = ab3550_plf_data->dev_data[i];
+               ab3550_devs[i].pdata_size = ab3550_plf_data->dev_data_sz[i];
+       }
 
        err = mfd_add_devices(&client->dev, 0, ab3550_devs,
                ARRAY_SIZE(ab3550_devs), NULL,
index 7d9b6ae1c203928ea28b0971d528054ad0a23162..67bd6f7ecf3228f7ca9a024ba09b5ef056521d63 100644 (file)
@@ -186,6 +186,7 @@ struct abx500_init_settings {
 struct ab3550_platform_data {
        struct {unsigned int base; unsigned int count; } irq;
        void *dev_data[AB3550_NUM_DEVICES];
+       size_t dev_data_sz[AB3550_NUM_DEVICES];
        struct abx500_init_settings *init_settings;
        unsigned int init_settings_sz;
 };