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),
 
 
 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) {
 
 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)
 
 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);
 #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);
 
 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.