Merge to Fedora kernel-2.6.7-1.492
[linux-2.6.git] / include / linux / fb.h
index cc7f14f..afcdc66 100644 (file)
@@ -530,6 +530,10 @@ struct fb_ops {
 #define FBINFO_HWACCEL_YPAN            0x2000 /* optional */
 #define FBINFO_HWACCEL_YWRAP           0x4000 /* optional */
 
+#define FBINFO_MISC_MODECHANGEUSER     0x10000 /* mode change request
+                                                 from userspace */
+#define FBINFO_MISC_MODESWITCH         0x20000 /* mode switch */
+#define FBINFO_MISC_MODESWITCHLATE     0x40000 /* init hardware later */
 
 struct fb_info {
        int node;
@@ -539,6 +543,7 @@ struct fb_info {
        struct fb_monspecs monspecs;    /* Current Monitor specs */
        struct fb_cursor cursor;        /* Current cursor */    
        struct work_struct queue;       /* Framebuffer event queue */
+       struct timer_list cursor_timer; /* Cursor timer */
        struct fb_pixmap pixmap;        /* Image hardware mapper */
        struct fb_pixmap sprite;        /* Cursor hardware mapper */
        struct fb_cmap cmap;            /* Current cmap */
@@ -590,7 +595,7 @@ struct fb_info {
 #define fb_writeq sbus_writeq
 #define fb_memset sbus_memset_io
 
-#elif defined(__i386__) || defined(__alpha__) || defined(__x86_64__) || defined(__hppa__) || defined(__sh__) || defined(__powerpc__)
+#elif defined(__i386__) || defined(__alpha__) || defined(__x86_64__) || defined(__hppa__) || (defined(__sh__) && !defined(__SH5__)) || defined(__powerpc__)
 
 #define fb_readb __raw_readb
 #define fb_readw __raw_readw
@@ -634,10 +639,16 @@ extern int unregister_framebuffer(struct fb_info *fb_info);
 extern int fb_prepare_logo(struct fb_info *fb_info);
 extern int fb_show_logo(struct fb_info *fb_info);
 extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size);
-extern void fb_move_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
+extern void fb_iomove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
                                u8 *dst, u32 d_pitch, u8 *src, u32 idx,
                                u32 height, u32 shift_high, u32 shift_low, u32 mod);
-extern void fb_move_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
+extern void fb_iomove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
+                               u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
+                               u32 height);
+extern void fb_sysmove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
+                               u8 *dst, u32 d_pitch, u8 *src, u32 idx,
+                               u32 height, u32 shift_high, u32 shift_low, u32 mod);
+extern void fb_sysmove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
                                u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
                                u32 height);
 extern void fb_load_cursor_image(struct fb_info *);