#ifdef CONFIG_PM
 static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct mmc_host *mmc = platform_get_drvdata(dev);
        int ret;
 
 
 static int tmio_mmc_resume(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct mmc_host *mmc = platform_get_drvdata(dev);
        int ret = 0;
 
 
 static int __devinit tmio_mmc_probe(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct tmio_mmc_data *pdata;
        struct resource *res_ctl;
        struct tmio_mmc_host *host;
 
 static int __devexit tmio_mmc_remove(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct mmc_host *mmc = platform_get_drvdata(dev);
 
        platform_set_drvdata(dev, NULL);
 
 
 static int tmio_hw_init(struct platform_device *dev, struct tmio_nand *tmio)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const 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 = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
 
        tmio_iowrite8(FCR_MODE_POWER_OFF, tmio->fcr + FCR_MODE);
        if (cell->disable)
 #ifdef CONFIG_PM
 static int tmio_suspend(struct platform_device *dev, pm_message_t state)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const 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 = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
 
        /* FIXME - is this required or merely another attack of the broken
         * SHARP platform? Looks suspicious.
 
 
 static int __devinit ohci_hcd_tmio_drv_probe(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct resource *regs = platform_get_resource(dev, IORESOURCE_MEM, 0);
        struct resource *config = platform_get_resource(dev, IORESOURCE_MEM, 1);
        struct resource *sram = platform_get_resource(dev, IORESOURCE_MEM, 2);
 {
        struct usb_hcd *hcd = platform_get_drvdata(dev);
        struct tmio_hcd *tmio = hcd_to_tmio(hcd);
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
 
        usb_remove_hcd(hcd);
        tmio_stop_hc(dev);
 #ifdef CONFIG_PM
 static int ohci_hcd_tmio_drv_suspend(struct platform_device *dev, pm_message_t state)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct usb_hcd *hcd = platform_get_drvdata(dev);
        struct ohci_hcd *ohci = hcd_to_ohci(hcd);
        struct tmio_hcd *tmio = hcd_to_tmio(hcd);
 
 static int ohci_hcd_tmio_drv_resume(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct usb_hcd *hcd = platform_get_drvdata(dev);
        struct ohci_hcd *ohci = hcd_to_ohci(hcd);
        struct tmio_hcd *tmio = hcd_to_tmio(hcd);
 
  */
 static int tmiofb_hw_init(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct fb_info *info = platform_get_drvdata(dev);
        struct tmiofb_par *par = info->par;
        const struct resource *nlcr = &cell->resources[0];
  */
 static void tmiofb_hw_mode(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
        struct tmio_fb_data *data = mfd_get_data(dev);
        struct fb_info *info = platform_get_drvdata(dev);
        struct fb_videomode *mode = info->mode;
 
 static int __devinit tmiofb_probe(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        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);
 
 static int __devexit tmiofb_remove(struct platform_device *dev)
 {
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        struct fb_info *info = platform_get_drvdata(dev);
        int irq = platform_get_irq(dev, 0);
        struct tmiofb_par *par;
 #ifdef CONFIG_FB_TMIO_ACCELL
        struct tmiofb_par *par = info->par;
 #endif
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        int retval = 0;
 
        console_lock();
 static int tmiofb_resume(struct platform_device *dev)
 {
        struct fb_info *info = platform_get_drvdata(dev);
-       struct mfd_cell *cell = mfd_get_cell(dev);
+       const struct mfd_cell *cell = mfd_get_cell(dev);
        int retval = 0;
 
        console_lock();