]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/s1d13xxxfb.c
Pull fix-offsets-h into release branch
[linux-2.6-omap-h63xx.git] / drivers / video / s1d13xxxfb.c
index b637c389e4f480945c5c9f8b0775605496bd6d25..fa98d91c42eb2cd858b516fdcc384833094672b1 100644 (file)
@@ -67,12 +67,18 @@ static struct fb_fix_screeninfo __devinitdata s1d13xxxfb_fix = {
 static inline u8
 s1d13xxxfb_readreg(struct s1d13xxxfb_par *par, u16 regno)
 {
+#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_OPSPUT) || defined(CONFIG_PLAT_MAPPI3)
+       regno=((regno & 1) ? (regno & ~1L) : (regno + 1));
+#endif
        return readb(par->regs + regno);
 }
 
 static inline void
 s1d13xxxfb_writereg(struct s1d13xxxfb_par *par, u16 regno, u8 value)
 {
+#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_OPSPUT) || defined(CONFIG_PLAT_MAPPI3)
+       regno=((regno & 1) ? (regno & ~1L) : (regno + 1));
+#endif
        writeb(value, par->regs + regno);
 }
 
@@ -259,7 +265,11 @@ s1d13xxxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
                        dbg("s1d13xxxfb_setcolreg: pseudo %d, val %08x\n",
                                    regno, pseudo_val);
 
+#if defined(CONFIG_PLAT_MAPPI)
+                       ((u32 *)info->pseudo_palette)[regno] = cpu_to_le16(pseudo_val);
+#else
                        ((u32 *)info->pseudo_palette)[regno] = pseudo_val;
+#endif
 
                        break;
                case FB_VISUAL_PSEUDOCOLOR:
@@ -493,7 +503,7 @@ s1d13xxxfb_fetch_hw_state(struct fb_info *info)
 }
 
 
-static int __devexit
+static int
 s1d13xxxfb_remove(struct device *dev)
 {
        struct fb_info *info = dev_get_drvdata(dev);
@@ -645,7 +655,7 @@ bail:
 }
 
 #ifdef CONFIG_PM
-static int s1d13xxxfb_suspend(struct device *dev, u32 state, u32 level)
+static int s1d13xxxfb_suspend(struct device *dev, pm_message_t state, u32 level)
 {
        struct fb_info *info = dev_get_drvdata(dev);
        struct s1d13xxxfb_par *s1dfb = info->par;