Commit 121ea573 authored by Samuel Ortiz's avatar Samuel Ortiz

w1: Use device platform_data to retrieve ds1wm platform bits

With the addition of the platform device mfd_cell pointer, we can now
cleanly pass the sub device drivers platform data pointers through the
regular device platform_data one, and get rid of mfd_get_data().

Cc: Matt Reimer <mreimer@vpop.net>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent ec71974f
...@@ -676,7 +676,8 @@ static struct mfd_cell asic3_cell_ds1wm = { ...@@ -676,7 +676,8 @@ static struct mfd_cell asic3_cell_ds1wm = {
.name = "ds1wm", .name = "ds1wm",
.enable = ds1wm_enable, .enable = ds1wm_enable,
.disable = ds1wm_disable, .disable = ds1wm_disable,
.mfd_data = &ds1wm_pdata, .platform_data = &ds1wm_pdata,
.pdata_size = sizeof(ds1wm_pdata),
.num_resources = ARRAY_SIZE(ds1wm_resources), .num_resources = ARRAY_SIZE(ds1wm_resources),
.resources = ds1wm_resources, .resources = ds1wm_resources,
}; };
......
...@@ -117,7 +117,8 @@ static struct mfd_cell ds1wm_cell __initdata = { ...@@ -117,7 +117,8 @@ static struct mfd_cell ds1wm_cell __initdata = {
.name = "ds1wm", .name = "ds1wm",
.enable = ds1wm_enable, .enable = ds1wm_enable,
.disable = ds1wm_disable, .disable = ds1wm_disable,
.mfd_data = &ds1wm_pdata, .platform_data = &ds1wm_pdata,
.pdata_size = sizeof(ds1wm_pdata),
.num_resources = 2, .num_resources = 2,
.resources = ds1wm_resources, .resources = ds1wm_resources,
}; };
......
...@@ -216,7 +216,7 @@ static int ds1wm_find_divisor(int gclk) ...@@ -216,7 +216,7 @@ static int ds1wm_find_divisor(int gclk)
static void ds1wm_up(struct ds1wm_data *ds1wm_data) static void ds1wm_up(struct ds1wm_data *ds1wm_data)
{ {
int divisor; int divisor;
struct ds1wm_driver_data *plat = mfd_get_data(ds1wm_data->pdev); struct ds1wm_driver_data *plat = ds1wm_data->pdev->dev.platform_data;
if (ds1wm_data->cell->enable) if (ds1wm_data->cell->enable)
ds1wm_data->cell->enable(ds1wm_data->pdev); ds1wm_data->cell->enable(ds1wm_data->pdev);
...@@ -351,13 +351,21 @@ static int ds1wm_probe(struct platform_device *pdev) ...@@ -351,13 +351,21 @@ static int ds1wm_probe(struct platform_device *pdev)
ret = -ENOMEM; ret = -ENOMEM;
goto err0; goto err0;
} }
plat = mfd_get_data(pdev);
/* calculate bus shift from mem resource */ /* calculate bus shift from mem resource */
ds1wm_data->bus_shift = resource_size(res) >> 3; ds1wm_data->bus_shift = resource_size(res) >> 3;
ds1wm_data->pdev = pdev; ds1wm_data->pdev = pdev;
ds1wm_data->cell = mfd_get_cell(pdev); ds1wm_data->cell = mfd_get_cell(pdev);
if (!ds1wm_data->cell) {
ret = -ENODEV;
goto err1;
}
plat = pdev->dev.platform_data;
if (!plat) {
ret = -ENODEV;
goto err1;
}
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (!res) { if (!res) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment