2
0
mirror of https://github.com/lm-sensors/lm-sensors synced 2025-08-31 06:15:15 +00:00

Fix the detection function calls, so that we no more need to declare

these functions separately.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4092 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare
2006-08-11 12:42:52 +00:00
parent 9bebd47af0
commit 79a7acacec

View File

@@ -954,25 +954,6 @@ use vars qw(@pci_adapters_sis5595 @pci_adapters_sis645 @pci_adapters_sis96x);
} ,
);
use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
lm75_detect lm80_detect w83781d_detect w83781d_alias_detect
adm1025_detect w83781d_isa_detect gl518sm_detect gl520sm_detect
adm9240_detect adm1021_detect sis5595_isa_detect eeprom_detect
via686a_isa_detect adm1022_detect gl525sm_detect
lm87_detect ite_detect ite_alias_detect
ddcmonitor_detect ds1621_detect adm1024_detect fscpos_detect
fscscy_detect arp_detect ipmi_kcs_detect
ipmi_smic_detect via8231_isa_detect lm85_detect smartbatt_detect
adm1026_detect w83l785ts_detect lm83_detect lm90_detect
saa1064_detect w83l784r_detect mozart_detect max6650_detect
fscher_detect adm1029_detect adm1031_detect max6900_detect
m5879_detect pca9540_detect smartbatt_mgr_detect
smartbatt_chgr_detect adt7467_detect lm92_detect max1619_detect
lm93_detect lm77_detect lm63_detect pca9556_detect
w83791sd_detect vt1211_i2c_detect vt1211_alias_detect
smsc47m192_detect ite_overclock_detect fintek_detect
w83793_detect);
# This is a list of all recognized chips.
# Each entry must have the following fields:
# name: The full chip name
@@ -1000,662 +981,662 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
name => "Myson MTP008",
driver => "mtp008",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { mtp008_detect @_},
i2c_detect => sub { mtp008_detect(@_); },
} ,
{
name => "National Semiconductor LM78",
driver => "lm78",
i2c_addrs => [0x20..0x2f],
i2c_detect => sub { lm78_detect 0, @_},
i2c_detect => sub { lm78_detect(0, @_); },
isa_addrs => [0x290],
isa_detect => sub { lm78_isa_detect 0, @_ },
alias_detect => sub { lm78_alias_detect 0, @_ },
isa_detect => sub { lm78_isa_detect(0, @_); },
alias_detect => sub { lm78_alias_detect(0, @_); },
} ,
{
name => "National Semiconductor LM78-J",
driver => "lm78",
i2c_addrs => [0x20..0x2f],
i2c_detect => sub { lm78_detect 1, @_ },
i2c_detect => sub { lm78_detect(1, @_); },
isa_addrs => [0x290],
isa_detect => sub { lm78_isa_detect 1, @_ },
alias_detect => sub { lm78_alias_detect 1, @_ },
isa_detect => sub { lm78_isa_detect(1, @_); },
alias_detect => sub { lm78_alias_detect(1, @_); },
} ,
{
name => "National Semiconductor LM79",
driver => "lm78",
i2c_addrs => [0x20..0x2f],
i2c_detect => sub { lm78_detect 2, @_ },
i2c_detect => sub { lm78_detect(2, @_); },
isa_addrs => [0x290],
isa_detect => sub { lm78_isa_detect 2, @_ },
alias_detect => sub { lm78_alias_detect 2, @_ },
isa_detect => sub { lm78_isa_detect(2, @_); },
alias_detect => sub { lm78_alias_detect(2, @_); },
} ,
{
name => "National Semiconductor LM75",
driver => "lm75",
i2c_addrs => [0x48..0x4f],
i2c_detect => sub { lm75_detect @_},
i2c_detect => sub { lm75_detect(@_); },
} ,
{
name => "National Semiconductor LM77",
driver => "lm77",
i2c_addrs => [0x48..0x4b],
i2c_detect => sub { lm77_detect @_},
i2c_detect => sub { lm77_detect(@_); },
},
{
name => "National Semiconductor LM80",
driver => "lm80",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { lm80_detect @_} ,
i2c_detect => sub { lm80_detect(@_); },
},
{
name => "National Semiconductor LM85 or LM96000",
driver => "lm85",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { lm85_detect 0x01, @_},
i2c_detect => sub { lm85_detect(0x01, @_); },
},
{
name => "Analog Devices ADM1027, ADT7460 or ADT7463",
driver => "lm85",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { lm85_detect 0x41, @_},
i2c_detect => sub { lm85_detect(0x41, @_); },
},
{
name => "SMSC EMC6D100, EMC6D101 or EMC6D102",
driver => "lm85",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { lm85_detect 0x5c, @_},
i2c_detect => sub { lm85_detect(0x5c, @_); },
},
{
name => "Analog Devices ADT7467 or ADT7468",
driver => "to-be-written",
i2c_addrs => [0x2e],
i2c_detect => sub { adt7467_detect 0, @_},
i2c_detect => sub { adt7467_detect(0, @_); },
},
{
name => "Analog Devices ADT7476",
driver => "to-be-written",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adt7467_detect 1, @_},
i2c_detect => sub { adt7467_detect(1, @_); },
},
{
name => "National Semiconductor LM87",
driver => "lm87",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { lm87_detect @_} ,
i2c_detect => sub { lm87_detect(@_); },
},
{
name => "National Semiconductor LM93",
driver => "lm93",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { lm93_detect @_ },
i2c_detect => sub { lm93_detect(@_); },
},
{
name => "Winbond W83781D",
driver => "w83781d",
i2c_detect => sub { w83781d_detect 0, @_},
i2c_detect => sub { w83781d_detect(0, @_); },
i2c_addrs => [0x20..0x2f],
isa_addrs => [0x290],
isa_detect => sub { w83781d_isa_detect 0, @_ },
alias_detect => sub { w83781d_alias_detect 0, @_ },
isa_detect => sub { w83781d_isa_detect(0, @_); },
alias_detect => sub { w83781d_alias_detect(0, @_); },
} ,
{
name => "Winbond W83782D",
driver => "w83781d",
i2c_addrs => [0x20..0x2f],
i2c_detect => sub { w83781d_detect 1, @_},
i2c_detect => sub { w83781d_detect(1, @_); },
isa_addrs => [0x290],
isa_detect => sub { w83781d_isa_detect 1, @_ },
alias_detect => sub { w83781d_alias_detect 1, @_ },
isa_detect => sub { w83781d_isa_detect(1, @_); },
alias_detect => sub { w83781d_alias_detect(1, @_); },
} ,
{
name => "Winbond W83783S",
driver => "w83781d",
i2c_addrs => [0x2d],
i2c_detect => sub { w83781d_detect 2, @_},
i2c_detect => sub { w83781d_detect(2, @_); },
} ,
{
name => "Winbond W83792D",
driver => "w83792d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 8, @_},
i2c_detect => sub { w83781d_detect(8, @_); },
},
{
name => "Winbond W83793R/G",
driver => "to-be-written",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83793_detect 0, @_ },
i2c_detect => sub { w83793_detect(0, @_); },
},
{
name => "Winbond W83791SD",
driver => "not-a-sensor",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83791sd_detect @_ },
i2c_detect => sub { w83791sd_detect(@_); },
},
{
name => "Winbond W83627HF",
driver => "w83781d",
i2c_addrs => [0x20..0x2f],
i2c_detect => sub { w83781d_detect 3, @_},
i2c_detect => sub { w83781d_detect(3, @_); },
isa_addrs => [0x290],
isa_detect => sub { w83781d_isa_detect 3, @_ },
alias_detect => sub { w83781d_alias_detect 3, @_ },
isa_detect => sub { w83781d_isa_detect(3, @_); },
alias_detect => sub { w83781d_alias_detect(3, @_); },
} ,
{
name => "Winbond W83627EHF",
driver => "w83627ehf",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { w83781d_detect 9, @_},
i2c_detect => sub { w83781d_detect(9, @_); },
isa_addrs => [0x290],
isa_detect => sub { w83781d_isa_detect 9, @_ },
alias_detect => sub { w83781d_alias_detect 9, @_ },
isa_detect => sub { w83781d_isa_detect(9, @_); },
alias_detect => sub { w83781d_alias_detect(9, @_); },
},
{
name => "Winbond W83627DHG",
driver => "to-be-tested",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { w83781d_detect 10, @_},
i2c_detect => sub { w83781d_detect(10, @_); },
isa_addrs => [0x290],
isa_detect => sub { w83781d_isa_detect 10, @_ },
alias_detect => sub { w83781d_alias_detect 10, @_ },
isa_detect => sub { w83781d_isa_detect(10, @_); },
alias_detect => sub { w83781d_alias_detect(10, @_); },
},
{
name => "Asus AS99127F (rev.1)",
driver => "w83781d",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { w83781d_detect 4, @_},
i2c_detect => sub { w83781d_detect(4, @_); },
} ,
{
name => "Asus AS99127F (rev.2)",
driver => "w83781d",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { w83781d_detect 5, @_},
i2c_detect => sub { w83781d_detect(5, @_); },
} ,
{
name => "Asus ASB100 Bach",
driver => "asb100",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { w83781d_detect 6, @_},
i2c_detect => sub { w83781d_detect(6, @_); },
} ,
{
name => "Asus ASM58 Mozart-2",
driver => "to-be-written",
i2c_addrs => [0x77],
i2c_detect => sub { mozart_detect 0, @_},
i2c_detect => sub { mozart_detect(0, @_); },
} ,
{
name => "Asus AS2K129R Mozart-2",
driver => "to-be-written",
i2c_addrs => [0x77],
i2c_detect => sub { mozart_detect 1, @_},
i2c_detect => sub { mozart_detect(1, @_); },
} ,
{
name => "Asus Mozart-2",
driver => "to-be-written",
i2c_addrs => [0x77],
i2c_detect => sub { mozart_detect 2, @_},
i2c_detect => sub { mozart_detect(2, @_); },
} ,
{
name => "Winbond W83L784R/AR",
driver => "to-be-written",
i2c_addrs => [0x2d],
i2c_detect => sub { w83l784r_detect 0, @_},
i2c_detect => sub { w83l784r_detect(0, @_); },
} ,
{
name => "Winbond W83L785R",
driver => "to-be-written",
i2c_addrs => [0x2d],
i2c_detect => sub { w83l784r_detect 1, @_},
i2c_detect => sub { w83l784r_detect(1, @_); },
} ,
{
name => "Winbond W83L785TS-S",
driver => "w83l785ts",
i2c_addrs => [0x2e],
i2c_detect => sub { w83l785ts_detect 0, @_},
i2c_detect => sub { w83l785ts_detect(0, @_); },
} ,
{
name => "Genesys Logic GL518SM Revision 0x00",
driver => "gl518sm",
i2c_addrs => [0x2c, 0x2d],
i2c_detect => sub { gl518sm_detect 0, @_} ,
i2c_detect => sub { gl518sm_detect(0, @_); },
},
{
name => "Genesys Logic GL518SM Revision 0x80",
driver => "gl518sm",
i2c_addrs => [0x2c, 0x2d],
i2c_detect => sub { gl518sm_detect 1, @_} ,
i2c_detect => sub { gl518sm_detect(1, @_); },
},
{
name => "Genesys Logic GL520SM",
driver => "gl520sm",
i2c_addrs => [0x2c, 0x2d],
i2c_detect => sub { gl520sm_detect @_} ,
i2c_detect => sub { gl520sm_detect(@_); },
},
{
name => "Genesys Logic GL525SM",
driver => "Unwritten (GL525SM)",
i2c_addrs => [0x2d],
i2c_detect => sub { gl525sm_detect @_} ,
i2c_detect => sub { gl525sm_detect(@_); },
},
{
name => "Analog Devices ADM9240",
driver => "adm9240",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { adm9240_detect 0, @_ }
i2c_detect => sub { adm9240_detect(0, @_); },
},
{
name => "Dallas Semiconductor DS1621",
driver => "ds1621",
i2c_addrs => [0x48..0x4f],
i2c_detect => sub { ds1621_detect @_},
i2c_detect => sub { ds1621_detect(@_); },
} ,
{
name => "Dallas Semiconductor DS1780",
driver => "adm9240",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { adm9240_detect 1, @_ }
i2c_detect => sub { adm9240_detect(1, @_); },
},
{
name => "National Semiconductor LM81",
driver => "adm9240",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { adm9240_detect 2, @_ }
i2c_detect => sub { adm9240_detect(2, @_); },
},
{
name => "Analog Devices ADM1026",
driver => "adm1026",
i2c_addrs => [0x2c,0x2d,0x2e],
i2c_detect => sub { adm1026_detect 0, @_ }
i2c_detect => sub { adm1026_detect(0, @_); },
},
{
name => "Analog Devices ADM1025",
driver => "adm1025",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1025_detect 0, @_ }
i2c_detect => sub { adm1025_detect(0, @_); },
},
{
name => "Philips NE1619",
driver => "adm1025",
i2c_addrs => [0x2c..0x2d],
i2c_detect => sub { adm1025_detect 1, @_ }
i2c_detect => sub { adm1025_detect(1, @_); },
},
{
name => "Analog Devices ADM1024",
driver => "adm1024",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1024_detect 0, @_ }
i2c_detect => sub { adm1024_detect(0, @_); },
},
{
name => "Analog Devices ADM1021",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 0, @_ },
i2c_detect => sub { adm1021_detect(0, @_); },
},
{
name => "Analog Devices ADM1021A/ADM1023",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 1, @_ },
i2c_detect => sub { adm1021_detect(1, @_); },
},
{
name => "Maxim MAX1617",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 2, @_ },
i2c_detect => sub { adm1021_detect(2, @_); },
},
{
name => "Maxim MAX1617A",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 3, @_ },
i2c_detect => sub { adm1021_detect(3, @_); },
},
{
name => "Maxim MAX6650/MAX6651",
driver => "max6650",
i2c_addrs => [0x1b,0x1f,0x48,0x4b],
i2c_detect => sub { max6650_detect 0, @_ },
i2c_detect => sub { max6650_detect(0, @_); },
},
{
name => "TI THMC10",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 4, @_ },
i2c_detect => sub { adm1021_detect(4, @_); },
},
{
name => "National Semiconductor LM84",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 5, @_ },
i2c_detect => sub { adm1021_detect(5, @_); },
},
{
name => "Genesys Logic GL523SM",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 6, @_ },
i2c_detect => sub { adm1021_detect(6, @_); },
},
{
name => "Onsemi MC1066",
driver => "adm1021",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { adm1021_detect 7, @_ },
i2c_detect => sub { adm1021_detect(7, @_); },
},
{
name => "Maxim MAX1619",
driver => "max1619",
i2c_addrs => [0x18..0x1a, 0x29..0x2b, 0x4c..0x4e],
i2c_detect => sub { max1619_detect 0, @_ },
i2c_detect => sub { max1619_detect(0, @_); },
},
{
name => "National Semiconductor LM82/LM83",
driver => "lm83",
i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e],
i2c_detect => sub { lm83_detect 0, @_ },
i2c_detect => sub { lm83_detect(0, @_); },
},
{
name => "National Semiconductor LM90",
driver => "lm90",
i2c_addrs => [0x4c],
i2c_detect => sub { lm90_detect 0, @_ },
i2c_detect => sub { lm90_detect(0, @_); },
},
{
name => "National Semiconductor LM89/LM99",
driver => "lm90",
i2c_addrs => [0x4c..0x4d],
i2c_detect => sub { lm90_detect 1, @_ },
i2c_detect => sub { lm90_detect(1, @_); },
},
{
name => "National Semiconductor LM86",
driver => "lm90",
i2c_addrs => [0x4c],
i2c_detect => sub { lm90_detect 2, @_ },
i2c_detect => sub { lm90_detect(2, @_); },
},
{
name => "Analog Devices ADM1032",
driver => "lm90",
i2c_addrs => [0x4c..0x4d],
i2c_detect => sub { lm90_detect 3, @_ },
i2c_detect => sub { lm90_detect(3, @_); },
},
{
name => "Maxim MAX6657/MAX6658/MAX6659",
driver => "lm90",
i2c_addrs => [0x4c],
i2c_detect => sub { lm90_detect 4, @_ },
i2c_detect => sub { lm90_detect(4, @_); },
},
{
name => "Maxim MAX6659",
driver => "lm90",
i2c_addrs => [0x4d..0x4e], # 0x4c is handled above
i2c_detect => sub { lm90_detect 4, @_ },
i2c_detect => sub { lm90_detect(4, @_); },
},
{
name => "National Semiconductor LM63",
driver => "lm63",
i2c_addrs => [0x4c],
i2c_detect => sub { lm63_detect 1, @_ },
i2c_detect => sub { lm63_detect(1, @_); },
},
{
name => "Fintek F75363SG",
driver => "lm63", # Not yet
i2c_addrs => [0x4c],
i2c_detect => sub { lm63_detect 2, @_ },
i2c_detect => sub { lm63_detect(2, @_); },
},
{
name => "National Semiconductor LM92",
driver => "lm92",
i2c_addrs => [0x48..0x4b],
i2c_detect => sub { lm92_detect 0, @_ },
i2c_detect => sub { lm92_detect(0, @_); },
},
{
name => "National Semiconductor LM76",
driver => "lm92",
i2c_addrs => [0x48..0x4b],
i2c_detect => sub { lm92_detect 1, @_ },
i2c_detect => sub { lm92_detect(1, @_); },
},
{
name => "Maxim MAX6633/MAX6634/MAX6635",
driver => "lm92",
i2c_addrs => [0x40..0x4f],
i2c_detect => sub { lm92_detect 2, @_ },
i2c_detect => sub { lm92_detect(2, @_); },
},
{
name => "Analog Devices ADT7461",
driver => "lm90",
i2c_addrs => [0x4c..0x4d],
i2c_detect => sub { lm90_detect 5, @_ },
i2c_detect => sub { lm90_detect(5, @_); },
},
{
name => "Analog Devices ADM1029",
driver => "to-be-written",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { adm1029_detect 0, @_ },
i2c_detect => sub { adm1029_detect(0, @_); },
},
{
name => "Analog Devices ADM1030",
driver => "adm1031",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1031_detect 0, @_ },
i2c_detect => sub { adm1031_detect(0, @_); },
},
{
name => "Analog Devices ADM1031",
driver => "adm1031",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1031_detect 1, @_ },
i2c_detect => sub { adm1031_detect(1, @_); },
},
{
name => "Analog Devices ADM1022",
driver => "thmc50",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1022_detect 0, @_ },
i2c_detect => sub { adm1022_detect(0, @_); },
},
{
name => "Texas Instruments THMC50",
driver => "thmc50",
i2c_addrs => [0x2c..0x2e],
i2c_detect => sub { adm1022_detect 1, @_ },
i2c_detect => sub { adm1022_detect(1, @_); },
},
{
name => "Analog Devices ADM1028",
driver => "thmc50",
i2c_addrs => [0x2e],
i2c_detect => sub { adm1022_detect 2, @_ },
i2c_detect => sub { adm1022_detect(2, @_); },
},
{
name => "Silicon Integrated Systems SIS5595",
driver => "sis5595",
isa_addrs => [ 0 ],
isa_detect => sub { sis5595_isa_detect @_ },
isa_detect => sub { sis5595_isa_detect(@_); },
},
{
name => "VIA Technologies VT82C686 Integrated Sensors",
driver => "via686a",
isa_addrs => [ 0 ],
isa_detect => sub { via686a_isa_detect @_ },
isa_detect => sub { via686a_isa_detect(@_); },
},
{
name => "VIA Technologies VT8231 Integrated Sensors",
driver => "vt8231",
isa_addrs => [ 0 ],
isa_detect => sub { via8231_isa_detect @_ },
isa_detect => sub { via8231_isa_detect(@_); },
},
{
name => "VIA VT1211 (I2C)",
driver => "use-isa-instead",
i2c_addrs => [0x2d],
i2c_detect => sub { vt1211_i2c_detect 0, @_ },
i2c_detect => sub { vt1211_i2c_detect(0, @_); },
},
{
name => "ITE IT8712F",
driver => "it87",
i2c_addrs => [0x28..0x2f],
i2c_detect => sub { ite_detect 0, @_ },
i2c_detect => sub { ite_detect(0, @_); },
},
{
name => "ITE IT8201R/IT8203R/IT8206R/IT8266R overclocking controller",
driver => "not-a-sensor",
i2c_addrs => [0x4e],
i2c_detect => sub { ite_overclock_detect @_ },
i2c_detect => sub { ite_overclock_detect(@_); },
},
{
name => "SPD EEPROM",
driver => "eeprom",
i2c_addrs => [0x50..0x57],
i2c_detect => sub { eeprom_detect 0, @_ },
i2c_detect => sub { eeprom_detect(0, @_); },
},
{
name => "Sony Vaio EEPROM",
driver => "eeprom",
i2c_addrs => [0x57],
i2c_detect => sub { eeprom_detect 1, @_ },
i2c_detect => sub { eeprom_detect(1, @_); },
},
# Disabled by default (potentially dangerous)
# {
# name => "SPD EEPROM with Software Write-Protect",
# driver => "eeprom",
# i2c_addrs => [0x50..0x57],
# i2c_detect => sub { eeprom_detect 2, @_ },
# i2c_detect => sub { eeprom_detect(2, @_); },
# },
{
name => "EDID EEPROM",
driver => "eeprom",
i2c_addrs => [0x50],
i2c_detect => sub { ddcmonitor_detect @_ },
i2c_detect => sub { ddcmonitor_detect(@_); },
},
{
name => "FSC Poseidon",
driver => "fscpos",
i2c_addrs => [0x73],
i2c_detect => sub { fscpos_detect @_ },
i2c_detect => sub { fscpos_detect(@_); },
},
{
name => "FSC Scylla",
driver => "fscscy",
i2c_addrs => [0x73],
i2c_detect => sub { fscscy_detect @_ },
i2c_detect => sub { fscscy_detect(@_); },
},
{
name => "FSC Hermes",
driver => "fscher",
i2c_addrs => [0x73],
i2c_detect => sub { fscher_detect @_ },
i2c_detect => sub { fscher_detect(@_); },
},
{
name => "ALi M5879",
driver => "to-be-written",
i2c_addrs => [0x2c..0x2d],
i2c_detect => sub { m5879_detect @_},
i2c_detect => sub { m5879_detect(@_); },
},
{
name => "SMSC LPC47M15x, LPC47M192 or LPC47M997",
driver => "smsc47m192",
i2c_addrs => [0x2c..0x2d],
i2c_detect => sub { smsc47m192_detect @_ },
i2c_detect => sub { smsc47m192_detect(@_); },
},
{
name => "Fintek F75111R/RG/N (GPIO)",
driver => "to-be-written",
i2c_addrs => [0x4e], # 0x37 not probed
i2c_detect => sub { fintek_detect 1, @_ },
i2c_detect => sub { fintek_detect(1, @_); },
},
{
name => "Fintek F75121R/F75122R/RG (VID+GPIO)",
driver => "to-be-written",
i2c_addrs => [0x4e], # 0x37 not probed
i2c_detect => sub { fintek_detect 2, @_ },
i2c_detect => sub { fintek_detect(2, @_); },
},
{
name => "Fintek F75373S/SG",
driver => "to-be-written",
i2c_addrs => [0x2d..0x2e],
i2c_detect => sub { fintek_detect 3, @_ },
i2c_detect => sub { fintek_detect(3, @_); },
},
{
name => "Fintek F75375S/SP",
driver => "to-be-written",
i2c_addrs => [0x2d..0x2e],
i2c_detect => sub { fintek_detect 4, @_ },
i2c_detect => sub { fintek_detect(4, @_); },
},
{
name => "Fintek F75387SG/RG",
driver => "to-be-written",
i2c_addrs => [0x2d..0x2e],
i2c_detect => sub { fintek_detect 5, @_ },
i2c_detect => sub { fintek_detect(5, @_); },
},
{
name => "Fintek F75383S/M",
driver => "to-be-written",
i2c_addrs => [0x4c],
i2c_detect => sub { fintek_detect 6, @_ },
i2c_detect => sub { fintek_detect(6, @_); },
},
{
name => "Fintek F75384S/M",
driver => "to-be-written",
i2c_addrs => [0x4d],
i2c_detect => sub { fintek_detect 6, @_ },
i2c_detect => sub { fintek_detect(6, @_); },
},
{
name => "Fintek custom power control IC",
driver => "to-be-written",
i2c_addrs => [0x2f],
i2c_detect => sub { fintek_detect 7, @_ },
i2c_detect => sub { fintek_detect(7, @_); },
},
{
name => "Philips Semiconductors SAA1064",
driver => "saa1064",
i2c_addrs => [0x38..0x3b],
i2c_detect => sub { saa1064_detect @_ },
i2c_detect => sub { saa1064_detect(@_); },
},
{
name => "Philips Semiconductors PCA9540",
driver => "pca9540",
i2c_addrs => [0x70],
i2c_detect => sub { pca9540_detect @_ },
i2c_detect => sub { pca9540_detect(@_); },
},
{
name => "Philips Semiconductors PCA9556",
driver => "to-be-written",
i2c_addrs => [0x18..0x1f],
i2c_detect => sub { pca9556_detect @_ },
i2c_detect => sub { pca9556_detect(@_); },
},
{
name => "Maxim MAX6900",
driver => "to-be-written",
i2c_addrs => [0x50],
i2c_detect => sub { max6900_detect @_ },
i2c_detect => sub { max6900_detect(@_); },
},
{
name => "SMBus 2.0 ARP-Capable Device",
driver => "smbus-arp",
i2c_addrs => [0x61],
i2c_detect => sub { arp_detect @_},
i2c_detect => sub { arp_detect(@_); },
},
{
name => "IPMI BMC KCS",
driver => "bmcsensors",
isa_addrs => [ 0x0ca0 ],
isa_detect => sub { ipmi_kcs_detect @_ },
isa_detect => sub { ipmi_kcs_detect(@_); },
},
{
name => "IPMI BMC SMIC",
driver => "bmcsensors",
isa_addrs => [ 0x0ca8 ],
isa_detect => sub { ipmi_smic_detect @_ },
isa_detect => sub { ipmi_smic_detect(@_); },
},
{
name => "Smart Battery Charger",
driver => "to-be-written",
i2c_addrs => [0x09],
i2c_detect => sub { smartbatt_chgr_detect @_},
i2c_detect => sub { smartbatt_chgr_detect(@_); },
},
{
name => "Smart Battery Manager/Selector",
driver => "to-be-written",
i2c_addrs => [0x0a],
i2c_detect => sub { smartbatt_mgr_detect @_},
i2c_detect => sub { smartbatt_mgr_detect(@_); },
},
{
name => "Smart Battery",
driver => "smartbatt",
i2c_addrs => [0x0b],
i2c_detect => sub { smartbatt_detect @_},
i2c_detect => sub { smartbatt_detect(@_); },
},
);
@@ -1666,14 +1647,14 @@ $chip_kern24_w83791d = {
name => "Winbond W83791D",
driver => "w83781d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 7, @_ },
i2c_detect => sub { w83781d_detect(7, @_); },
};
$chip_kern26_w83791d = {
name => "Winbond W83791D",
driver => "w83791d",
i2c_addrs => [0x2c..0x2f],
i2c_detect => sub { w83781d_detect 7, @_ },
i2c_detect => sub { w83781d_detect(7, @_); },
};
# This is a list of all recognized superio chips.
@@ -1720,7 +1701,7 @@ $chip_kern26_w83791d = {
driver => "it87",
devid => 0x8712,
logdev => 0x04,
alias_detect => sub { ite_alias_detect 0, @_ },
alias_detect => sub { ite_alias_detect(0, @_); },
},
{
name => "ITE IT8716F Super IO Sensors",
@@ -1939,7 +1920,7 @@ $chip_kern26_w83791d = {
driver => "vt1211",
devid => 0x3c,
logdev => 0x0b,
alias_detect => sub { vt1211_alias_detect 0, @_ },
alias_detect => sub { vt1211_alias_detect(0, @_); },
},
{
name => "Winbond W83627HF Super IO Sensors",