hwmon: use simple i2c probe function
[linux-block.git] / drivers / hwmon / adm1021.c
index c45046241a1c5cef94d9681f2ded643317d09ed5..71deb2cd20f558678acb850fc021d80cf831d6d6 100644 (file)
@@ -425,8 +425,9 @@ static void adm1021_init_client(struct i2c_client *client)
        i2c_smbus_write_byte_data(client, ADM1021_REG_CONV_RATE_W, 0x04);
 }
 
-static int adm1021_probe(struct i2c_client *client,
-                        const struct i2c_device_id *id)
+static const struct i2c_device_id adm1021_id[];
+
+static int adm1021_probe(struct i2c_client *client)
 {
        struct device *dev = &client->dev;
        struct adm1021_data *data;
@@ -437,7 +438,7 @@ static int adm1021_probe(struct i2c_client *client,
                return -ENOMEM;
 
        data->client = client;
-       data->type = id->driver_data;
+       data->type = i2c_match_id(adm1021_id, client)->driver_data;
        mutex_init(&data->update_lock);
 
        /* Initialize the ADM1021 chip */
@@ -472,7 +473,7 @@ static struct i2c_driver adm1021_driver = {
        .driver = {
                .name   = "adm1021",
        },
-       .probe          = adm1021_probe,
+       .probe_new      = adm1021_probe,
        .id_table       = adm1021_id,
        .detect         = adm1021_detect,
        .address_list   = normal_i2c,