Thanks for taking care of this, Kyle.
Should I send this patch upstream? if so, 1 patch per hardware?
do/should I get sign-off's?
Thanks,
luke
On 08/31/2010 05:23 PM, Kyle McMartin wrote:
commit 3c5d4de07ca16d799f1ca63454b56a03456191fe
Author: Kyle McMartin<kyle(a)dreadnought.i.jkkm.org>
Date: Tue Aug 31 17:23:33 2010 -0400
add in patch from lmacken to support more mac models with efifb
efifb-add-more-models.patch | 59 +++++++++++++++++++++++++++++++++++++++++++
kernel.spec | 10 ++++++-
2 files changed, 68 insertions(+), 1 deletions(-)
---
diff --git a/efifb-add-more-models.patch b/efifb-add-more-models.patch
new file mode 100644
index 0000000..3351970
--- /dev/null
+++ b/efifb-add-more-models.patch
@@ -0,0 +1,59 @@
+--- vanilla-2.6.35.3.orig/drivers/video/efifb.c
++++ vanilla-2.6.35.3/drivers/video/efifb.c
+@@ -39,7 +39,11 @@ enum {
+ M_I20, /* 20-Inch iMac */
+ M_I20_SR, /* 20-Inch iMac (Santa Rosa) */
+ M_I24, /* 24-Inch iMac */
++ M_I24_8_1, /* 24-Inch iMac, 8,1th gen */
++ M_I24_10_1, /* 24-Inch iMac, 10,1th gen */
+ M_MINI, /* Mac Mini */
++ M_MINI_3_1, /* Mac Mini, 3,1th gen */
++ M_MINI_4_1, /* Mac Mini, 4,1th gen */
+ M_MB, /* MacBook */
+ M_MB_2, /* MacBook, 2nd rev. */
+ M_MB_3, /* MacBook, 3rd rev. */
+@@ -47,6 +51,7 @@ enum {
+ M_MBA, /* MacBook Air */
+ M_MBP, /* MacBook Pro */
+ M_MBP_2, /* MacBook Pro 2nd gen */
++ M_MBP_2_2, /* MacBook Pro 2,2nd gen */
+ M_MBP_SR, /* MacBook Pro (Santa Rosa) */
+ M_MBP_4, /* MacBook Pro, 4th gen */
+ M_MBP_5_1, /* MacBook Pro, 5,1th gen */
+@@ -64,11 +69,16 @@ static struct efifb_dmi_info {
+ [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_I24_8_1] = { "imac8", 0xc0060000, 2048 * 4, 1920, 1200 },
++ [M_I24_10_1] = { "imac10", 0xc0010000, 2048 * 4, 1920, 1080 },
+ [M_MINI]= { "mini", 0x80000000, 2048 * 4, 1024, 768 },
++ [M_MINI_3_1]= { "mini31", 0x40010000, 1024 * 4, 1024, 768 },
++ [M_MINI_4_1]= { "mini41", 0xc0010000, 2048 * 4, 1920, 1200 },
+ [M_MB] = { "macbook", 0x80000000, 2048 * 4, 1280, 800 },
+ [M_MBA] = { "mba", 0x80000000, 2048 * 4, 1280, 800 },
+ [M_MBP] = { "mbp", 0x80010000, 1472 * 4, 1440, 900 },
+ [M_MBP_2] = { "mbp2", 0, 0, 0, 0 }, /* placeholder */
++ [M_MBP_2_2] = { "mbp22", 0x80010000, 1472 * 4, 1440, 900 },
+ [M_MBP_SR] = { "mbp3", 0x80030000, 2048 * 4, 1440, 900 },
+ [M_MBP_4] = { "mbp4", 0xc0060000, 2048 * 4, 1920, 1200 },
+ [M_MBP_5_1] = { "mbp51", 0xc0010000, 2048 * 4, 1440, 900 },
+@@ -92,7 +102,11 @@ static struct dmi_system_id __initdata d
+ 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 Inc.", "iMac8,1", M_I24_8_1),
++ EFIFB_DMI_SYSTEM_ID("Apple Inc.", "iMac10,1", M_I24_10_1),
+ EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "Macmini1,1",
M_MINI),
++ EFIFB_DMI_SYSTEM_ID("Apple Inc.", "Macmini3,1", M_MINI_3_1),
++ EFIFB_DMI_SYSTEM_ID("Apple Inc.", "Macmini4,1", M_MINI_4_1),
+ EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook1,1", M_MB),
+ /* At least one of these two will be right; maybe both? */
+ EFIFB_DMI_SYSTEM_ID("Apple Computer, Inc.", "MacBook2,1", M_MB),
+@@ -104,6 +118,7 @@ static struct dmi_system_id __initdata d
+ EFIFB_DMI_SYSTEM_ID("Apple Inc.", "MacBookAir1,1", M_MBA),
+ 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 Computer, Inc.", "MacBookPro2,2",
M_MBP_2_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),
diff --git a/kernel.spec b/kernel.spec
index d5c3638..77630ec 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
-%global baserelease 13
+%global baserelease 14
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -663,6 +663,8 @@ Patch1824: drm-intel-next.patch
Patch1825: drm-intel-make-lvds-work.patch
Patch1900: linux-2.6-intel-iommu-igfx.patch
+Patch2000: efifb-add-more-models.patch
+
# linux1394 git patches
Patch2200: linux-2.6-firewire-git-update.patch
Patch2201: linux-2.6-firewire-git-pending.patch
@@ -1262,6 +1264,8 @@ ApplyOptionalPatch drm-intel-next.patch
ApplyPatch drm-intel-make-lvds-work.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
+ApplyPatch efifb-add-more-models.patch
+
# linux1394 git patches
#ApplyPatch linux-2.6-firewire-git-update.patch
#ApplyOptionalPatch linux-2.6-firewire-git-pending.patch
@@ -1892,6 +1896,10 @@ fi
# and build.
%changelog
+* Tue Aug 31 2010 Kyle McMartin<kyle(a)redhat.com> 2.6.35.4-14
+- efifb-add-more-models.patch: Add patch from Luke Macken to
+ support more Mac models (rhbz#528232)
+
* Tue Aug 31 2010 Dave Jones<davej(a)redhat.com> 2.6.35.4-13
- Fix incorrect DMA size freeing error in via-velocity.