]> err.no Git - linux-2.6/blobdiff - include/linux/fb.h
[PATCH] fbdev: Fix greater than 1 bit monochrome color handling
[linux-2.6] / include / linux / fb.h
index b468bf49654782d1d7cc6e6f12dc79d04fd34325..c71a7162e0983ba1513339f2dfc04628faab884f 100644 (file)
@@ -495,6 +495,9 @@ struct fb_cursor_user {
 #define FB_EVENT_BLANK                  0x08
 /*      Private modelist is to be replaced */
 #define FB_EVENT_NEW_MODELIST           0x09
+/*     The resolution of the passed in fb_info about to change and
+        all vc's should be changed         */
+#define FB_EVENT_MODE_CHANGE_ALL       0x0A
 
 struct fb_event {
        struct fb_info *info;
@@ -524,11 +527,11 @@ struct fb_pixmap {
        u32 offset;             /* current offset to buffer             */
        u32 buf_align;          /* byte alignment of each bitmap        */
        u32 scan_align;         /* alignment per scanline               */
-       u32 access_align;       /* alignment per read/write             */
+       u32 access_align;       /* alignment per read/write (bits)      */
        u32 flags;              /* see FB_PIXMAP_*                      */
        /* access methods */
-       void (*outbuf)(struct fb_info *info, u8 *addr, u8 *src, unsigned int size);
-       u8   (*inbuf) (struct fb_info *info, u8 *addr);
+       void (*writeio)(struct fb_info *info, void __iomem *dst, void *src, unsigned int size);
+       void (*readio) (struct fb_info *info, void *dst, void __iomem *src, unsigned int size);
 };
 
 
@@ -816,20 +819,12 @@ 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_iomove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
-                               u8 *dst, u32 d_pitch, u8 *src, u32 idx,
+extern void fb_pad_unaligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 idx,
                                u32 height, u32 shift_high, u32 shift_low, u32 mod);
-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_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height);
 extern void fb_set_suspend(struct fb_info *info, int state);
-extern int fb_get_color_depth(struct fb_var_screeninfo *var);
+extern int fb_get_color_depth(struct fb_var_screeninfo *var,
+                             struct fb_fix_screeninfo *fix);
 extern int fb_get_options(char *name, char **option);
 extern int fb_new_modelist(struct fb_info *info);
 
@@ -865,7 +860,9 @@ extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var,
 extern int fb_validate_mode(const struct fb_var_screeninfo *var,
                            struct fb_info *info);
 extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var);
-extern void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs);
+extern const unsigned char *fb_firmware_edid(struct device *device);
+extern void fb_edid_to_monspecs(unsigned char *edid,
+                               struct fb_monspecs *specs);
 extern void fb_destroy_modedb(struct fb_videomode *modedb);
 
 /* drivers/video/modedb.c */