diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-04-05 18:20:24 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-05-26 13:44:57 -0400 |
commit | 1f235a3785dbcfb324ff228048b859a3bd1e1a59 (patch) | |
tree | cc416ed40e95806f9bb534b423977cab65234c45 | |
parent | eb8956074e7652e802be5f078080c704c2c87104 (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.c | 6 | ||||
-rw-r--r-- | include/linux/mfd/abx500.h | 1 |
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 { | |||
186 | struct ab3550_platform_data { | 186 | struct 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 | }; |