patch-2.4.0-test6 linux/drivers/video/S3triofb.c
Next file: linux/drivers/video/acornfb.c
Previous file: linux/drivers/video/Makefile
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
Fri Aug 4 18:06:34 2000
- Orig file:
v2.4.0-test5/linux/drivers/video/S3triofb.c
- Orig date:
Thu Jul 27 17:38:01 2000
diff -u --recursive --new-file v2.4.0-test5/linux/drivers/video/S3triofb.c linux/drivers/video/S3triofb.c
@@ -77,6 +77,7 @@
* Interface used by the world
*/
+static void __init s3triofb_of_init(struct device_node *dp);
static int s3trio_get_fix(struct fb_fix_screeninfo *fix, int con,
struct fb_info *info);
static int s3trio_get_var(struct fb_var_screeninfo *var, int con,
@@ -263,12 +264,11 @@
int __init s3triofb_init(void)
{
-#ifdef __powerpc__
- /* We don't want to be called like this. */
- /* We rely on Open Firmware (offb) instead. */
-#else /* !__powerpc__ */
- /* To be merged with cybervision */
-#endif /* !__powerpc__ */
+ struct device_node *dp;
+
+ dp = find_devices("S3Trio");
+ if (dp != 0)
+ s3triofb_of_init(dp);
return 0;
}
@@ -376,10 +376,10 @@
* We heavily rely on OF for the moment. This needs fixing.
*/
-void __init s3triofb_init_of(struct device_node *dp)
+static void __init s3triofb_of_init(struct device_node *dp)
{
int i, *pp, len;
- unsigned long address;
+ unsigned long address, size;
u_long *CursorBase;
strncat(s3trio_name, dp->name, sizeof(s3trio_name));
@@ -416,9 +416,13 @@
fb_fix.line_length = fb_var.xres_virtual;
fb_fix.smem_len = fb_fix.line_length*fb_var.yres;
- s3trio_init(dp);
address = 0xc6000000;
- s3trio_base = ioremap(address,64*1024*1024);
+ size = 64*1024*1024;
+ if (!request_mem_region(address, size, "S3triofb"))
+ return;
+
+ s3trio_init(dp);
+ s3trio_base = ioremap(address, size);
fb_fix.smem_start = address;
fb_fix.type = FB_TYPE_PACKED_PIXELS;
fb_fix.type_aux = 0;
@@ -693,12 +697,6 @@
else
fb_set_cmap(fb_default_cmap(fb_display[con].var.bits_per_pixel), 1,
s3trio_setcolreg, &fb_info);
-}
-
-int s3triofb_setup(char *options) {
-
- return 0;
-
}
static void Trio_WaitQueue(u_short fifo) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)