hwmon: (w83781d) Drop W83627HF support
authorJean Delvare <khali@linux-fr.org>
Fri, 30 Nov 2007 22:51:24 +0000 (23:51 +0100)
committerMark M. Hoffman <mhoffman@lightlink.com>
Fri, 8 Feb 2008 01:39:43 +0000 (20:39 -0500)
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>
Documentation/hwmon/w83781d
drivers/hwmon/Kconfig
drivers/hwmon/w83781d.c

index dbeadb269a6994fac567ad13fe46a8ff3ece00db..6f800a0283e9454a8788ba375b310d544faba803 100644 (file)
@@ -14,10 +14,6 @@ Supported chips:
     Prefix: 'w83783s'
     Addresses scanned: I2C 0x2d
     Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/w83783s.pdf
-  * Winbond W83627HF
-    Prefix: 'w83627hf'
-    Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
-    Datasheet: http://www.winbond.com/PDF/sheet/w83627hf.pdf
   * Asus AS99127F
     Prefix: 'as99127f'
     Addresses scanned: I2C 0x28 - 0x2f
@@ -50,20 +46,18 @@ force_subclients=bus,caddr,saddr,saddr
 Description
 -----------
 
-This driver implements support for the Winbond W83781D, W83782D, W83783S,
-W83627HF chips, and the Asus AS99127F chips. We will refer to them
-collectively as W8378* chips.
+This driver implements support for the Winbond W83781D, W83782D, W83783S
+chips, and the Asus AS99127F chips. We will refer to them collectively as
+W8378* chips.
 
 There is quite some difference between these chips, but they are similar
 enough that it was sensible to put them together in one driver.
-The W83627HF chip is assumed to be identical to the ISA W83782D.
 The Asus chips are similar to an I2C-only W83782D.
 
 Chip        #vin    #fanin  #pwm    #temp   wchipid vendid  i2c     ISA
 as99127f    7       3       0       3       0x31    0x12c3  yes     no
 as99127f rev.2 (type_name = as99127f)       0x31    0x5ca3  yes     no
 w83781d     7       3       0       3       0x10-1  0x5ca3  yes     yes
-w83627hf    9       3       2       3       0x21    0x5ca3  yes     yes(LPC)
 w83782d     9       3       2-4     3       0x30    0x5ca3  yes     yes
 w83783s     5-6     3       2       1-2     0x40    0x5ca3  yes     no
 
@@ -143,9 +137,9 @@ Individual alarm and beep bits:
 0x000400: in6
 0x000800: fan3
 0x001000: chassis
-0x002000: temp3 (W83782D and W83627HF only)
-0x010000: in7 (W83782D and W83627HF only)
-0x020000: in8 (W83782D and W83627HF only)
+0x002000: temp3 (W83782D only)
+0x010000: in7 (W83782D only)
+0x020000: in8 (W83782D only)
 
 If an alarm triggers, it will remain triggered until the hardware register
 is read at least once. This means that the cause for the alarm may
index af43d566d770bd74e25244408c93fe33a05ca1b2..27e0b34ead5f38144fbcb99c1bda872f21dc5588 100644 (file)
@@ -631,13 +631,13 @@ config SENSORS_VT8231
          will be called vt8231.
 
 config SENSORS_W83781D
-       tristate "Winbond W83781D, W83782D, W83783S, W83627HF, Asus AS99127F"
+       tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F"
        depends on I2C
        select HWMON_VID
        help
          If you say yes here you get support for the Winbond W8378x series
-         of sensor chips: the W83781D, W83782D, W83783S and W83627HF,
-         and the similar Asus AS99127F.
+         of sensor chips: the W83781D, W83782D and W83783S, and the similar
+         Asus AS99127F.
 
          This driver can also be built as a module.  If so, the module
          will be called w83781d.
index d38b9ede3abd1851b72d47ba0088678d01ecffb4..8d4d1acbf6500b1742efcc1e370cddc892d79712 100644 (file)
@@ -28,7 +28,6 @@
     as99127f   7       3       0       3       0x31    0x12c3  yes     no
     as99127f rev.2 (type_name = as99127f)      0x31    0x5ca3  yes     no
     w83781d    7       3       0       3       0x10-1  0x5ca3  yes     yes
-    w83627hf   9       3       2       3       0x21    0x5ca3  yes     yes(LPC)
     w83782d    9       3       2-4     3       0x30    0x5ca3  yes     yes
     w83783s    5-6     3       2       1-2     0x40    0x5ca3  yes     no
 
