From: Samuel Ortiz Date: Wed, 6 Apr 2011 14:52:52 +0000 (+0200) Subject: mfd: Add platform data pointer back X-Git-Tag: v3.0-rc1~131^2~56 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=eb8956074e7652e802be5f078080c704c2c87104;p=~emulex%2Finfiniband.git mfd: Add platform data pointer back Now that we have a way to pass MFD cells down to the sub drivers, we can gradually get rid of mfd_data by putting the platform pointer back in place. Signed-off-by: Samuel Ortiz --- diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c index f4c8c844b91..0902523af62 100644 --- a/drivers/mfd/mfd-core.c +++ b/drivers/mfd/mfd-core.c @@ -88,6 +88,13 @@ static int mfd_add_device(struct device *parent, int id, pdev->dev.parent = parent; + if (cell->pdata_size) { + ret = platform_device_add_data(pdev, + cell->platform_data, cell->pdata_size); + if (ret) + goto fail_res; + } + ret = mfd_platform_add_cell(pdev, cell); if (ret) goto fail_res; diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index aef23309a74..68c13e52a50 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -36,6 +36,10 @@ struct mfd_cell { /* mfd_data can be used to pass data to client drivers */ void *mfd_data; + /* platform data passed to the sub devices drivers */ + void *platform_data; + size_t pdata_size; + /* * These resources can be specified relative to the parent device. * For accessing hardware you should use resources from the platform dev