ChangeSet 1.1111, 2003/03/13 12:16:52-08:00, greg@kroah.com i2c: i2c-piix4.c: Clean up the ibm dma scan logic Also export the is_unsafe_smbus variable, which is needed. arch/i386/kernel/dmi_scan.c | 3 +++ drivers/i2c/busses/i2c-piix4.c | 20 ++------------------ 2 files changed, 5 insertions(+), 18 deletions(-) diff -Nru a/arch/i386/kernel/dmi_scan.c b/arch/i386/kernel/dmi_scan.c --- a/arch/i386/kernel/dmi_scan.c Thu Mar 13 16:57:17 2003 +++ b/arch/i386/kernel/dmi_scan.c Thu Mar 13 16:57:17 2003 @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -893,3 +894,5 @@ if(err == 0) dmi_check_blacklist(); } + +EXPORT_SYMBOL(is_unsafe_smbus); diff -Nru a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c --- a/drivers/i2c/busses/i2c-piix4.c Thu Mar 13 16:57:17 2003 +++ b/drivers/i2c/busses/i2c-piix4.c Thu Mar 13 16:57:17 2003 @@ -28,7 +28,6 @@ Note: we assume there can only be one device, with one SMBus interface. */ -#include #include #include #include @@ -104,31 +103,18 @@ static unsigned short piix4_smba = 0; -#ifdef CONFIG_X86 /* * Get DMI information. */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,34) -void dmi_scan_mach(void); -#endif - -static int __init ibm_dmi_probe(void) +static int ibm_dmi_probe(void) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,34) +#ifdef CONFIG_X86 extern int is_unsafe_smbus; return is_unsafe_smbus; #else -#define IBM_SIGNATURE "IBM" - dmi_scan_mach(); - if(dmi_ident[DMI_SYS_VENDOR] == NULL) - return 0; - if(strncmp(dmi_ident[DMI_SYS_VENDOR], IBM_SIGNATURE, - strlen(IBM_SIGNATURE)) == 0) - return 1; return 0; #endif } -#endif static int piix4_setup(struct pci_dev *PIIX4_dev, const struct pci_device_id *id) { @@ -141,7 +127,6 @@ printk(KERN_INFO "i2c-piix4.o: Found %s device\n", PIIX4_dev->dev.name); -#ifdef CONFIG_X86 if(ibm_dmi_probe()) { printk (KERN_ERR "i2c-piix4.o: IBM Laptop detected; this module may corrupt\n"); @@ -150,7 +135,6 @@ error_return = -EPERM; goto END; } -#endif /* Determine the address of the SMBus areas */ if (force_addr) {