From: Andrey Panin <pazke@donpac.ru>
To: torvalds@osdl.org, linux-kernel@vger.kernel.org
Subject: [PATCH 5/6] Move HP Pavilion irq workaround where it belongs
Date: Thu, 6 May 2004 14:32:35 +0400 [thread overview]
Message-ID: <10838395553579@donpac.ru> (raw)
In-Reply-To: <10838395512678@donpac.ru>
diff -urN -X /usr/share/dontdiff linux-2.6.6-rc3.vanlila/arch/i386/kernel/dmi_scan.c linux-2.6.6-rc3/arch/i386/kernel/dmi_scan.c
--- linux-2.6.6-rc3.vanlila/arch/i386/kernel/dmi_scan.c 2004-05-05 22:21:10.000000000 +0400
+++ linux-2.6.6-rc3/arch/i386/kernel/dmi_scan.c 2004-05-05 22:22:33.000000000 +0400
@@ -235,23 +235,6 @@
}
/*
- * Work around broken HP Pavilion Notebooks which assign USB to
- * IRQ 9 even though it is actually wired to IRQ 11
- */
-static __init int fix_broken_hp_bios_irq9(struct dmi_system_id *d)
-{
-#ifdef CONFIG_PCI
- extern int broken_hp_bios_irq9;
- if (broken_hp_bios_irq9 == 0)
- {
- broken_hp_bios_irq9 = 1;
- printk(KERN_INFO "%s detected - fixing broken IRQ routing\n", d->ident);
- }
-#endif
- return 0;
-}
-
-/*
* The Intel 440GX hall of shame.
*
* On many (all we have checked) of these boxes the $PIRQ table is wrong.
@@ -491,14 +474,6 @@
DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),
} },
#endif
- { fix_broken_hp_bios_irq9, "HP Pavilion N5400 Series Laptop", {
- DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
- DMI_MATCH(DMI_BIOS_VERSION, "GE.M1.03"),
- DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook Model GE"),
- DMI_MATCH(DMI_BOARD_VERSION, "OmniBook N32N-736"),
- } },
-
-
/*
* SMBus / sensors settings
diff -urN -X /usr/share/dontdiff linux-2.6.6-rc3.vanlila/arch/i386/pci/irq.c linux-2.6.6-rc3/arch/i386/pci/irq.c
--- linux-2.6.6-rc3.vanlila/arch/i386/pci/irq.c 2004-05-05 22:38:48.000000000 +0400
+++ linux-2.6.6-rc3/arch/i386/pci/irq.c 2004-05-05 22:38:21.000000000 +0400
@@ -12,6 +12,7 @@
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
+#include <linux/dmi.h>
#include <asm/io.h>
#include <asm/smp.h>
#include <asm/io_apic.h>
@@ -22,7 +23,7 @@
#define PIRQ_SIGNATURE (('$' << 0) + ('P' << 8) + ('I' << 16) + ('R' << 24))
#define PIRQ_VERSION 0x0100
-int broken_hp_bios_irq9;
+static int broken_hp_bios_irq9;
static struct irq_routing_table *pirq_table;
@@ -897,6 +898,33 @@
}
}
+/*
+ * Work around broken HP Pavilion Notebooks which assign USB to
+ * IRQ 9 even though it is actually wired to IRQ 11
+ */
+static int __init fix_broken_hp_bios_irq9(struct dmi_system_id *d)
+{
+ if (!broken_hp_bios_irq9) {
+ broken_hp_bios_irq9 = 1;
+ printk(KERN_INFO "%s detected - fixing broken IRQ routing\n", d->ident);
+ }
+ return 0;
+}
+
+static struct dmi_system_id __initdata pciirq_dmi_table[] = {
+ {
+ .callback = fix_broken_hp_bios_irq9,
+ .ident = "HP Pavilion N5400 Series Laptop",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_BIOS_VERSION, "GE.M1.03"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook Model GE"),
+ DMI_MATCH(DMI_BOARD_VERSION, "OmniBook N32N-736"),
+ },
+ },
+ { }
+};
+
static int __init pcibios_irq_init(void)
{
DBG("PCI: IRQ init\n");
@@ -904,6 +932,8 @@
if (pcibios_enable_irq)
return 0;
+ dmi_check_system(pciirq_dmi_table);
+
pirq_table = pirq_find_routing_table();
#ifdef CONFIG_PCI_BIOS
next prev parent reply other threads:[~2004-05-06 10:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-06 10:32 [PATCH 0/6] Simplify DMI matching data Andrey Panin
2004-05-06 10:32 ` [PATCH 1/6] Export DMI probe function Andrey Panin
2004-05-06 10:32 ` [PATCH 2/6] Whitespace cleanups Andrey Panin
2004-05-06 10:32 ` [PATCH 3/6] Port sonypi driver to new DMI probing Andrey Panin
2004-05-06 10:32 ` [PATCH 4/6] Port APM BIOS " Andrey Panin
2004-05-06 10:32 ` Andrey Panin [this message]
2004-05-06 10:32 ` [PATCH 6/6] Port PIIX4 I2C " Andrey Panin
2004-05-06 10:53 ` Christoph Hellwig
2004-05-06 11:26 ` Andrey Panin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10838395553579@donpac.ru \
--to=pazke@donpac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.