@@ -59,7 +58,7 @@ static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
 static unsigned short isa_address = 0x290;
 
 /* Insmod parameters */
-I2C_CLIENT_INSMOD_5(w83781d, w83782d, w83783s, w83627hf, as99127f);
+I2C_CLIENT_INSMOD_4(w83781d, w83782d, w83783s, as99127f);
 I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
                    "{bus, clientaddr, subclientaddr1, subclientaddr2}");
 
@@ -113,7 +112,7 @@ MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
 #define W83781D_REG_ALARM1             0x41
 #define W83781D_REG_ALARM2             0x42
 
-/* Real-time status (W83782D, W83783S, W83627HF) */
+/* Real-time status (W83782D, W83783S) */
 #define W83782D_REG_ALARM1             0x459
 #define W83782D_REG_ALARM2             0x45A
 #define W83782D_REG_ALARM3             0x45B
@@ -962,8 +961,6 @@ w83781d_detect_subclients(struct i2c_adapter *adapter, int address, int kind,
                client_name = "w83782d subclient";
        else if (kind == w83783s)
                client_name = "w83783s subclient";
-       else if (kind == w83627hf)
-               client_name = "w83627hf subclient";
        else if (kind == as99127f)
                client_name = "as99127f subclient";
 
@@ -1267,8 +1264,6 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind)
                        kind = w83782d;
                else if (val1 == 0x40 && vendid == winbond && address == 0x2d)
                        kind = w83783s;
-               else if (val1 == 0x21 && vendid == winbond)
-                       kind = w83627hf;
                else if (val1 == 0x31)
                        kind = as99127f;
                else {
@@ -1287,8 +1282,6 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind)
                client_name = "w83782d";
        } else if (kind == w83783s) {
                client_name = "w83783s";
-       } else if (kind == w83627hf) {
-               client_name = "w83627hf";
        } else if (kind == as99127f) {
                client_name = "as99127f";
        }
@@ -1395,10 +1388,6 @@ w83781d_isa_probe(struct platform_device *pdev)
 
        reg = w83781d_read_value(data, W83781D_REG_WCHIPID);
        switch (reg) {
-       case 0x21:
-               data->type = w83627hf;
-               name = "w83627hf";
-               break;
        case 0x30:
                data->type = w83782d;
                name = "w83782d";
@@ -1598,11 +1587,6 @@ w83781d_init_device(struct device *dev)
        int type = data->type;
        u8 tmp;
 
-       if (type == w83627hf)
-               dev_info(dev, "The W83627HF chip is better supported by the "
-                        "w83627hf driver, support will be dropped from the "
-                        "w83781d driver soon\n");
-
        if (reset && type != as99127f) { /* this resets registers we don't have
                                           documentation for on the as99127f */
                /* 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)
                            w83781d_read_value(data, W83781D_REG_IN_MIN(i));
                        data->in_max[i] =
                            w83781d_read_value(data, W83781D_REG_IN_MAX(i));
-                       if ((data->type != w83782d)
-                           && (data->type != w83627hf) && (i == 6))
+                       if ((data->type != w83782d) && (i == 6))
                                break;
                }
                for (i = 0; i < 3; i++) {
@@ -1775,7 +1758,7 @@ static struct w83781d_data *w83781d_update_device(struct device *dev)
                        data->fan_div[1] |= (i >> 4) & 0x04;
                        data->fan_div[2] |= (i >> 5) & 0x04;
                }
-               if ((data->type == w83782d) || (data->type == w83627hf)) {
+               if (data->type == w83782d) {
                        data->alarms = w83781d_read_value(data,
                                                W83782D_REG_ALARM1)
                                     | (w83781d_read_value(data,
@@ -1885,13 +1868,11 @@ w83781d_isa_found(unsigned short address)
        outb_p(W83781D_REG_WCHIPID, address + W83781D_ADDR_REG_OFFSET);
        val = inb_p(address + W83781D_DATA_REG_OFFSET);
        if ((val & 0xfe) == 0x10        /* W83781D */
-        || val == 0x30                 /* W83782D */
-        || val == 0x21)                /* W83627HF */
+        || val == 0x30)                /* W83782D */
                found = 1;
 
        if (found)
                pr_info("w83781d: Found a %s chip at %#x\n",
-                       val == 0x21 ? "W83627HF" :
                        val == 0x30 ? "W83782D" : "W83781D", (int)address);
 
  release: