add-imacfb-docu-and-detection.patch
Subsystems (2)
PATCH 1/3 add-imacfb-docu-and-detection.patch
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Documentation/fb/imacfb.txt +31 -0
@@ -0,0 +1,31 @@ + +What is imacfb? +=============== + +This is a generic EFI platform driver for Intel based Apple computers. +Imacfb is only for EFI booted Intel Macs. + +Supported Hardware +================== + +iMac 17"/20" +Macbook +Macbook Pro 15"/17" +MacMini + +How to use it? +============== + +Imacfb does not have any kind of autodetection of your machine. +You have to add the fillowing kernel parameters in your elilo.conf: + Macbook : + video=imacfb:macbook + MacMini : + video=imacfb:mini + Macbook Pro 15", iMac 17" : + video=imacfb:i17 + Macbook Pro 17", iMac 20" : + video=imacfb:i20 + +-- +Edgar Hucek <[email protected]>
drivers/video/imacfb.c +44 -5
88 lines not on this page · raw message
drivers/video/Kconfig +1 -1
@@ -552,7 +552,7 @@ config FB_IMAC bool "Intel-based Macintosh Framebuffer Support" - depends on (FB = y) && X86 + depends on (FB = y) && X86 && EFI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT
Documentation/fb/imacfb.txt line 14
Quoted 10 lines · Edgar Hucek
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Documentation/fb/imacfb.txt +7
-0+Supported Hardware +================== + +iMac 17"/20" +Macbook +Macbook Pro 15"/17" +MacMini
Why is it called imacfb when it is supposed to drive castrated PowerBooks? I suggest a better name for driver.
Quoted 5 lines · On Mon, 31 Jul 2006 17:51:45 +0200 Olaf Hering wrote:
Quoted 2 lines · Edgar Hucek
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Quoted 9 lines
Documentation/fb/imacfb.txt line 14
Quoted 7 lines
Documentation/fb/imacfb.txt +7
-0+Supported Hardware +================== + +iMac 17"/20" +Macbook +Macbook Pro 15"/17" +MacMiniWhy is it called imacfb when it is supposed to drive castrated PowerBooks?
is that a technical comment? sounds personal.
Quoted 1 line
I suggest a better name for driver.
---
~Randy
Quoted 12 lines · Edgar Hucek
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Documentation/fb/imacfb.txt +9
-0+Imacfb does not have any kind of autodetection of your machine. +You have to add the fillowing kernel parameters in your elilo.conf: + Macbook : + video=imacfb:macbook + MacMini : + video=imacfb:mini + Macbook Pro 15", iMac 17" : + video=imacfb:i17 + Macbook Pro 17", iMac 20" :
Documentation/fb/imacfb.txt
Quoted 10 lines
Documentation/fb/imacfb.txt +7
-2+ video=imacfb:i20 - /* ignore error return of fb_get_options */ - fb_get_options("imacfb", &option); + if (!efi_enabled) + return -ENODEV; + if (!dmi_check_system(dmi_system_table)) + return -ENODEV; + if (model == M_UNKNOWN) + return -ENODEV;
So imacfb now defaults to off? That would be good, especially
since it cannot be a module, and doesn't work with the Apple "BIOS" stuff.
If not, a video=imacfb:off option would be much appreciated.
--
Joseph Fannin
[email protected]
Quoted 28 lines · Joseph Fannin
Quoted 12 lines · Edgar Hucek
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Documentation/fb/imacfb.txt +9
-0+Imacfb does not have any kind of autodetection of your machine. +You have to add the fillowing kernel parameters in your elilo.conf: + Macbook : + video=imacfb:macbook + MacMini : + video=imacfb:mini + Macbook Pro 15", iMac 17" : + video=imacfb:i17 + Macbook Pro 17", iMac 20" :Documentation/fb/imacfb.txt
Quoted 10 lines
Documentation/fb/imacfb.txt +7
-2+ video=imacfb:i20 - /* ignore error return of fb_get_options */ - fb_get_options("imacfb", &option); + if (!efi_enabled) + return -ENODEV; + if (!dmi_check_system(dmi_system_table)) + return -ENODEV; + if (model == M_UNKNOWN) + return -ENODEV;So imacfb now defaults to off? That would be good, especially
since it cannot be a module, and doesn't work with the Apple "BIOS" stuff.
Quoted 1 line
If not, a video=imacfb:off option would be much appreciated.
Yes. Imacfb only works when efi an efi boot is detected and a supported Apple device is found.
cu
Edgar Hucek
Quoted 5 lines
--
Joseph Fannin
[email protected]
Quoted 7 lines · Joseph Fannin
On Mon, Jul 31, 2006 at 10:25:01AM +0200, Edgar Hucek wrote:
So imacfb now defaults to off? That would be good, especially
since it cannot be a module, and doesn't work with the Apple "BIOS" stuff.If not, a video=imacfb:off option would be much appreciated.
Yes, this patch will support the above option too.
Tony
Quoted 63 lines · Edgar Hucek
This Patch add basic Machine detection to imacfb and some Ducumentation bits for imacfb.
Signed-off-by Edgar Hucek <[email protected]>diff -uNr
linux-2.6.18-rc2/Documentation/fb/imacfb.txtlinux-2.6.18-rc2.mactel/Documentation/fb/imacfb.txtDocumentation/fb/imacfb.txt +31
-0@@ -0,0 +1,31 @@ + +What is imacfb? +=============== + +This is a generic EFI platform driver for Intel based Apple computers. +Imacfb is only for EFI booted Intel Macs. + +Supported Hardware +================== + +iMac 17"/20" +Macbook +Macbook Pro 15"/17" +MacMini + +How to use it? +============== + +Imacfb does not have any kind of autodetection of your machine. +You have to add the fillowing kernel parameters in your elilo.conf: + Macbook : + video=imacfb:macbook + MacMini : + video=imacfb:mini + Macbook Pro 15", iMac 17" : + video=imacfb:i17 + Macbook Pro 17", iMac 20" : + video=imacfb:i20 + +-- +Edgar Hucek <[email protected]>diff -uNr
linux-2.6.18-rc2/drivers/video/imacfb.clinux-2.6.18-rc2.mactel/drivers/video/imacfb.cdrivers/video/imacfb.c +3
-1@@ -18,6 +18,8 @@#include <linux/screen_info.h> #include <linux/slab.h> #include <linux/string.h> +#include <linux/dmi.h> +#include <linux/efi.h> #include <asm/io.h> @@ -28,7 +30,7 @@M_I20 ,M_MINI ,M_MACBOOK , - M_NEW + M_UNKNOWN }MAC_TYPE ;/* --------------------------------------------------------------------- */
drivers/video/imacfb.c line 61
Quoted 9 lines
drivers/video/imacfb.c +2
-1@@ -52,10 +54,36 @@ };static int inverse; -static int model =M_NEW ; +static int model =M_UNKNOWN ;static int manual_height;static int manual_width; +static int set_system (struct dmi_system_id *id)
Missing __init ?
Quoted 86 lines
drivers/video/imacfb.c +39
-3+{ +printk (KERN_INFO "imacfb: %s detected - set system to %ld\n" , + id->ident, (long )id->driver_data); + + model = (long )id->driver_data; + +return 0 ; +} + +static struct dmi_system_id __initdata dmi_system_table[] = { + { set_system,"iMac4,1" , { +DMI_MATCH (DMI_BIOS_VENDOR ,"Apple Computer, Inc." ), +DMI_MATCH (DMI_BIOS_VERSION ,"iMac4,1" ) }, (void *)M_I17 }, + { set_system,"MacBookPro1,1" , { +DMI_MATCH (DMI_BIOS_VENDOR ,"Apple Computer, Inc." ), +DMI_MATCH (DMI_BIOS_VERSION ,"MacBookPro1,1" ) }, (void *)M_I17 }, + { set_system,"MacBook1,1" , { +DMI_MATCH (DMI_BIOS_VENDOR ,"Apple Computer, Inc." ), +DMI_MATCH (DMI_PRODUCT_NAME ,"MacBook1,1" )}, (void *)M_MACBOOK }, + { set_system,"Macmini1,1" , { +DMI_MATCH (DMI_BIOS_VENDOR ,"Apple Computer, Inc." ), +DMI_MATCH (DMI_PRODUCT_NAME ,"Macmini1,1" )}, (void *)M_MINI }, + {}, +}; +#define DEFAULT_FB_MEM 1024*1024*16/* --------------------------------------------------------------------- */ @@ -149,7 +177,6 @@ screen_info.lfb_linelength =1472 *4 ; screen_info.lfb_base =0x80010000 ;break ; -case M_NEW :case M_I20 : screen_info.lfb_width =1680 ; screen_info.lfb_height =1050 ;@@ -207,6 +234,10 @@ size_remap = size_total; imacfb_fix.smem_len = size_remap; +#ifndef __i386__ + screen_info.imacpm_seg =0 ; +#endif +if (!request_mem_region (imacfb_fix.smem_start, size_total,"imacfb" )) { printk(KERN_WARNING "imacfb: cannot reserve video memory at 0x%lx\n",@@ -324,8 +355,16 @@int ret;char *option =NULL ; -/* ignore error return of fb_get_options */ -fb_get_options ("imacfb" , &option); +if (!efi_enabled) +return -ENODEV ; +if (!dmi_check_system (dmi_system_table)) +return -ENODEV ; +if (model ==M_UNKNOWN ) +return -ENODEV ; + +if (fb_get_options ("imacfb" , &option)) +return -ENODEV ; +imacfb_setup (option); ret =platform_driver_register (&imacfb_driver);diff -uNr linux-2.6.18-rc2/drivers/video/Kconfig linux-2.6.18-rc2.mactel/drivers/video/Kconfig
drivers/video/Kconfig +1
-2@@ -552,7 +552,7 @@ config FB_IMAC bool "Intel-based Macintosh Framebuffer Support" - depends on (FB = y) && X86 + depends on (FB = y) && X86 && EFI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Signature · 2 lines
Andrey Panin | Linux and UNIX system administrator [email protected] | PGP key: wwwkeys.pgp.net