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.
>