- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / drivers / hwmon / f75375s.c
index e2107e5..277398f 100644 (file)
@@ -39,8 +39,7 @@
 /* Addresses to scan */
 static const unsigned short normal_i2c[] = { 0x2d, 0x2e, I2C_CLIENT_END };
 
-/* Insmod parameters */
-I2C_CLIENT_INSMOD_2(f75373, f75375);
+enum chips { f75373, f75375 };
 
 /* Fintek F75375 registers  */
 #define F75375_REG_CONFIG0             0x0
@@ -113,7 +112,7 @@ struct f75375_data {
        s8 temp_max_hyst[2];
 };
 
-static int f75375_detect(struct i2c_client *client, int kind,
+static int f75375_detect(struct i2c_client *client,
                         struct i2c_board_info *info);
 static int f75375_probe(struct i2c_client *client,
                        const struct i2c_device_id *id);
@@ -135,7 +134,7 @@ static struct i2c_driver f75375_driver = {
        .remove = f75375_remove,
        .id_table = f75375_id,
        .detect = f75375_detect,
-       .address_data = &addr_data,
+       .address_list = normal_i2c,
 };
 
 static inline int f75375_read8(struct i2c_client *client, u8 reg)
@@ -677,34 +676,24 @@ static int f75375_remove(struct i2c_client *client)
 }
 
 /* Return 0 if detection is successful, -ENODEV otherwise */
-static int f75375_detect(struct i2c_client *client, int kind,
+static int f75375_detect(struct i2c_client *client,
                         struct i2c_board_info *info)
 {
        struct i2c_adapter *adapter = client->adapter;
-       u8 version = 0;
-       const char *name = "";
-
-       if (kind < 0) {
-               u16 vendid = f75375_read16(client, F75375_REG_VENDOR);
-               u16 chipid = f75375_read16(client, F75375_CHIP_ID);
-               version = f75375_read8(client, F75375_REG_VERSION);
-               if (chipid == 0x0306 && vendid == 0x1934) {
-                       kind = f75375;
-               } else if (chipid == 0x0204 && vendid == 0x1934) {
-                       kind = f75373;
-               } else {
-                       dev_err(&adapter->dev,
-                               "failed,%02X,%02X,%02X\n",
-                               chipid, version, vendid);
-                       return -ENODEV;
-               }
-       }
+       u16 vendid, chipid;
+       u8 version;
+       const char *name;
 
-       if (kind == f75375) {
+       vendid = f75375_read16(client, F75375_REG_VENDOR);
+       chipid = f75375_read16(client, F75375_CHIP_ID);
+       if (chipid == 0x0306 && vendid == 0x1934)
                name = "f75375";
-       } else if (kind == f75373) {
+       else if (chipid == 0x0204 && vendid == 0x1934)
                name = "f75373";
-       }
+       else
+               return -ENODEV;
+
+       version = f75375_read8(client, F75375_REG_VERSION);
        dev_info(&adapter->dev, "found %s version: %02X\n", name, version);
        strlcpy(info->type, name, I2C_NAME_SIZE);