rpms/kernel/F-11 drm-intel-lying-systems-without-lvds.patch, NONE, 1.1 linux-2.6-acer-wmi-bail-on-aao.patch, NONE, 1.1 kernel.spec, 1.1510, 1.1511
Jarod Wilson
jwilson at fedoraproject.org
Fri Apr 3 19:34:35 UTC 2009
- Previous message: rpms/selinux-policy/devel customizable_types, NONE, 1.1 policy-20090105.patch, 1.75, 1.76 selinux-policy.spec, 1.816, 1.817
- Next message: rpms/audit/devel audit-1.7.12-libev.patch, NONE, 1.1 audit.spec, 1.209, 1.210
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jwilson
Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3356
Modified Files:
kernel.spec
Added Files:
drm-intel-lying-systems-without-lvds.patch
linux-2.6-acer-wmi-bail-on-aao.patch
Log Message:
* Fri Apr 03 2009 Jarod Wilson <jarod at redhat.com>
- Don't set up non-existent LVDS on systems with mobile Intel graphics chips
that lie about having LVDS (like my Dell Studio Hybrid). Makes plymouth
graphical boot function properly.
- Don't let acer-wmi do stupid things on unsupported systems (like, create
a bogus rfkill entry in sysfs that effectively neuters wireless in
NetworkManager on the Aspire One)
drm-intel-lying-systems-without-lvds.patch:
--- NEW FILE drm-intel-lying-systems-without-lvds.patch ---
drivers/gpu/drm/i915/intel_lvds.c | 50 ++++++++++++++++++++++++++++++------
1 files changed, 41 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 6619f26..4607662 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -384,7 +384,44 @@ static const struct drm_encoder_funcs intel_lvds_enc_funcs = {
.destroy = intel_lvds_enc_destroy,
};
+static int __init intel_no_lvds_dmi_callback(const struct dmi_system_id *id)
+{
+ //DRM_DEBUG("Skipping LVDS initialization for %s\n", id->ident);
+ printk("Skipping LVDS initialization for %s\n", id->ident);
+ return 1;
+}
+
+/* These systems claim to have LVDS, but really don't */
+static const struct dmi_system_id __initdata intel_no_lvds[] = {
+ {
+ .callback = intel_no_lvds_dmi_callback,
+ .ident = "Apple Mac Mini (Core series)",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"),
+ },
+ },
+ {
+ .callback = intel_no_lvds_dmi_callback,
+ .ident = "Apple Mac Mini (Core 2 series)",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Macmini2,1"),
+ },
+ },
+ {
+ .callback = intel_no_lvds_dmi_callback,
+ .ident = "Dell Studio Hybrid",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Studio Hybrid 140g"),
+ },
+ },
+
+ /* FIXME: add a check for the Aopen Mini PC */
+ { } /* terminating entry */
+};
/**
* intel_lvds_init - setup LVDS connectors on this device
@@ -404,15 +441,10 @@ void intel_lvds_init(struct drm_device *dev)
u32 lvds;
int pipe;
- /* Blacklist machines that we know falsely report LVDS. */
- /* FIXME: add a check for the Aopen Mini PC */
-
- /* Apple Mac Mini Core Duo and Mac Mini Core 2 Duo */
- if(dmi_match(DMI_PRODUCT_NAME, "Macmini1,1") ||
- dmi_match(DMI_PRODUCT_NAME, "Macmini2,1")) {
- DRM_DEBUG("Skipping LVDS initialization for Apple Mac Mini\n");
- return;
- }
+ /* Skip init on machines we know falsely report LVDS */
+ if (dmi_check_system(intel_no_lvds))
+ printk("woulda disabled bogus lvds, but it fucks up Xv...\n");
+ //return;
intel_output = kzalloc(sizeof(struct intel_output), GFP_KERNEL);
if (!intel_output) {
linux-2.6-acer-wmi-bail-on-aao.patch:
--- NEW FILE linux-2.6-acer-wmi-bail-on-aao.patch ---
[PATCH] acer-wmi: don't bother loading on unsupported systems
Its both a waste of system resources to load this driver on unsupported
systems (which happens often, due to the *Acer* dmi modalias wildcard),
and actually causes problems -- we wind up with a sysfs rfkill entry
that is always disabled, which throws things like NetworkManager for a
loop, causing it to think your wireless card isn't available, even
though the *real* rfkill entry for the card says it is. This is
triggering on multiple Acer Aspire One's here in the office, like so:
NetworkManager: <info> starting...
NetworkManager: <WARN> nm_generic_enable_loopback(): error -17 returned from rtnl_addr_add():#012Sucess#012
NetworkManager: <info> Found radio killswitch /org/freedesktop/Hal/devices/platform_acer_wmi_rfkill_acer_wireless_wlan
NetworkManager: <info> Found radio killswitch /org/freedesktop/Hal/devices/pci_8086_423a_rfkill_5350AGN_wlan
NetworkManager: <info> (eth0): new Ethernet device (driver: 'r8169')
NetworkManager: <info> (eth0): exported as /org/freedesktop/Hal/devices/net_00_1e_68_8a_a1_f8
NetworkManager: <info> (wlan0): driver supports SSID scans (scan_capa 0x01).
NetworkManager: <info> (wlan0): new 802.11 WiFi device (driver: 'iwlagn')
NetworkManager: <info> (wlan0): exported as /org/freedesktop/Hal/devices/net_00_16_eb_04_31_ea
NetworkManager: <info> Trying to start the supplicant...
NetworkManager: <info> Trying to start the system settings daemon...
NetworkManager: <info> Wireless now disabled by radio killswitch
NetworkManager: <info> (wlan0): supplicant manager state: down -> idle
So have acer-wmi just bail on unsupported systems -- includes only my
particular model of the Aspire One atm, but a larger list of unsupported
systems can be found here:
http://code.google.com/p/aceracpi/wiki/SupportedHardware
This might well become unnecessary once the WMI sysfs interface mentioned in
acer-wmi.c exists and the wild-card dmi modalias is gone, but for now... I
prefer to have working wireless, and this isn't exactly an obvious root
cause.
Signed-off-by: Jarod Wilson <jarod at redhat.com>
---
drivers/platform/x86/acer-wmi.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index a6a42e8..eda7eea 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -355,6 +355,25 @@ static struct dmi_system_id acer_quirks[] = {
{}
};
+static int __init acer_wmi_unsupported_callback(const struct dmi_system_id *id)
+{
+ printk(ACER_INFO "%s not supported by Acer Laptop ACPI-WMI Extras\n",
+ id->ident);
+ return 1;
+}
+
+static const struct dmi_system_id __initdata acer_wmi_unsupported[] = {
+ {
+ .callback = acer_wmi_unsupported_callback,
+ .ident = "Acer Aspire One",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
+ },
+ },
+ {}
+};
+
/* Find which quirks are needed for a particular vendor/ model pair */
static void find_quirks(void)
{
@@ -1252,6 +1271,10 @@ static int __init acer_wmi_init(void)
{
int err;
+ /* Check for unsupported systems and bail */
+ if (dmi_check_system(acer_wmi_unsupported))
+ return -ENODEV;
+
printk(ACER_INFO "Acer Laptop ACPI-WMI Extras\n");
find_quirks();
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1510
retrieving revision 1.1511
diff -u -r1.1510 -r1.1511
--- kernel.spec 3 Apr 2009 18:47:30 -0000 1.1510
+++ kernel.spec 3 Apr 2009 19:34:04 -0000 1.1511
@@ -625,6 +625,7 @@
Patch393: linux-2.6-hwmon-atk0110.patch
Patch394: linux-2.6-acpi-video-didl-intel-outputs.patch
Patch395: linux-2.6-sony-laptop-rfkill.patch
+Patch396: linux-2.6-acer-wmi-bail-on-aao.patch
Patch400: linux-2.6-scsi-cpqarray-set-master.patch
Patch450: linux-2.6-input-kill-stupid-messages.patch
Patch451: linux-2.6-input-fix-toshiba-hotkeys.patch
@@ -677,6 +678,7 @@
Patch1818: drm-i915-resume-force-mode.patch
Patch1819: drm-intel-big-hammer.patch
Patch1820: drm-radeon-reorder-bm.patch
+Patch1821: drm-intel-lying-systems-without-lvds.patch
# kludge to make ich9 e1000 work
Patch2000: linux-2.6-e1000-ich9.patch
@@ -1168,6 +1170,7 @@
ApplyPatch linux-2.6-hwmon-atk0110.patch
ApplyPatch linux-2.6-acpi-video-didl-intel-outputs.patch
ApplyPatch linux-2.6-sony-laptop-rfkill.patch
+ApplyPatch linux-2.6-acer-wmi-bail-on-aao.patch
# Various low-impact patches to aid debugging.
ApplyPatch linux-2.6-debug-sizeof-structs.patch
@@ -1285,6 +1288,7 @@
ApplyPatch drm-i915-resume-force-mode.patch
ApplyPatch drm-intel-big-hammer.patch
ApplyPatch drm-radeon-reorder-bm.patch
+ApplyPatch drm-intel-lying-systems-without-lvds.patch
# linux1394 git patches
ApplyPatch linux-2.6-firewire-git-update.patch
@@ -1898,6 +1902,14 @@
# and build.
%changelog
+* Fri Apr 03 2009 Jarod Wilson <jarod at redhat.com>
+- Don't set up non-existent LVDS on systems with mobile Intel graphics chips
+ that lie about having LVDS (like my Dell Studio Hybrid). Makes plymouth
+ graphical boot function properly.
+- Don't let acer-wmi do stupid things on unsupported systems (like, create
+ a bogus rfkill entry in sysfs that effectively neuters wireless in
+ NetworkManager on the Aspire One)
+
* Fri Apr 03 2009 Chuck Ebbert <cebbert at redhat.com>
- x86 E820 fixes from 2.6.30
- Previous message: rpms/selinux-policy/devel customizable_types, NONE, 1.1 policy-20090105.patch, 1.75, 1.76 selinux-policy.spec, 1.816, 1.817
- Next message: rpms/audit/devel audit-1.7.12-libev.patch, NONE, 1.1 audit.spec, 1.209, 1.210
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list