Commit 928c6224 authored by James Simmons's avatar James Simmons

Removed all old fbgen code. Small cleanups.

parent 5dde0bf6
...@@ -68,12 +68,6 @@ CONFIG_FB_PM2_CVPPC ...@@ -68,12 +68,6 @@ CONFIG_FB_PM2_CVPPC
Say Y to enable support for the Amiga Phase 5 CVisionPPC BVisionPPC Say Y to enable support for the Amiga Phase 5 CVisionPPC BVisionPPC
framebuffer cards. Phase 5 is no longer with us, alas. framebuffer cards. Phase 5 is no longer with us, alas.
CONFIG_FB_PM3
This is the frame buffer device driver for the 3DLabs Permedia3
chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
and maybe other boards.
CONFIG_FB_AMIGA CONFIG_FB_AMIGA
This is the frame buffer device driver for the builtin graphics This is the frame buffer device driver for the builtin graphics
chipset found in Amigas. chipset found in Amigas.
...@@ -83,6 +77,12 @@ CONFIG_FB_AMIGA ...@@ -83,6 +77,12 @@ CONFIG_FB_AMIGA
module will be called amifb.o. If you want to compile it as a module will be called amifb.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. module, say M here and read <file:Documentation/modules.txt>.
CONFIG_FB_PM3
This is the frame buffer device driver for the 3DLabs Permedia3
chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
and maybe other boards.
CONFIG_FB_AMIGA_OCS CONFIG_FB_AMIGA_OCS
This enables support for the original Agnus and Denise video chips, This enables support for the original Agnus and Denise video chips,
found in the Amiga 1000 and most A500's and A2000's. If you intend found in the Amiga 1000 and most A500's and A2000's. If you intend
...@@ -594,7 +594,7 @@ CONFIG_FB_IMSTT ...@@ -594,7 +594,7 @@ CONFIG_FB_IMSTT
many Macintosh and compatible computers. many Macintosh and compatible computers.
CONFIG_FB_TX3912 CONFIG_FB_TX3912
The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core; The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core
see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>. see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
Say Y here to enable kernel support for the on-board framebuffer. Say Y here to enable kernel support for the on-board framebuffer.
......
...@@ -244,11 +244,11 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -244,11 +244,11 @@ if [ "$CONFIG_FB" = "y" ]; then
define_tristate CONFIG_FBCON_MFB m define_tristate CONFIG_FBCON_MFB m
fi fi
fi fi
if [ "$CONFIG_FB_ACORN" = "y" ]; then if [ "$CONFIG_FB_ACORN" = "y" -o "$CONFIG_FB_SA1100" = "y" ]; then
define_tristate CONFIG_FBCON_CFB2 y define_tristate CONFIG_FBCON_CFB2 y
define_tristate CONFIG_FBCON_CFB4 y define_tristate CONFIG_FBCON_CFB4 y
else else
if [ "$CONFIG_FB_ACORN" = "m" ]; then if [ "$CONFIG_FB_ACORN" = "m" -o "$CONFIG_FB_SA1100" = "m"]; then
define_tristate CONFIG_FBCON_CFB2 m define_tristate CONFIG_FBCON_CFB2 m
define_tristate CONFIG_FBCON_CFB4 m define_tristate CONFIG_FBCON_CFB4 m
fi fi
...@@ -264,7 +264,7 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -264,7 +264,7 @@ if [ "$CONFIG_FB" = "y" ]; then
"$CONFIG_FB_VALKYRIE" = "y" -o "$CONFIG_FB_PLATINUM" = "y" -o \ "$CONFIG_FB_VALKYRIE" = "y" -o "$CONFIG_FB_PLATINUM" = "y" -o \
"$CONFIG_FB_IGA" = "y" -o "$CONFIG_FB_MATROX" = "y" -o \ "$CONFIG_FB_IGA" = "y" -o "$CONFIG_FB_MATROX" = "y" -o \
"$CONFIG_FB_CT65550" = "y" -o "$CONFIG_FB_PM2" = "y" -o \ "$CONFIG_FB_CT65550" = "y" -o "$CONFIG_FB_PM2" = "y" -o \
"$CONFIG_FB_ATY" = "y" ]; then "$CONFIG_FB_ATY" = "y" -o "$CONFIG_FB_SA1100" = "y" ]; then
define_tristate CONFIG_FBCON_CFB8 y define_tristate CONFIG_FBCON_CFB8 y
else else
if [ "$CONFIG_FB_ACORN" = "m" -o "$CONFIG_FB_ATARI" = "m" -o \ if [ "$CONFIG_FB_ACORN" = "m" -o "$CONFIG_FB_ATARI" = "m" -o \
...@@ -277,7 +277,8 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -277,7 +277,8 @@ if [ "$CONFIG_FB" = "y" ]; then
"$CONFIG_FB_VIRGE" = "m" -o "$CONFIG_FB_CYBER" = "m" -o \ "$CONFIG_FB_VIRGE" = "m" -o "$CONFIG_FB_CYBER" = "m" -o \
"$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \ "$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \
"$CONFIG_FB_IGA" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \ "$CONFIG_FB_IGA" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \
"$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_PM2" = "m" ]; then "$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_PM2" = "m"-o \
"$CONFIG_FB_SA1100" = "m" ]; then
define_tristate CONFIG_FBCON_CFB8 m define_tristate CONFIG_FBCON_CFB8 m
fi fi
fi fi
...@@ -290,7 +291,7 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -290,7 +291,7 @@ if [ "$CONFIG_FB" = "y" ]; then
"$CONFIG_FB_VALKYRIE" = "y" -o "$CONFIG_FB_PLATINUM" = "y" -o \ "$CONFIG_FB_VALKYRIE" = "y" -o "$CONFIG_FB_PLATINUM" = "y" -o \
"$CONFIG_FB_CT65550" = "y" -o "$CONFIG_FB_MATROX" = "y" -o \ "$CONFIG_FB_CT65550" = "y" -o "$CONFIG_FB_MATROX" = "y" -o \
"$CONFIG_FB_PM2" = "y" -o "$CONFIG_FB_CYBER2000" = "y" -o \ "$CONFIG_FB_PM2" = "y" -o "$CONFIG_FB_CYBER2000" = "y" -o \
"$CONFIG_FB_ATY" = "y" ]; then "$CONFIG_FB_ATY" = "y" -o "$CONFIG_FB_SA1100" = "y" ]; then
define_tristate CONFIG_FBCON_CFB16 y define_tristate CONFIG_FBCON_CFB16 y
else else
if [ "$CONFIG_FB_ATARI" = "m" -o "$CONFIG_FB_SIS" = "m" -o \ if [ "$CONFIG_FB_ATARI" = "m" -o "$CONFIG_FB_SIS" = "m" -o \
...@@ -301,7 +302,8 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -301,7 +302,8 @@ if [ "$CONFIG_FB" = "y" ]; then
"$CONFIG_FB_VIRGE" = "m" -o "$CONFIG_FB_CYBER" = "m" -o \ "$CONFIG_FB_VIRGE" = "m" -o "$CONFIG_FB_CYBER" = "m" -o \
"$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \ "$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \
"$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \ "$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \
"$CONFIG_FB_PM2" = "m" -o "$CONFIG_FB_CYBER2000" = "m" ]; then "$CONFIG_FB_PM2" = "m" -o "$CONFIG_FB_CYBER2000" = "m" -o \
"$CONFIG_FB_SA1100" = "y" ]; then
define_tristate CONFIG_FBCON_CFB16 m define_tristate CONFIG_FBCON_CFB16 m
fi fi
fi fi
...@@ -350,16 +352,14 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -350,16 +352,14 @@ if [ "$CONFIG_FB" = "y" ]; then
"$CONFIG_FB_3DFX" = "y" -o "$CONFIG_FB_TX3912" = "y" -o \ "$CONFIG_FB_3DFX" = "y" -o "$CONFIG_FB_TX3912" = "y" -o \
"$CONFIG_FB_MAXINE" = "y" -o "$CONFIG_FB_APOLLO" = "y" -o \ "$CONFIG_FB_MAXINE" = "y" -o "$CONFIG_FB_APOLLO" = "y" -o \
"$CONFIG_FB_ATY128" = "y" -o "$CONFIG_FB_MAC" = "y" -o \ "$CONFIG_FB_ATY128" = "y" -o "$CONFIG_FB_MAC" = "y" -o \
"$CONFIG_FB_RIVA" = "y" -o "$CONFIG_FB_SA1100" = "y" -o \ "$CONFIG_FB_RIVA" = "y" -o "$CONFIG_FB_OF" = "y" -o \
"$CONFIG_FB_OF" = "y" -o "$CONFIG_FB_SGIVW" = "y" -o \ "$CONFIG_FB_SGIVW" = "y" ]; then
"$CONFIG_FB_ATY" = "y" ]; then
define_tristate CONFIG_FBCON_ACCEL y define_tristate CONFIG_FBCON_ACCEL y
else else
if [ "$CONFIG_FB_NEOMAGIC" = "m" -o "$CONFIG_FB_HIT" = "m" -o \ if [ "$CONFIG_FB_NEOMAGIC" = "m" -o "$CONFIG_FB_HIT" = "m" -o \
"$CONFIG_FB_G364" = "m" -o "$CONFIG_FB_VIRTUAL" = "m" -o \ "$CONFIG_FB_G364" = "m" -o "$CONFIG_FB_VIRTUAL" = "m" -o \
"$CONFIG_FB_CLPS711X" = "m" -o "$CONFIG_FB_3DFX" = "m" -o \ "$CONFIG_FB_CLPS711X" = "m" -o "$CONFIG_FB_3DFX" = "m" -o \
"$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_ATY128" = "m" -o \ "$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_SGIVW" = "m" ]; then
"$CONFIG_FB_SGIVW" = "m" -o "$CONFIG_FB_ATY" = "m" ]; then
define_tristate CONFIG_FBCON_ACCEL m define_tristate CONFIG_FBCON_ACCEL m
fi fi
fi fi
...@@ -376,13 +376,11 @@ if [ "$CONFIG_FB" = "y" ]; then ...@@ -376,13 +376,11 @@ if [ "$CONFIG_FB" = "y" ]; then
define_tristate CONFIG_FBCON_IPLAN2P2 y define_tristate CONFIG_FBCON_IPLAN2P2 y
define_tristate CONFIG_FBCON_IPLAN2P4 y define_tristate CONFIG_FBCON_IPLAN2P4 y
define_tristate CONFIG_FBCON_IPLAN2P8 y define_tristate CONFIG_FBCON_IPLAN2P8 y
# define_tristate CONFIG_FBCON_IPLAN2P16 y
else else
if [ "$CONFIG_FB_ATARI" = "m" ]; then if [ "$CONFIG_FB_ATARI" = "m" ]; then
define_tristate CONFIG_FBCON_IPLAN2P2 m define_tristate CONFIG_FBCON_IPLAN2P2 m
define_tristate CONFIG_FBCON_IPLAN2P4 m define_tristate CONFIG_FBCON_IPLAN2P4 m
define_tristate CONFIG_FBCON_IPLAN2P8 m define_tristate CONFIG_FBCON_IPLAN2P8 m
# define_tristate CONFIG_FBCON_IPLAN2P16 m
fi fi
fi fi
if [ "$CONFIG_FB_VGA16" = "y" ]; then if [ "$CONFIG_FB_VGA16" = "y" ]; then
......
...@@ -94,7 +94,7 @@ obj-$(CONFIG_FB_ATY) += aty/ ...@@ -94,7 +94,7 @@ obj-$(CONFIG_FB_ATY) += aty/
obj-$(CONFIG_FB_SUN3) += sun3fb.o obj-$(CONFIG_FB_SUN3) += sun3fb.o
obj-$(CONFIG_FB_BWTWO) += bwtwofb.o obj-$(CONFIG_FB_BWTWO) += bwtwofb.o
obj-$(CONFIG_FB_HGA) += hgafb.o obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_SA1100) += sa1100fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_SA1100) += sa1100fb.o
obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_HIT) += hitfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_HIT) += hitfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_E1355) += epson1355fb.o obj-$(CONFIG_FB_E1355) += epson1355fb.o
......
...@@ -1748,7 +1748,7 @@ aty128_init(struct fb_info_aty128 *info, const char *name) ...@@ -1748,7 +1748,7 @@ aty128_init(struct fb_info_aty128 *info, const char *name)
board_list = aty128_board_list_add(board_list, info); board_list = aty128_board_list_add(board_list, info);
size = (fb_display[con].var.bits_per_pixel <= 8) ? 256 : 32; size = (var.bits_per_pixel <= 8) ? 256 : 32;
fb_alloc_cmap(info->fb_info.cmap, size, 0); fb_alloc_cmap(info->fb_info.cmap, size, 0);
if (register_framebuffer(&info->fb_info) < 0) if (register_framebuffer(&info->fb_info) < 0)
......
...@@ -110,31 +110,27 @@ int gen_set_cmap(struct fb_cmap *cmap, int kspc, int con, ...@@ -110,31 +110,27 @@ int gen_set_cmap(struct fb_cmap *cmap, int kspc, int con,
int fbgen_pan_display(struct fb_var_screeninfo *var, int con, int fbgen_pan_display(struct fb_var_screeninfo *var, int con,
struct fb_info *info) struct fb_info *info)
{ {
struct fb_info_gen *info2 = (struct fb_info_gen *)info;
struct fbgen_hwswitch *fbhw = info2->fbhw;
int xoffset = var->xoffset; int xoffset = var->xoffset;
int yoffset = var->yoffset; int yoffset = var->yoffset;
int err; int err;
if (xoffset < 0 || if (xoffset < 0 || yoffset < 0 ||
xoffset+fb_display[con].var.xres > fb_display[con].var.xres_virtual || xoffset + info->var.xres > info->var.xres_virtual ||
yoffset < 0 || yoffset + info->var.yres > info->var.yres_virtual)
yoffset+fb_display[con].var.yres > fb_display[con].var.yres_virtual)
return -EINVAL; return -EINVAL;
if (con == info->currcon) { if (con == info->currcon) {
if (fbhw->pan_display) { if (info->fbops->fb_pan_display) {
if ((err = fbhw->pan_display(var, info2))) if ((err = info->fbops->fb_pan_display(var, con, info)))
return err; return err;
} else } else
return -EINVAL; return -EINVAL;
} }
fb_display[con].var.xoffset = var->xoffset; info->var.xoffset = var->xoffset;
fb_display[con].var.yoffset = var->yoffset; info->var.yoffset = var->yoffset;
if (var->vmode & FB_VMODE_YWRAP) if (var->vmode & FB_VMODE_YWRAP)
fb_display[con].var.vmode |= FB_VMODE_YWRAP; info->var.vmode |= FB_VMODE_YWRAP;
else else
fb_display[con].var.vmode &= ~FB_VMODE_YWRAP; info->var.vmode &= ~FB_VMODE_YWRAP;
return 0; return 0;
} }
...@@ -273,12 +269,10 @@ int gen_switch(int con, struct fb_info *info) ...@@ -273,12 +269,10 @@ int gen_switch(int con, struct fb_info *info)
int fbgen_blank(int blank, struct fb_info *info) int fbgen_blank(int blank, struct fb_info *info)
{ {
struct fb_info_gen *info2 = (struct fb_info_gen *)info;
struct fbgen_hwswitch *fbhw = info2->fbhw;
u16 black[16];
struct fb_cmap cmap; struct fb_cmap cmap;
u16 black[16];
if (fbhw->blank && !fbhw->blank(blank, info2)) if (info->fbops->fb_blank && !info->fbops->fb_blank(blank, info))
return 0; return 0;
if (blank) { if (blank) {
memset(black, 0, 16*sizeof(u16)); memset(black, 0, 16*sizeof(u16));
......
...@@ -304,7 +304,6 @@ extern int GET_FB_IDX(kdev_t rdev); ...@@ -304,7 +304,6 @@ extern int GET_FB_IDX(kdev_t rdev);
#include <linux/devfs_fs_kernel.h> #include <linux/devfs_fs_kernel.h>
struct fb_info; struct fb_info;
struct fb_info_gen;
struct vm_area_struct; struct vm_area_struct;
struct file; struct file;
...@@ -396,67 +395,21 @@ struct fb_info { ...@@ -396,67 +395,21 @@ struct fb_info {
#define FBINFO_FLAG_DEFAULT 0 #define FBINFO_FLAG_DEFAULT 0
#endif #endif
/*
* This structure abstracts from the underlying hardware. It is not
* mandatory but used by the `generic' frame buffer operations.
* Read drivers/video/skeletonfb.c for more information.
*/
struct fbgen_hwswitch {
void (*detect)(void);
int (*encode_fix)(struct fb_fix_screeninfo *fix, const void *par,
struct fb_info_gen *info);
int (*decode_var)(const struct fb_var_screeninfo *var, void *par,
struct fb_info_gen *info);
int (*encode_var)(struct fb_var_screeninfo *var, const void *par,
struct fb_info_gen *info);
void (*get_par)(void *par, struct fb_info_gen *info);
void (*set_par)(const void *par, struct fb_info_gen *info);
int (*getcolreg)(unsigned regno, unsigned *red, unsigned *green,
unsigned *blue, unsigned *transp, struct fb_info *info);
int (*pan_display)(const struct fb_var_screeninfo *var,
struct fb_info_gen *info);
int (*blank)(int blank_mode, struct fb_info_gen *info);
void (*set_disp)(const void *par, struct display *disp,
struct fb_info_gen *info);
};
struct fb_info_gen {
struct fb_info info;
/* Entries for a generic frame buffer device */
/* Yes, this starts looking like C++ */
u_int parsize;
struct fbgen_hwswitch *fbhw;
/* From here on everything is device dependent */
};
/* /*
* `Generic' versions of the frame buffer device operations * `Generic' versions of the frame buffer device operations
*/ */
extern int fbgen_get_fix(struct fb_fix_screeninfo *fix, int con,
struct fb_info *info);
extern int gen_get_fix(struct fb_fix_screeninfo *fix, int con, extern int gen_get_fix(struct fb_fix_screeninfo *fix, int con,
struct fb_info *info); struct fb_info *info);
extern int fbgen_get_var(struct fb_var_screeninfo *var, int con,
struct fb_info *info);
extern int gen_get_var(struct fb_var_screeninfo *var, int con, extern int gen_get_var(struct fb_var_screeninfo *var, int con,
struct fb_info *info); struct fb_info *info);
extern int fbgen_set_var(struct fb_var_screeninfo *var, int con,
struct fb_info *info);
extern int gen_set_var(struct fb_var_screeninfo *var, int con, extern int gen_set_var(struct fb_var_screeninfo *var, int con,
struct fb_info *info); struct fb_info *info);
extern int fbgen_get_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info);
extern int gen_get_cmap(struct fb_cmap *cmap, int kspc, int con, extern int gen_get_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info); struct fb_info *info);
extern int fbgen_set_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info);
extern int gen_set_cmap(struct fb_cmap *cmap, int kspc, int con, extern int gen_set_cmap(struct fb_cmap *cmap, int kspc, int con,
struct fb_info *info); struct fb_info *info);
extern int fbgen_pan_display(struct fb_var_screeninfo *var, int con, extern int fb_pan_display(struct fb_var_screeninfo *var, int con,
struct fb_info *info); struct fb_info *info);
extern void cfb_fillrect(struct fb_info *info, struct fb_fillrect *rect); extern void cfb_fillrect(struct fb_info *info, struct fb_fillrect *rect);
extern void cfb_copyarea(struct fb_info *info, struct fb_copyarea *region); extern void cfb_copyarea(struct fb_info *info, struct fb_copyarea *region);
...@@ -466,16 +419,9 @@ extern void cfb_imageblit(struct fb_info *info, struct fb_image *image); ...@@ -466,16 +419,9 @@ extern void cfb_imageblit(struct fb_info *info, struct fb_image *image);
* Helper functions * Helper functions
*/ */
extern int fbgen_do_set_var(struct fb_var_screeninfo *var, int isactive,
struct fb_info_gen *info);
extern void fbgen_set_disp(int con, struct fb_info_gen *info);
extern void do_install_cmap(int con, struct fb_info *info);
extern int fbgen_update_var(int con, struct fb_info *info);
extern int gen_update_var(int con, struct fb_info *info); extern int gen_update_var(int con, struct fb_info *info);
extern int fbgen_switch(int con, struct fb_info *info); extern int fb_blank(int blank, struct fb_info *info);
extern int fbgen_blank(int blank, struct fb_info *info);
extern int gen_switch(int con, struct fb_info *info); extern int gen_switch(int con, struct fb_info *info);
extern void gen_set_disp(int con, struct fb_info *info); extern void gen_set_disp(int con, struct fb_info *info);
/* drivers/video/fbmem.c */ /* drivers/video/fbmem.c */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment