[PATCH] 2.6.0-test4 Fix mpparse properly mark 2

Andrew de Quincey
2003-09-09T13:08:00Z

How about this patch? I've opted to put the es7000_fix variable in dmi_scan.c for
the moment 'cos there are already another couple of architecture-switching variables
defined in there.

Whoever hooks up the es7000 code can move it to a more appropriate place if they
don't use DMI for the detection.

--- linux-2.6.0-test4.null_crs/arch/i386/kernel/mpparse.c 2003-09-06 00:23:10.000000000 +0100
+++ linux-2.6.0-test4.es7000fix/arch/i386/kernel/mpparse.c 2003-09-09 13:58:00.839472992 +0100
@@ -1128,9 +1128,11 @@
if (ioapic < 0)
continue;
ioapic_pin = irq - mp_ioapic_routing[ioapic].irq_start;
-
- if (!ioapic && (irq < 16))
- irq += 16;
+
+ if (es7000_plat) {
+ if (!ioapic && (irq < 16))
+ irq += 16;
+ }

/*
* Avoid pin reprogramming. PRTs typically include entries
--- linux-2.6.0-test4.null_crs/arch/i386/kernel/dmi_scan.c 2003-08-23 00:54:24.000000000 +0100
+++ linux-2.6.0-test4.es7000fix/arch/i386/kernel/dmi_scan.c 2003-09-09 13:57:22.180350072 +0100
@@ -16,6 +16,7 @@

int is_sony_vaio_laptop;
int is_unsafe_smbus;
+int es7000_plat = 0;

struct dmi_header
{
--- linux-2.6.0-test4.null_crs/arch/i386/mach-es7000/es7000.c 2003-08-23 01:00:14.000000000 +0100
+++ linux-2.6.0-test4.es7000fix/arch/i386/mach-es7000/es7000.c 2003-09-09 14:08:00.095372248 +0100
@@ -51,8 +51,6 @@
int mip_port;
unsigned long mip_addr, host_addr;

-static int es7000_plat;
-
/*
* Parse the OEM Table
*/
--- linux-2.6.0-test4.null_crs/include/asm-i386/system.h 2003-08-23 00:50:53.000000000 +0100
+++ linux-2.6.0-test4.es7000fix/include/asm-i386/system.h 2003-09-09 13:58:29.508114696 +0100
@@ -470,6 +470,7 @@

extern unsigned long dmi_broken;
extern int is_sony_vaio_laptop;
+extern int es7000_plat;

#define BROKEN_ACPI_Sx 0x0001
#define BROKEN_INIT_AFTER_S1 0x0002