Changeset 2424

Show
Ignore:
Timestamp:
04/07/04 22:18:08 (5 years ago)
Author:
khali
Message:

Patch dmi_scan.c in kernel instead of adding our own module.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/mkpatch/FILES

    r2423 r2424  
    1 kernel/busses/dmi_scan.c        drivers/i2c/dmi_scan.c 
    21kernel/busses/i2c-ali1535.c     drivers/i2c/i2c-ali1535.c 
    32kernel/busses/i2c-ali15x3.c     drivers/i2c/i2c-ali15x3.c 
  • lm-sensors/trunk/mkpatch/mkpatch.pl

    r2241 r2424  
    967967obj-$(CONFIG_I2C_I810)                  += i2c-i810.o 
    968968obj-$(CONFIG_I2C_ISA)                   += i2c-isa.o 
    969 obj-$(CONFIG_I2C_PIIX4)                 += i2c-piix4.o dmi_scan.o 
     969obj-$(CONFIG_I2C_PIIX4)                 += i2c-piix4.o 
    970970obj-$(CONFIG_I2C_SIS5595)               += i2c-sis5595.o 
    971971obj-$(CONFIG_I2C_SIS630)                += i2c-sis630.o 
     
    976976obj-$(CONFIG_I2C_VIAPRO)                += i2c-viapro.o 
    977977obj-$(CONFIG_I2C_VOODOO3)               += i2c-voodoo3.o 
    978 export-objs                             += dmi_scan.o 
    979978EOF 
    980979    } 
     
    10281027  die "Automatic patch generation for `MAINTAINERS' failed.\n". 
    10291028      "See our home page http://www.lm-sensors.nu for assistance!" if $done == 0; 
     1029  print_diff $package_root,$kernel_root,$kernel_file,$package_file; 
     1030} 
     1031 
     1032# Generate the diffs for dmi_scan.c and i386_ksyms.c 
     1033# $_[0]: i2c package root (like /tmp/i2c) 
     1034# $_[1]: Linux kernel tree (like /usr/src/linux) 
     1035sub gen_dmi_scan 
     1036{ 
     1037  my ($package_root,$kernel_root) = @_; 
     1038  my $kernel_file = "arch/i386/kernel/dmi_scan.c"; 
     1039  my $package_file = $temp; 
     1040  my $done = 0; 
     1041 
     1042  open INPUT,"$kernel_root/$kernel_file" 
     1043        or die "Can't open `$kernel_root/$kernel_file'"; 
     1044  open OUTPUT,">$package_root/$package_file" 
     1045        or die "Can't open $package_root/$package_file"; 
     1046  MAIN: while(<INPUT>) { 
     1047    if ($done == 0 && m/^\s*int is_sony_vaio_laptop;\s*$/) { 
     1048      print OUTPUT <<'EOF'; 
     1049int is_unsafe_smbus; 
     1050EOF 
     1051      $done++; 
     1052    } 
     1053    if ($done == 1 && m/^\s*\* Check for a Sony Vaio system\s*$/) { 
     1054      print OUTPUT <<'EOF'; 
     1055 * Don't access SMBus on IBM systems which get corrupted eeproms  
     1056 */ 
     1057 
     1058static __init int disable_smbus(struct dmi_blacklist *d) 
     1059{    
     1060        if (is_unsafe_smbus == 0) { 
     1061                is_unsafe_smbus = 1; 
     1062                printk(KERN_INFO "%s machine detected. Disabling SMBus accesses.\n", d->ident); 
     1063        } 
     1064        return 0; 
     1065} 
     1066 
     1067/* 
     1068EOF 
     1069      $done++; 
     1070    } 
     1071    if ($done == 2 && m/^\s*\{ sony_vaio_laptop, "Sony Vaio", \{ \/\* This is a Sony Vaio laptop \*\/\s*$/) { 
     1072      print OUTPUT <<'EOF'; 
     1073        { disable_smbus, "IBM", { 
     1074                        MATCH(DMI_SYS_VENDOR, "IBM"), 
     1075                        NO_MATCH, NO_MATCH, NO_MATCH 
     1076                        } }, 
     1077EOF 
     1078      $done++; 
     1079    } 
     1080    print OUTPUT; 
     1081  } 
     1082  close INPUT; 
     1083  close OUTPUT; 
     1084  die "Automatic patch generation for `$kernel_file' failed.\n". 
     1085      "See our home page http://www.lm-sensors.nu for assistance!" if $done != 3; 
     1086  print_diff $package_root,$kernel_root,$kernel_file,$package_file; 
     1087 
     1088  $kernel_file = "arch/i386/kernel/i386_ksyms.c"; 
     1089  $done = 0; 
     1090 
     1091  open INPUT,"$kernel_root/$kernel_file" 
     1092        or die "Can't open `$kernel_root/$kernel_file'"; 
     1093  open OUTPUT,">$package_root/$package_file" 
     1094        or die "Can't open $package_root/$package_file"; 
     1095  MAIN: while(<INPUT>) { 
     1096    if ($done == 0 && m/^\s*extern int is_sony_vaio_laptop;\s*$/) { 
     1097      print OUTPUT <<'EOF'; 
     1098extern int is_unsafe_smbus; 
     1099EXPORT_SYMBOL(is_unsafe_smbus); 
     1100 
     1101EOF 
     1102      $done++; 
     1103    } 
     1104    print OUTPUT; 
     1105  } 
     1106  close INPUT; 
     1107  close OUTPUT; 
     1108  die "Automatic patch generation for `$kernel_file' failed.\n". 
     1109      "See our home page http://www.lm-sensors.nu for assistance!" if $done != 1; 
    10301110  print_diff $package_root,$kernel_root,$kernel_file,$package_file; 
    10311111} 
     
    11031183  gen_Documentation_Configure_help $package_root, $kernel_root; 
    11041184  gen_MAINTAINERS $package_root, $kernel_root; 
     1185  gen_dmi_scan $package_root, $kernel_root; 
    11051186} 
    11061187