All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Panin <pazke@donpac.ru>
To: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/6] 2.6.7-mm1, port PnP BIOS driver to new DMI probing
Date: Wed, 23 Jun 2004 16:44:35 +0400	[thread overview]
Message-ID: <10879946751497@donpac.ru> (raw)
In-Reply-To: <10879946711727@donpac.ru>


This patch ports PnP BIOS driver to new DMI probing API.

Signed-off-by: Andrey Panin <pazke@donpac.ru>

 arch/i386/kernel/dmi_scan.c |   24 ------------------------
 drivers/pnp/pnpbios/core.c  |   32 +++++++++++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 25 deletions(-)

diff -urpN -X /usr/share/dontdiff linux-2.6.7-mm1.vanilla/arch/i386/kernel/dmi_scan.c linux-2.6.7-mm1/arch/i386/kernel/dmi_scan.c
--- linux-2.6.7-mm1.vanilla/arch/i386/kernel/dmi_scan.c	Sun May 23 22:08:06 2004
+++ linux-2.6.7-mm1/arch/i386/kernel/dmi_scan.c	Sun May 23 22:08:22 2004
@@ -433,18 +433,6 @@ static __init int broken_ps2_resume(stru
 	return 0;
 }
 
-/*
- *	Exploding PnPBIOS. Don't yet know if its the BIOS or us for
- *	some entries
- */
-
-static __init int exploding_pnp_bios(struct dmi_blacklist *d)
-{
-	printk(KERN_WARNING "%s detected. Disabling PnPBIOS\n", d->ident);
-	dmi_broken |= BROKEN_PNP_BIOS;
-	return 0;
-}
-
 static __init int acer_cpufreq_pst(struct dmi_blacklist *d)
 {
 	printk(KERN_WARNING "%s laptop with broken PST tables in BIOS detected.\n", d->ident);
@@ -748,18 +736,6 @@ static __initdata struct dmi_blacklist d
 			MATCH(DMI_BIOS_DATE, "10/26/01"), NO_MATCH
 			} },
 			
-	{ exploding_pnp_bios, "Higraded P14H", {	/* PnPBIOS GPF on boot */
-			MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
-			MATCH(DMI_BIOS_VERSION, "07.00T"),
-			MATCH(DMI_SYS_VENDOR, "Higraded"),
-			MATCH(DMI_PRODUCT_NAME, "P14H")
-			} },
-	{ exploding_pnp_bios, "ASUS P4P800", {	/* PnPBIOS GPF on boot */
-			MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc."),
-			MATCH(DMI_BOARD_NAME, "P4P800"),
-			NO_MATCH, NO_MATCH
-			} },
-
 	/* Machines which have problems handling enabled local APICs */
 
 	{ local_apic_kills_bios, "Dell Inspiron", {
diff -urpN -X /usr/share/dontdiff linux-2.6.7-mm1.vanilla/drivers/pnp/pnpbios/core.c linux-2.6.7-mm1/drivers/pnp/pnpbios/core.c
--- linux-2.6.7-mm1.vanilla/drivers/pnp/pnpbios/core.c	Sun May 23 22:02:41 2004
+++ linux-2.6.7-mm1/drivers/pnp/pnpbios/core.c	Sun May 23 22:08:22 2004
@@ -59,6 +59,7 @@
 #include <linux/kmod.h>
 #include <linux/completion.h>
 #include <linux/spinlock.h>
+#include <linux/dmi.h>
 
 #include <asm/page.h>
 #include <asm/desc.h>
@@ -498,10 +499,39 @@ int __init pnpbios_probe_system(void)
 	return 0;
 }
 
+static int __init exploding_pnp_bios(struct dmi_system_id *d)
+{
+	printk(KERN_WARNING "%s detected. Disabling PnPBIOS\n", d->ident);
+	return 0;
+}
+
+static struct dmi_system_id pnpbios_dmi_table[] = {
+	{	/* PnPBIOS GPF on boot */
+		.callback = exploding_pnp_bios,
+		.ident = "Higraded P14H",
+		.matches = {
+			DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
+			DMI_MATCH(DMI_BIOS_VERSION, "07.00T"),
+			DMI_MATCH(DMI_SYS_VENDOR, "Higraded"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "P14H"),
+		},
+	},
+	{	/* PnPBIOS GPF on boot */
+		.callback = exploding_pnp_bios,
+		.ident = "ASUS P4P800",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc."),
+			DMI_MATCH(DMI_BOARD_NAME, "P4P800"),
+		},
+	},
+	{ }
+};
+
 int __init pnpbios_init(void)
 {
 	int ret;
-	if(pnpbios_disabled || (dmi_broken & BROKEN_PNP_BIOS)) {
+
+	if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table)) {
 		printk(KERN_INFO "PnPBIOS: Disabled\n");
 		return -ENODEV;
 	}


  reply	other threads:[~2004-06-23 12:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-23 12:44 [PATCH 0/6] 2.6.7-mm1, port Acer laptop irq routing workaround to new DMI probing Andrey Panin
2004-06-23 12:44 ` Andrey Panin [this message]
2004-06-23 12:44   ` [PATCH 2/6] 2.6.7-mm1, port sonypi driver " Andrey Panin
2004-06-23 12:44     ` [PATCH 3/6] 2.6.7-mm1, port PIIX4 SMBUS " Andrey Panin
2004-06-23 12:44       ` [PATCH 4/6] 2.6.7-mm1, port powernow-k7 " Andrey Panin
2004-06-23 12:44         ` [PATCH 5/6] 2.6.7-mm1, remove unused ASUS K7V-RM DMI quirk Andrey Panin
2004-06-23 12:44           ` [PATCH 6/6] 2.6.7-mm1, port APM BIOS driver to new DMI probing Andrey Panin
2004-06-23 14:53           ` [PATCH 5/6] 2.6.7-mm1, remove unused ASUS K7V-RM DMI quirk Jeff Garzik
2004-06-23 16:53             ` Len Brown
2004-06-24 19:57               ` Pavel Machek

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=10879946751497@donpac.ru \
    --to=pazke@donpac.ru \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.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.