Skip to contentSkip to conversation

t7166xb: mfd_cell is now implicitly available to drivers

PATCH In review Andres Salomon 2 participants 4 messages Feb 12, 2011 – Feb 14, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 9/17 t7166xb: mfd_cell is now implicitly available to drivers

No need to explicitly set the cell's platform_data/data_size.

Modify clients to use mfd_get_cell helper function instead of accessing platform_data directly.

---
 drivers/mfd/t7l66xb.c        |    9 ---------
 drivers/mtd/nand/tmio_nand.c |   10 +++++-----
 2 files changed, 5 insertions(+), 14 deletions(-)
drivers/mfd/t7l66xb.c +0 -9
index 9caeb4a..b9c1e4c 100644
@@ -384,15 +384,6 @@ static int t7l66xb_probe(struct platform_device *dev)
 	t7l66xb_attach_irq(dev);
 
 	t7l66xb_cells[T7L66XB_CELL_NAND].driver_data = pdata->nand_data;
-	t7l66xb_cells[T7L66XB_CELL_NAND].platform_data =
-		&t7l66xb_cells[T7L66XB_CELL_NAND];
-	t7l66xb_cells[T7L66XB_CELL_NAND].data_size =
-		sizeof(t7l66xb_cells[T7L66XB_CELL_NAND]);
-
-	t7l66xb_cells[T7L66XB_CELL_MMC].platform_data =
-		&t7l66xb_cells[T7L66XB_CELL_MMC];
-	t7l66xb_cells[T7L66XB_CELL_MMC].data_size =
-		sizeof(t7l66xb_cells[T7L66XB_CELL_MMC]);
 
 	ret = mfd_add_devices(&dev->dev, dev->id,
 			      t7l66xb_cells, ARRAY_SIZE(t7l66xb_cells),
drivers/mtd/nand/tmio_nand.c +5 -5
index 3041d1f..5bf63e3 100644
@@ -319,7 +319,7 @@ static int tmio_nand_correct_data(struct mtd_info *mtd, unsigned char *buf,
 
 static int tmio_hw_init(struct platform_device *dev, struct tmio_nand *tmio)
 {
-	struct mfd_cell *cell = dev_get_platdata(&dev->dev);
+	struct mfd_cell *cell = mfd_get_cell(dev);
 	int ret;
 
 	if (cell->enable) {
@@ -363,7 +363,7 @@ static int tmio_hw_init(struct platform_device *dev, struct tmio_nand *tmio)
 
 static void tmio_hw_stop(struct platform_device *dev, struct tmio_nand *tmio)
 {
-	struct mfd_cell *cell = dev_get_platdata(&dev->dev);
+	struct mfd_cell *cell = mfd_get_cell(dev);
 
 	tmio_iowrite8(FCR_MODE_POWER_OFF, tmio->fcr + FCR_MODE);
 	if (cell->disable)
@@ -372,7 +372,7 @@ static void tmio_hw_stop(struct platform_device *dev, struct tmio_nand *tmio)
 
 static int tmio_probe(struct platform_device *dev)
 {
-	struct mfd_cell *cell = dev_get_platdata(&dev->dev);
+	struct mfd_cell *cell = mfd_get_cell(dev);
 	struct tmio_nand_data *data = cell->driver_data;
 	struct resource *fcr = platform_get_resource(dev,
 			IORESOURCE_MEM, 0);
@@ -516,7 +516,7 @@ static int tmio_remove(struct platform_device *dev)
 #ifdef CONFIG_PM
 static int tmio_suspend(struct platform_device *dev, pm_message_t state)
 {
-	struct mfd_cell *cell = dev_get_platdata(&dev->dev);
+	struct mfd_cell *cell = mfd_get_cell(dev);
 
 	if (cell->suspend)
 		cell->suspend(dev);
@@ -527,7 +527,7 @@ static int tmio_suspend(struct platform_device *dev, pm_message_t state)
 
 static int tmio_resume(struct platform_device *dev)
 {
-	struct mfd_cell *cell = dev_get_platdata(&dev->dev);
+	struct mfd_cell *cell = mfd_get_cell(dev);
 
 	/* FIXME - is this required or merely another attack of the broken
 	 * SHARP platform? Looks suspicious.
Signature · 1 line
1.7.2.3
#1 lore raw
Quoted 4 lines · Andres Salomon

No need to explicitly set the cell's platform_data/data_size.

Modify clients to use mfd_get_cell helper function instead of accessing platform_data directly.

Wold it be possible to separate out MTD-related changes?

Signature · 2 lines
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
#2 lore raw
Quoted 8 lines · On Mon, 14 Feb 2011 11:17:44 +0200 Artem Bityutskiy <[email protected]> wrote:
Quoted 4 lines · Andres Salomon

No need to explicitly set the cell's platform_data/data_size.

Modify clients to use mfd_get_cell helper function instead of accessing platform_data directly.

Wold it be possible to separate out MTD-related changes?

It's possible, sure. Patch 09 is the only one that touches drivers/mtd. It would introduce build and/or runtime problems if mtd and mfd trees get out of synch, however.

I was hoping to get subsystem maintainer ACKs and run everything through the mfd tree, if possible (though I haven't heard any feedback from Samuel about any of this yet).

#3 lore raw
Quoted 12 lines · Andres Salomon
Quoted 8 lines · On Mon, 14 Feb 2011 11:17:44 +0200 Artem Bityutskiy <[email protected]> wrote:
Quoted 4 lines · Andres Salomon

No need to explicitly set the cell's platform_data/data_size.

Modify clients to use mfd_get_cell helper function instead of accessing platform_data directly.

Wold it be possible to separate out MTD-related changes?

Quoted 7 lines

It's possible, sure. Patch 09 is the only one that touches drivers/mtd. It would introduce build and/or runtime problems if mtd and mfd trees get out of synch, however.

I was hoping to get subsystem maintainer ACKs and run everything through the mfd tree, if possible (though I haven't heard any feedback from Samuel about any of this yet).

OK, I'm not MTD maintainer, but I'd say that you can merge it via mfd tree. I did no look at the whole set, but mtd changes look trivial and there should not be issues with merging that via the mfd tree.

Signature · 2 lines
Best Regards,
Artem Bityutskiy (Артём Битюцкий)