FB: sa1100: move machine inf structures to <video/sa1100fb.h>
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 14 Jan 2012 10:56:06 +0000 (10:56 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 21 Feb 2012 11:56:19 +0000 (11:56 +0000)
Move the LCD data structures to an include file which can be shared
with the board code in arch/arm/mach-sa1100.

Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/video/sa1100fb.c
drivers/video/sa1100fb.h
include/video/sa1100fb.h [new file with mode: 0644]

index a905e20404fdb1b5520f7c362db40100762e5327..8f5557a12ff8cb936e89f1fcf51178143523e208 100644 (file)
 #include <linux/mutex.h>
 #include <linux/io.h>
 
+#include <video/sa1100fb.h>
+
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <mach/assabet.h>
@@ -1388,7 +1390,9 @@ static struct sa1100fb_info * __devinit sa1100fb_init_fbinfo(struct device *dev)
        fbi->rgb[RGB_8]         = &rgb_8;
        fbi->rgb[RGB_16]        = &def_rgb_16;
 
-       inf = sa1100fb_get_machine_info(fbi);
+       inf = dev->platform_data;
+       if (!inf)
+               inf = sa1100fb_get_machine_info(fbi);
 
        /*
         * People just don't seem to get this.  We don't support
index 77239b766e5634ac956f002209c2c001a6318984..9ff9ba9a281a1ac86da4df781f44d31c42823307 100644 (file)
  * for more details.
  */
 
-#define RGB_4  0
-#define RGB_8  1
-#define RGB_16 2
-#define NR_RGB 3
-
-/* These are the bitfields for each display depth that we support. */
-struct sa1100fb_rgb {
-       struct fb_bitfield      red;
-       struct fb_bitfield      green;
-       struct fb_bitfield      blue;
-       struct fb_bitfield      transp;
-};
-
-/* This structure describes the machine which we are running on. */
-struct sa1100fb_mach_info {
-       u_long          pixclock;
-
-       u_short         xres;
-       u_short         yres;
-
-       u_char          bpp;
-       u_char          hsync_len;
-       u_char          left_margin;
-       u_char          right_margin;
-
-       u_char          vsync_len;
-       u_char          upper_margin;
-       u_char          lower_margin;
-       u_char          sync;
-
-       u_int           cmap_greyscale:1,
-                       cmap_inverse:1,
-                       cmap_static:1,
-                       unused:29;
-
-       u_int           lccr0;
-       u_int           lccr3;
-
-       /* Overrides for the default RGB maps */
-       const struct sa1100fb_rgb *rgb[NR_RGB];
-};
-
 /* Shadows for LCD controller registers */
 struct sa1100fb_lcd_reg {
        unsigned long lccr0;
diff --git a/include/video/sa1100fb.h b/include/video/sa1100fb.h
new file mode 100644 (file)
index 0000000..e73c813
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * StrongARM 1100 LCD Controller Frame Buffer Device
+ *
+ * Copyright (C) 1999 Eric A. Thomas
+ *  Based on acornfb.c Copyright (C) Russell King.
+ *  
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+#ifndef _VIDEO_SA1100FB_H
+#define _VIDEO_SA1100FB_H
+
+#include <linux/fb.h>
+#include <linux/types.h>
+
+#define RGB_4  0
+#define RGB_8  1
+#define RGB_16 2
+#define NR_RGB 3
+
+/* These are the bitfields for each display depth that we support. */
+struct sa1100fb_rgb {
+       struct fb_bitfield      red;
+       struct fb_bitfield      green;
+       struct fb_bitfield      blue;
+       struct fb_bitfield      transp;
+};
+
+/* This structure describes the machine which we are running on. */
+struct sa1100fb_mach_info {
+       u_long          pixclock;
+
+       u_short         xres;
+       u_short         yres;
+
+       u_char          bpp;
+       u_char          hsync_len;
+       u_char          left_margin;
+       u_char          right_margin;
+
+       u_char          vsync_len;
+       u_char          upper_margin;
+       u_char          lower_margin;
+       u_char          sync;
+
+       u_int           cmap_greyscale:1,
+                       cmap_inverse:1,
+                       cmap_static:1,
+                       unused:29;
+
+       u_int           lccr0;
+       u_int           lccr3;
+
+       /* Overrides for the default RGB maps */
+       const struct sa1100fb_rgb *rgb[NR_RGB];
+};
+
+#endif