*/
 static int tmiofb_hw_stop(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
-       struct tmio_fb_data *data = cell->driver_data;
+       struct tmio_fb_data *data = mfd_get_data(dev);
        struct fb_info *info = platform_get_drvdata(dev);
        struct tmiofb_par *par = info->par;
 
 static void tmiofb_hw_mode(struct platform_device *dev)
 {
        struct mfd_cell *cell = mfd_get_cell(dev);
-       struct tmio_fb_data *data = cell->driver_data;
+       struct tmio_fb_data *data = mfd_get_data(dev);
        struct fb_info *info = platform_get_drvdata(dev);
        struct fb_videomode *mode = info->mode;
        struct tmiofb_par *par = info->par;
 static struct fb_videomode *
 tmiofb_find_mode(struct fb_info *info, struct fb_var_screeninfo *var)
 {
-       struct mfd_cell *cell = mfd_get_cell(to_platform_device(info->device));
-       struct tmio_fb_data *data = cell->driver_data;
+       struct tmio_fb_data *data =
+                       mfd_get_data(to_platform_device(info->device));
        struct fb_videomode *best = NULL;
        int i;
 
 {
 
        struct fb_videomode *mode;
-       struct mfd_cell *cell = mfd_get_cell(to_platform_device(info->device));
-       struct tmio_fb_data *data = cell->driver_data;
+       struct tmio_fb_data *data =
+                       mfd_get_data(to_platform_device(info->device));
 
        mode = tmiofb_find_mode(info, var);
        if (!mode || var->bits_per_pixel > 16)
 static int __devinit tmiofb_probe(struct platform_device *dev)
 {
        struct mfd_cell *cell = mfd_get_cell(dev);
-       struct tmio_fb_data *data = cell->driver_data;
+       struct tmio_fb_data *data = mfd_get_data(dev);
        struct resource *ccr = platform_get_resource(dev, IORESOURCE_MEM, 1);
        struct resource *lcr = platform_get_resource(dev, IORESOURCE_MEM, 0);
        struct resource *vram = platform_get_resource(dev, IORESOURCE_MEM, 2);