aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2007-11-30 17:51:24 -0500
committerMark M. Hoffman <mhoffman@lightlink.com>2008-02-07 20:39:43 -0500
commit05663368d2138c14fa1b9aa8eeca4ca9a33d7c77 (patch)
tree63d2ec28352f62273dafc812e90e870b8a331143 /drivers
parent5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 (diff)
hwmon: (w83781d) Drop W83627HF support
The W83627HF hardware monitoring features are supported by the w83627hf driver for several years now. Support by the w83781d has been advertised as deprecated 6 months ago, it's about time to see it go. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/Kconfig6
-rw-r--r--drivers/hwmon/w83781d.c29
2 files changed, 8 insertions, 27 deletions
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index af43d566d770..27e0b34ead5f 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -631,13 +631,13 @@ config SENSORS_VT8231
631 will be called vt8231. 631 will be called vt8231.
632 632
633config SENSORS_W83781D 633config SENSORS_W83781D
634 tristate "Winbond W83781D, W83782D, W83783S, W83627HF, Asus AS99127F" 634 tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F"
635 depends on I2C 635 depends on I2C
636 select HWMON_VID 636 select HWMON_VID
637 help 637 help
638 If you say yes here you get support for the Winbond W8378x series 638 If you say yes here you get support for the Winbond W8378x series
639 of sensor chips: the W83781D, W83782D, W83783S and W83627HF, 639 of sensor chips: the W83781D, W83782D and W83783S, and the similar
640 and the similar Asus AS99127F. 640 Asus AS99127F.
641 641
642 This driver can also be built as a module. If so, the module 642 This driver can also be built as a module. If so, the module
643 will be called w83781d. 643 will be called w83781d.
diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c
index d38b9ede3abd..8d4d1acbf650 100644
--- a/drivers/hwmon/w83781d.c
+++ b/drivers/hwmon/w83781d.c
@@ -28,7 +28,6 @@
28 as99127f 7 3 0 3 0x31 0x12c3 yes no 28 as99127f 7 3 0 3 0x31 0x12c3 yes no
29 as99127f rev.2 (type_name = as99127f) 0x31 0x5ca3 yes no 29 as99127f rev.2 (type_name = as99127f) 0x31 0x5ca3 yes no
30 w83781d 7 3 0 3 0x10-1 0x5ca3 yes yes 30 w83781d 7 3 0 3 0x10-1 0x5ca3 yes yes
31 w83627hf 9 3 2 3 0x21 0x5ca3 yes yes(LPC)
32 w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes 31 w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes
33 w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no 32 w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no
34 33
@@ -59,7 +58,7 @@ static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
59static unsigned short isa_address = 0x290; 58static unsigned short isa_address = 0x290;
60 59
61/* Insmod parameters */ 60/* Insmod parameters */
62I2C_CLIENT_INSMOD_5(w83781d, w83782d, w83783s, w83627hf, as99127f); 61I2C_CLIENT_INSMOD_4(w83781d, w83782d, w83783s, as99127f);
63I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: " 62I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
64 "{bus, clientaddr, subclientaddr1, subclientaddr2}"); 63 "{bus, clientaddr, subclientaddr1, subclientaddr2}");
65 64
@@ -113,7 +112,7 @@ MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
113#define W83781D_REG_ALARM1 0x41 112#define W83781D_REG_ALARM1 0x41
114#define W83781D_REG_ALARM2 0x42 113#define W83781D_REG_ALARM2 0x42
115 114
116/* Real-time status (W83782D, W83783S, W83627HF) */ 115/* Real-time status (W83782D, W83783S) */
117#define W83782D_REG_ALARM1 0x459 116#define W83782D_REG_ALARM1 0x459
118#define W83782D_REG_ALARM2 0x45A 117#define W83782D_REG_ALARM2 0x45A
119#define W83782D_REG_ALARM3 0x45B 118#define W83782D_REG_ALARM3 0x45B
@@ -962,8 +961,6 @@ w83781d_detect_subclients(struct i2c_adapter *adapter, int address, int kind,
962 client_name = "w83782d subclient"; 961 client_name = "w83782d subclient";
963 else if (kind == w83783s) 962 else if (kind == w83783s)
964 client_name = "w83783s subclient"; 963 client_name = "w83783s subclient";
965 else if (kind == w83627hf)
966 client_name = "w83627hf subclient";
967 else if (kind == as99127f) 964 else if (kind == as99127f)
968 client_name = "as99127f subclient"; 965 client_name = "as99127f subclient";
969 966
@@ -1267,8 +1264,6 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind)
1267 kind = w83782d; 1264 kind = w83782d;
1268 else if (val1 == 0x40 && vendid == winbond && address == 0x2d) 1265 else if (val1 == 0x40 && vendid == winbond && address == 0x2d)
1269 kind = w83783s; 1266 kind = w83783s;
1270 else if (val1 == 0x21 && vendid == winbond)
1271 kind = w83627hf;
1272 else if (val1 == 0x31) 1267 else if (val1 == 0x31)
1273 kind = as99127f; 1268 kind = as99127f;
1274 else { 1269 else {
@@ -1287,8 +1282,6 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind)
1287 client_name = "w83782d"; 1282 client_name = "w83782d";
1288 } else if (kind == w83783s) { 1283 } else if (kind == w83783s) {
1289 client_name = "w83783s"; 1284 client_name = "w83783s";
1290 } else if (kind == w83627hf) {
1291 client_name = "w83627hf";
1292 } else if (kind == as99127f) { 1285 } else if (kind == as99127f) {
1293 client_name = "as99127f"; 1286 client_name = "as99127f";
1294 } 1287 }
@@ -1395,10 +1388,6 @@ w83781d_isa_probe(struct platform_device *pdev)
1395 1388
1396 reg = w83781d_read_value(data, W83781D_REG_WCHIPID); 1389 reg = w83781d_read_value(data, W83781D_REG_WCHIPID);
1397 switch (reg) { 1390 switch (reg) {
1398 case 0x21:
1399 data->type = w83627hf;
1400 name = "w83627hf";
1401 break;
1402 case 0x30: 1391 case 0x30:
1403 data->type = w83782d; 1392 data->type = w83782d;
1404 name = "w83782d"; 1393 name = "w83782d";
@@ -1598,11 +1587,6 @@ w83781d_init_device(struct device *dev)
1598 int type = data->type; 1587 int type = data->type;
1599 u8 tmp; 1588 u8 tmp;
1600 1589
1601 if (type == w83627hf)
1602 dev_info(dev, "The W83627HF chip is better supported by the "
1603 "w83627hf driver, support will be dropped from the "
1604 "w83781d driver soon\n");
1605
1606 if (reset && type != as99127f) { /* this resets registers we don't have 1590 if (reset && type != as99127f) { /* this resets registers we don't have
1607 documentation for on the as99127f */ 1591 documentation for on the as99127f */
1608 /* Resetting the chip has been the default for a long time, 1592 /* Resetting the chip has been the default for a long time,
@@ -1716,8 +1700,7 @@ static struct w83781d_data *w83781d_update_device(struct device *dev)
1716 w83781d_read_value(data, W83781D_REG_IN_MIN(i)); 1700 w83781d_read_value(data, W83781D_REG_IN_MIN(i));
1717 data->in_max[i] = 1701 data->in_max[i] =
1718 w83781d_read_value(data, W83781D_REG_IN_MAX(i)); 1702 w83781d_read_value(data, W83781D_REG_IN_MAX(i));
1719 if ((data->type != w83782d) 1703 if ((data->type != w83782d) && (i == 6))
1720 && (data->type != w83627hf) && (i == 6))
1721 break; 1704 break;
1722 } 1705 }
1723 for (i = 0; i < 3; i++) { 1706 for (i = 0; i < 3; i++) {
@@ -1775,7 +1758,7 @@ static struct w83781d_data *w83781d_update_device(struct device *dev)
1775 data->fan_div[1] |= (i >> 4) & 0x04; 1758 data->fan_div[1] |= (i >> 4) & 0x04;
1776 data->fan_div[2] |= (i >> 5) & 0x04; 1759 data->fan_div[2] |= (i >> 5) & 0x04;
1777 } 1760 }
1778 if ((data->type == w83782d) || (data->type == w83627hf)) { 1761 if (data->type == w83782d) {
1779 data->alarms = w83781d_read_value(data, 1762 data->alarms = w83781d_read_value(data,
1780 W83782D_REG_ALARM1) 1763 W83782D_REG_ALARM1)
1781 | (w83781d_read_value(data, 1764 | (w83781d_read_value(data,
@@ -1885,13 +1868,11 @@ w83781d_isa_found(unsigned short address)
1885 outb_p(W83781D_REG_WCHIPID, address + W83781D_ADDR_REG_OFFSET); 1868 outb_p(W83781D_REG_WCHIPID, address + W83781D_ADDR_REG_OFFSET);
1886 val = inb_p(address + W83781D_DATA_REG_OFFSET); 1869 val = inb_p(address + W83781D_DATA_REG_OFFSET);
1887 if ((val & 0xfe) == 0x10 /* W83781D */ 1870 if ((val & 0xfe) == 0x10 /* W83781D */
1888 || val == 0x30 /* W83782D */ 1871 || val == 0x30) /* W83782D */
1889 || val == 0x21) /* W83627HF */
1890 found = 1; 1872 found = 1;
1891 1873
1892 if (found) 1874 if (found)
1893 pr_info("w83781d: Found a %s chip at %#x\n", 1875 pr_info("w83781d: Found a %s chip at %#x\n",
1894 val == 0x21 ? "W83627HF" :
1895 val == 0x30 ? "W83782D" : "W83781D", (int)address); 1876 val == 0x30 ? "W83782D" : "W83781D", (int)address);
1896 1877
1897 release: 1878 release: