staging: sm750fb: change definition of HWC_COLOR_{12, 3} fields
authorMike Rapoport <mike.rapoport@gmail.com>
Mon, 15 Feb 2016 17:53:56 +0000 (19:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Feb 2016 02:26:17 +0000 (18:26 -0800)
Use straight-forward definition of HWC_COLOR_{12,3} register fields instead
of magic numbers

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/sm750_cursor.c

index 122d23f..37decce 100644 (file)
@@ -41,11 +41,12 @@ writel((data), cursor->mmio + (addr))
 #define HWC_LOCATION_X_MASK                 0x7ff
 
 #define HWC_COLOR_12                        0x8
-#define HWC_COLOR_12_2_RGB565               31:16
-#define HWC_COLOR_12_1_RGB565               15:0
+#define HWC_COLOR_12_2_RGB565_SHIFT         16
+#define HWC_COLOR_12_2_RGB565_MASK          (0xffff << 16)
+#define HWC_COLOR_12_1_RGB565_MASK          0xffff
 
 #define HWC_COLOR_3                         0xC
-#define HWC_COLOR_3_RGB565                  15:0
+#define HWC_COLOR_3_RGB565_MASK             0xffff
 
 
 /* hw_cursor_xxx works for voyager,718 and 750 */
@@ -79,7 +80,10 @@ void hw_cursor_setPos(struct lynx_cursor *cursor,
 void hw_cursor_setColor(struct lynx_cursor *cursor,
                                                u32 fg, u32 bg)
 {
-       POKE32(HWC_COLOR_12, (fg<<16)|(bg&0xffff));
+       u32 reg = (fg << HWC_COLOR_12_2_RGB565_SHIFT) &
+               HWC_COLOR_12_2_RGB565_MASK;
+
+       POKE32(HWC_COLOR_12, reg | (bg & HWC_COLOR_12_1_RGB565_MASK));
        POKE32(HWC_COLOR_3, 0xffe0);
 }