patch-2.3.23 linux/drivers/video/offb.c
Next file: linux/fs/binfmt_aout.c
Previous file: linux/drivers/video/fbmem.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Mon Oct 18 11:37:43 1999
- Orig file:
v2.3.22/linux/drivers/video/offb.c
- Orig date:
Thu Aug 26 13:05:40 1999
diff -u --recursive --new-file v2.3.22/linux/drivers/video/offb.c linux/drivers/video/offb.c
@@ -293,6 +293,9 @@
#ifdef CONFIG_FB_ATY
extern void atyfb_of_init(struct device_node *dp);
#endif /* CONFIG_FB_ATY */
+#ifdef CONFIG_FB_ATY128
+extern void aty128fb_of_init(struct device_node *dp);
+#endif /* CONFIG_FB_ATY */
#ifdef CONFIG_FB_S3TRIO
extern void s3triofb_init_of(struct device_node *dp);
#endif /* CONFIG_FB_S3TRIO */
@@ -349,6 +352,21 @@
dp->addrs[0].size = 0x01000000;
}
}
+
+ /*
+ * The LTPro on the Lombard powerbook has no addresses
+ * on the display nodes, they are on their parent.
+ */
+ if (dp->n_addrs == 0 && device_is_compatible(dp, "ATY,264LTPro")) {
+ int na;
+ unsigned int *ap = (unsigned int *)
+ get_property(dp, "AAPL,address", &na);
+ if (ap != 0)
+ for (na /= sizeof(unsigned int); na > 0; --na, ++ap)
+ if (*ap <= addr && addr < *ap + 0x1000000)
+ goto foundit;
+ }
+
/*
* See if the display address is in one of the address
* ranges for this display.
@@ -359,6 +377,7 @@
break;
}
if (i < dp->n_addrs) {
+ foundit:
printk(KERN_INFO "MacOS display is %s\n", dp->full_name);
macos_display = dp;
break;
@@ -397,6 +416,12 @@
static int __init offb_init_driver(struct device_node *dp)
{
+#ifdef CONFIG_FB_ATY128
+ if (!strncmp(dp->name, "ATY,Rage128", 11)) {
+ aty128fb_of_init(dp);
+ return 1;
+ }
+#endif
#ifdef CONFIG_FB_ATY
if (!strncmp(dp->name, "ATY", 3)) {
atyfb_of_init(dp);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)