rpms/kernel/devel linux-2.6-merge-efifb-imacfb.patch,1.1,1.2

Peter Jones (pjones) fedora-extras-commits at redhat.com
Tue Apr 1 22:26:13 UTC 2008


Author: pjones

Update of /cvs/extras/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv558

Modified Files:
	linux-2.6-merge-efifb-imacfb.patch 
Log Message:
Add correct DMI data for MacBookPro3,1 and iMac7,1 .


linux-2.6-merge-efifb-imacfb.patch:

Index: linux-2.6-merge-efifb-imacfb.patch
===================================================================
RCS file: /cvs/extras/rpms/kernel/devel/linux-2.6-merge-efifb-imacfb.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-merge-efifb-imacfb.patch	1 Apr 2008 17:10:37 -0000	1.1
+++ linux-2.6-merge-efifb-imacfb.patch	1 Apr 2008 22:25:52 -0000	1.2
@@ -1,9 +1,9 @@
 
  Kconfig  |   15 --
  Makefile |    1 
- efifb.c  |  166 ++++++++++++++++++++++++++-
+ efifb.c  |  175 +++++++++++++++++++++++++++--
  imacfb.c |  376 ---------------------------------------------------------------
- 4 files changed, 159 insertions(+), 399 deletions(-)
+ 4 files changed, 168 insertions(+), 399 deletions(-)
 
 diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
 index 1bd5fb3..474c375 100644
@@ -49,7 +49,7 @@
  obj-$(CONFIG_FB_VGA16)            += vga16fb.o
  obj-$(CONFIG_FB_OF)               += offb.o
 diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
-index bd779ae..0736db0 100644
+index bd779ae..489f030 100644
 --- a/drivers/video/efifb.c
 +++ b/drivers/video/efifb.c
 @@ -12,6 +12,7 @@
@@ -60,13 +60,14 @@
  
  #include <video/vga.h>
  
-@@ -33,6 +34,80 @@ static struct fb_fix_screeninfo efifb_fix __initdata = {
+@@ -33,6 +34,89 @@ static struct fb_fix_screeninfo efifb_fix __initdata = {
  	.visual			= FB_VISUAL_TRUECOLOR,
  };
  
 +enum {
 +	M_I17,		/* 17-Inch iMac */
 +	M_I20,		/* 20-Inch iMac */
++	M_I20_SR,	/* 20-Inch iMac (Santa Rosa) */
 +	M_I24,		/* 24-Inch iMac */
 +	M_MINI,		/* Mac Mini */
 +	M_MB,		/* MacBook */
@@ -85,13 +86,14 @@
 +} dmi_list[] = {
 +	[M_I17] = { "i17", 0x80010000, 1472 * 4, 1440, 900 },
 +	[M_I20] = { "i20", 0x80010000, 1728 * 4, 1680, 1050 }, /* guess */
++	[M_I20_SR] = { "imac7", 0x40010000, 1728 * 4, 1680, 1050 },
 +	[M_I24] = { "i24", 0x80010000, 2048 * 4, 1920, 1200 }, /* guess */
 +	[M_MINI]= { "mini", 0x80000000, 2048 * 4, 1024, 768 },
 +	[M_MB] = { "macbook", 0x80000000, 2048 * 4, 1280, 800 },
 +	[M_MBP] = { "mbp", 0x80010000, 1472 * 4, 1440, 900 },
 +	[M_MBP_2] = { "mbp2", 0, 0, 0, 0 }, /* placeholder */
 +	[M_MBP_SR] = { "mbp3", 0x80030000, 2048 * 4, 1440, 900 },
-+	[M_UNKNOWN] = { 0, 0, 0, 0, 0 }
++	[M_UNKNOWN] = { NULL, 0, 0, 0, 0 }
 +};
 +
 +static int set_system(const struct dmi_system_id *id);
@@ -104,13 +106,20 @@
 +
 +static struct dmi_system_id __initdata dmi_system_table[] = {
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac4,1", M_I17),
++	/* At least one of these two will be right; maybe both? */
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac5,1", M_I20),
++	EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac5,1", M_I20),
++	/* At least one of these two will be right; maybe both? */
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "iMac6,1", M_I24),
++	EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac6,1", M_I24),
++	EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac7,1", M_I20_SR),
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "Macmini1,1", M_MINI),
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook1,1", M_MB),
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro1,1", M_MBP),
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro2,1", M_MBP_2),
++	EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro2,1", M_MBP_2),
 +	EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBookPro3,1", M_MBP_SR),
++	EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookPro3,1", M_MBP_SR),
 +	{},
 +};
 +
@@ -141,7 +150,7 @@
  static int efifb_setcolreg(unsigned regno, unsigned red, unsigned green,
  			   unsigned blue, unsigned transp,
  			   struct fb_info *info)
-@@ -67,6 +142,38 @@ static struct fb_ops efifb_ops = {
+@@ -67,6 +151,38 @@ static struct fb_ops efifb_ops = {
  	.fb_imageblit	= cfb_imageblit,
  };
  
@@ -180,7 +189,7 @@
  static int __init efifb_probe(struct platform_device *dev)
  {
  	struct fb_info *info;
-@@ -74,6 +181,26 @@ static int __init efifb_probe(struct platform_device *dev)
+@@ -74,6 +190,26 @@ static int __init efifb_probe(struct platform_device *dev)
  	unsigned int size_vmode;
  	unsigned int size_remap;
  	unsigned int size_total;
@@ -207,7 +216,7 @@
  
  	efifb_fix.smem_start = screen_info.lfb_base;
  	efifb_defined.bits_per_pixel = screen_info.lfb_depth;
-@@ -98,21 +225,25 @@ static int __init efifb_probe(struct platform_device *dev)
+@@ -98,21 +234,25 @@ static int __init efifb_probe(struct platform_device *dev)
  	 *                 option to simply use size_total as that
  	 *                 wastes plenty of kernel address space. */
  	size_remap  = size_vmode * 2;
@@ -236,7 +245,7 @@
  		err = -ENOMEM;
  		goto err_release_mem;
  	}
-@@ -125,7 +256,7 @@ static int __init efifb_probe(struct platform_device *dev)
+@@ -125,7 +265,7 @@ static int __init efifb_probe(struct platform_device *dev)
  				"0x%x @ 0x%lx\n",
  			efifb_fix.smem_len, efifb_fix.smem_start);
  		err = -EIO;
@@ -245,7 +254,7 @@
  	}
  
  	printk(KERN_INFO "efifb: framebuffer at 0x%lx, mapped to 0x%p, "
-@@ -178,25 +309,27 @@ static int __init efifb_probe(struct platform_device *dev)
+@@ -178,25 +318,27 @@ static int __init efifb_probe(struct platform_device *dev)
  	info->fix = efifb_fix;
  	info->flags = FBINFO_FLAG_DEFAULT;
  
@@ -279,7 +288,7 @@
  	return err;
  }
  
-@@ -214,9 +347,22 @@ static struct platform_device efifb_device = {
+@@ -214,9 +356,22 @@ static struct platform_device efifb_device = {
  static int __init efifb_init(void)
  {
  	int ret;




More information about the scm-commits mailing list