aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2011-04-05 18:20:24 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2011-05-26 13:44:57 -0400
commit1f235a3785dbcfb324ff228048b859a3bd1e1a59 (patch)
treecc416ed40e95806f9bb534b423977cab65234c45
parenteb8956074e7652e802be5f078080c704c2c87104 (diff)
mfd: Use mfd cell platform_data for ab3550 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. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r--drivers/mfd/ab3550-core.c6
-rw-r--r--include/linux/mfd/abx500.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mfd/ab3550-core.c b/drivers/mfd/ab3550-core.c
index ff86acf3e6bd..3d7dce671b93 100644
--- a/drivers/mfd/ab3550-core.c
+++ b/drivers/mfd/ab3550-core.c
@@ -1320,8 +1320,10 @@ static int __init ab3550_probe(struct i2c_client *client,
1320 goto exit_no_ops; 1320 goto exit_no_ops;
1321 1321
1322 /* Set up and register the platform devices. */ 1322 /* Set up and register the platform devices. */
1323 for (i = 0; i < AB3550_NUM_DEVICES; i++) 1323 for (i = 0; i < AB3550_NUM_DEVICES; i++) {
1324 ab3550_devs[i].mfd_data = ab3550_plf_data->dev_data[i]; 1324 ab3550_devs[i].platform_data = ab3550_plf_data->dev_data[i];
1325 ab3550_devs[i].pdata_size = ab3550_plf_data->dev_data_sz[i];
1326 }
1325 1327
1326 err = mfd_add_devices(&client->dev, 0, ab3550_devs, 1328 err = mfd_add_devices(&client->dev, 0, ab3550_devs,
1327 ARRAY_SIZE(ab3550_devs), NULL, 1329 ARRAY_SIZE(ab3550_devs), NULL,
diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h
index 7d9b6ae1c203..67bd6f7ecf32 100644
--- a/include/linux/mfd/abx500.h
+++ b/include/linux/mfd/abx500.h
@@ -186,6 +186,7 @@ struct abx500_init_settings {
186struct ab3550_platform_data { 186struct ab3550_platform_data {
187 struct {unsigned int base; unsigned int count; } irq; 187 struct {unsigned int base; unsigned int count; } irq;
188 void *dev_data[AB3550_NUM_DEVICES]; 188 void *dev_data[AB3550_NUM_DEVICES];
189 size_t dev_data_sz[AB3550_NUM_DEVICES];
189 struct abx500_init_settings *init_settings; 190 struct abx500_init_settings *init_settings;
190 unsigned int init_settings_sz; 191 unsigned int init_settings_sz;
191}; 192};