patch-2.1.124 linux/include/linux/fb.h
Next file: linux/include/linux/in.h
Previous file: linux/include/linux/errqueue.h
Back to the patch index
Back to the overall index
- Lines: 181
- Date:
Thu Oct 1 10:02:22 1998
- Orig file:
v2.1.123/linux/include/linux/fb.h
- Orig date:
Tue Jul 28 14:21:09 1998
diff -u --recursive --new-file v2.1.123/linux/include/linux/fb.h linux/include/linux/fb.h
@@ -57,6 +57,7 @@
#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */
#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */
#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */
+#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */
struct fb_fix_screeninfo {
char id[16]; /* identification string eg "TT Builtin" */
@@ -230,56 +231,59 @@
*/
struct display {
- /* Filled in by the frame buffer device */
+ /* Filled in by the frame buffer device */
- struct fb_var_screeninfo var; /* variable infos. yoffset and vmode */
- /* are updated by fbcon.c */
- struct fb_cmap cmap; /* colormap */
- char *screen_base; /* pointer to top of virtual screen */
+ struct fb_var_screeninfo var; /* variable infos. yoffset and vmode */
+ /* are updated by fbcon.c */
+ struct fb_cmap cmap; /* colormap */
+ char *screen_base; /* pointer to top of virtual screen */
/* (virtual address) */
- int visual;
- int type; /* see FB_TYPE_* */
- int type_aux; /* Interleave for interleaved Planes */
- u_short ypanstep; /* zero if no hardware ypan */
- u_short ywrapstep; /* zero if no hardware ywrap */
- u_long line_length; /* length of a line in bytes */
- u_short can_soft_blank; /* zero if no hardware blanking */
- u_short inverse; /* != 0 text black on white as default */
+ int visual;
+ int type; /* see FB_TYPE_* */
+ int type_aux; /* Interleave for interleaved Planes */
+ u_short ypanstep; /* zero if no hardware ypan */
+ u_short ywrapstep; /* zero if no hardware ywrap */
+ u_long line_length; /* length of a line in bytes */
+ u_short can_soft_blank; /* zero if no hardware blanking */
+ u_short inverse; /* != 0 text black on white as default */
+ struct display_switch *dispsw; /* low level operations */
+ void *dispsw_data; /* optional dispsw helper data */
#if 0
- struct fb_fix_cursorinfo fcrsr;
- struct fb_var_cursorinfo *vcrsr;
- struct fb_cursorstate crsrstate;
+ struct fb_fix_cursorinfo fcrsr;
+ struct fb_var_cursorinfo *vcrsr;
+ struct fb_cursorstate crsrstate;
#endif
- /* Filled in by the low-level console driver */
+ /* Filled in by the low-level console driver */
- struct vc_data *conp; /* pointer to console data */
- struct fb_info *fb_info; /* frame buffer for this console */
- int vrows; /* number of virtual rows */
- unsigned short cursor_x; /* current cursor position */
- unsigned short cursor_y;
- int fgcol; /* text colors */
- int bgcol;
- u_long next_line; /* offset to one line below */
- u_long next_plane; /* offset to next plane */
- u_char *fontdata; /* Font associated to this display */
- unsigned short fontheightlog;
- unsigned short fontwidthlog;
- unsigned short fontheight;
- unsigned short fontwidth;
- int userfont; /* != 0 if fontdata kmalloc()ed */
- struct display_switch *dispsw; /* low level operations */
- u_short scrollmode; /* Scroll Method */
- short yscroll; /* Hardware scrolling */
- unsigned char fgshift, bgshift;
- unsigned short charmask; /* 0xff or 0x1ff */
+ struct vc_data *conp; /* pointer to console data */
+ struct fb_info *fb_info; /* frame buffer for this console */
+ int vrows; /* number of virtual rows */
+ unsigned short cursor_x; /* current cursor position */
+ unsigned short cursor_y;
+ int fgcol; /* text colors */
+ int bgcol;
+ u_long next_line; /* offset to one line below */
+ u_long next_plane; /* offset to next plane */
+ u_char *fontdata; /* Font associated to this display */
+ unsigned short _fontheightlog;
+ unsigned short _fontwidthlog;
+ unsigned short _fontheight;
+ unsigned short _fontwidth;
+ int userfont; /* != 0 if fontdata kmalloc()ed */
+ u_short scrollmode; /* Scroll Method */
+ short yscroll; /* Hardware scrolling */
+ unsigned char fgshift, bgshift;
+ unsigned short charmask; /* 0xff or 0x1ff */
};
struct fb_info {
char modename[40]; /* default video mode */
int node;
+ int flags;
+#define FBINFO_FLAG_MODULE 1 /* Low-level driver is a module */
struct fb_ops *fbops;
struct fb_monspecs monspecs;
struct display *disp; /* initial display variable */
@@ -297,6 +301,11 @@
/* From here on everything is device dependent */
};
+#ifdef MODULE
+#define FBINFO_FLAG_DEFAULT FBINFO_FLAG_MODULE
+#else
+#define FBINFO_FLAG_DEFAULT 0
+#endif
/*
* This structure abstracts from the underlying hardware. It is not
@@ -321,8 +330,8 @@
int (*pan_display)(const struct fb_var_screeninfo *var,
struct fb_info_gen *info);
int (*blank)(int blank_mode, struct fb_info_gen *info);
- struct display_switch *(*get_dispsw)(const void *par,
- struct fb_info_gen *info);
+ void (*set_dispsw)(const void *par, struct display *disp,
+ struct fb_info_gen *info);
};
struct fb_info_gen {
@@ -394,14 +403,13 @@
extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp);
extern void fb_copy_cmap(struct fb_cmap *from, struct fb_cmap *to,
int fsfromto);
-extern int fb_get_cmap(struct fb_cmap *cmap, struct fb_var_screeninfo *var,
- int kspc, int (*getcolreg)(u_int, u_int *, u_int *,
- u_int *, u_int *,
- struct fb_info *),
+extern int fb_get_cmap(struct fb_cmap *cmap, int kspc,
+ int (*getcolreg)(u_int, u_int *, u_int *, u_int *,
+ u_int *, struct fb_info *),
struct fb_info *fb_info);
-extern int fb_set_cmap(struct fb_cmap *cmap, struct fb_var_screeninfo *var,
- int kspc, int (*setcolreg)(u_int, u_int, u_int, u_int,
- u_int, struct fb_info *),
+extern int fb_set_cmap(struct fb_cmap *cmap, int kspc,
+ int (*setcolreg)(u_int, u_int, u_int, u_int, u_int,
+ struct fb_info *),
struct fb_info *fb_info);
extern struct fb_cmap *fb_default_cmap(int len);
extern void fb_invert_cmaps(void);
@@ -461,31 +469,6 @@
#define FB_CURSOR_OFF 0
#define FB_CURSOR_ON 1
#define FB_CURSOR_FLASH 2
-
-#define FBCMD_DRAWLINE 0x4621
-#define FBCMD_MOVE 0x4622
-
-#define FB_LINE_XOR 1
-#define FB_LINE_BOX 2
-#define FB_LINE_FILLED 4
-
-struct fb_line {
- __s32 start_x;
- __s32 start_y;
- __s32 end_x;
- __s32 end_y;
- __u32 color;
- __u32 option;
-};
-
-struct fb_move {
- __s32 src_x;
- __s32 src_y;
- __s32 dest_x;
- __s32 dest_y;
- __u32 height;
- __u32 width;
-};
#endif /* Preliminary */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov