1 diff -urN orig/drivers/video/Config.in linux/drivers/video/Config.in
2 --- orig/drivers/video/Config.in Mon Sep 4 13:39:22 2000
3 +++ linux/drivers/video/Config.in Mon Oct 2 16:23:19 2000
5 define_bool CONFIG_DUMMY_CONSOLE y
6 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
7 if [ "$CONFIG_AMIGA" = "y" -o "$CONFIG_PCI" = "y" ]; then
8 - bool 'Permedia2 support (experimental)' CONFIG_FB_PM2
9 + tristate 'Permedia2 support (experimental)' CONFIG_FB_PM2
10 if [ "$CONFIG_FB_PM2" = "y" ]; then
11 if [ "$CONFIG_PCI" = "y" ]; then
12 bool ' enable FIFO disconnect feature' CONFIG_FB_PM2_FIFO_DISCONNECT
14 bool 'Atari native chipset support' CONFIG_FB_ATARI
16 if [ "$CONFIG_ATARI" = "y" -o "$CONFIG_PCI" != "n" ]; then
17 - bool 'ATI Mach64 display support' CONFIG_FB_ATY
18 + tristate 'ATI Mach64 display support' CONFIG_FB_ATY
20 if [ "$CONFIG_PPC" = "y" ]; then
21 bool 'Open Firmware frame buffer device support' CONFIG_FB_OF
23 define_bool CONFIG_BUS_I2C y
25 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
26 - if [ "$CONFIG_PCI" != "n" ]; then
27 + if [ "$CONFIG_PCI" != "n" -a "$ARCH" != "sparc" -a "$ARCH" != "sparc64" ]; then
28 tristate 'Matrox acceleration' CONFIG_FB_MATROX
29 if [ "$CONFIG_FB_MATROX" != "n" ]; then
30 bool ' Millennium I/II support' CONFIG_FB_MATROX_MILLENIUM
31 diff -urN orig/drivers/video/atyfb.c linux/drivers/video/atyfb.c
32 --- orig/drivers/video/atyfb.c Mon Sep 4 13:39:22 2000
33 +++ linux/drivers/video/atyfb.c Mon Oct 2 16:21:33 2000
35 * Interface used by the world
38 -void atyfb_init(void);
39 +int atyfb_init(void);
41 void atyfb_of_init(struct device_node *dp);
47 -__initfunc(void atyfb_init(void))
48 +int __init atyfb_init(void)
50 #if defined(CONFIG_FB_OF)
51 /* We don't want to be called like this. */
54 /* Do not attach when we have a serial console. */
55 if (!con_is_present())
62 info = kmalloc(sizeof(struct fb_info_aty), GFP_ATOMIC);
64 printk("atyfb_init: can't alloc fb_info_aty\n");
68 memset(info, 0, sizeof(struct fb_info_aty));
71 if (!info->mmap_map) {
72 printk("atyfb_init: can't alloc mmap_map\n");
77 memset(info->mmap_map, 0, j * sizeof(*info->mmap_map));
81 if(!info->ati_regbase) {
87 info->ati_regbase_phys += 0xc00;
90 if(!info->frame_buffer) {
96 #endif /* __sparc__ */
99 kfree(info->mmap_map);
106 @@ -3207,7 +3207,7 @@
107 info = kmalloc(sizeof(struct fb_info_aty), GFP_ATOMIC);
109 printk("atyfb_init: can't alloc fb_info_aty\n");
113 memset(info, 0, sizeof(struct fb_info_aty));
115 @@ -3223,10 +3223,11 @@
116 if (!aty_init(info, "ISA bus")) {
118 /* This is insufficient! kernel_map has added two large chunks!! */
128 @@ -4213,3 +4214,46 @@
131 #endif /* CONFIG_PMAC_PBOOK */
136 +static u32 vram = 0;
138 +static int mclk = 0;
139 +#if defined(CONFIG_PPC)
140 +static int vmode = VMODE_NVRAM;
141 +static int cmode = CMODE_NVRAM;
144 +MODULE_PARM(noaccel, "i");
145 +MODULE_PARM_DESC(noaccel, "Do not use accelerating engine (0 or 1=disabled) (default=0)");
146 +MODULE_PARM(blink, "i");
147 +MODULE_PARM_DESC(blink, "Enables hardware cursor blinking (0 or 1) (default=1)");
149 +MODULE_PARM(vmode, "i");
150 +MODULE_PARM_DESC(vmode, "Specify the vmode mode number that should be used (640x480 default)");
151 +MODULE_PARM(cmode, "i");
152 +MODULE_PARM_DESC(cmode, "Specify the video depth that should be used (8bit default)");
155 +int init_module(void)
158 + default_vram = vram;
160 + default_mclk = mclk;
162 + default_vmode = vmode;
163 + default_cmode = cmode;
171 +void cleanup_module(void)
175 diff -urN orig/drivers/video/pm2fb.c linux/drivers/video/pm2fb.c
176 --- orig/drivers/video/pm2fb.c Mon Sep 4 13:39:22 2000
177 +++ linux/drivers/video/pm2fb.c Mon Oct 2 16:21:33 2000
178 @@ -2041,12 +2041,12 @@
179 board_table[i->board].cleanup(i);
182 -__initfunc(void pm2fb_init(void)) {
183 +int __init pm2fb_init(void) {
185 memset(&fb_info, 0, sizeof(fb_info));
186 memcpy(&fb_info.current_par, &pm2fb_options.user_mode, sizeof(fb_info.current_par));
187 if (!pm2fb_conf(&fb_info))
190 pm2fb_reset(&fb_info);
191 fb_info.disp.scrollmode=SCROLL_YNOMOVE;
192 fb_info.gen.parsize=sizeof(struct pm2fb_par);
193 @@ -2065,7 +2065,7 @@
194 fbgen_install_cmap(0, &fb_info.gen);
195 if (register_framebuffer(&fb_info.gen.info)<0) {
196 printk("pm2fb: unable to register.\n");
200 printk("fb%d: %s (%s), using %uK of video memory.\n",
201 GET_FB_IDX(fb_info.gen.info.node),
202 @@ -2073,6 +2073,7 @@
204 (u32 )(fb_info.regions.fb_size>>10));
209 static void __init pm2fb_mode_setup(char* options) {
210 @@ -2127,7 +2128,8 @@
212 int init_module(void) {
213 if (mode) pm2fb_mode_setup(mode);
219 void cleanup_module(void) {