eeprom: at24: switch to using probe_new() from the i2c framework
authorBartosz Golaszewski <brgl@bgdev.pl>
Mon, 19 Mar 2018 09:17:15 +0000 (10:17 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Mar 2018 15:25:00 +0000 (16:25 +0100)
Use the new probe() style for i2c drivers.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/at24.c

index 633fbdb..e0ebf1d 100644 (file)
@@ -519,13 +519,14 @@ static unsigned int at24_get_offset_adj(u8 flags, unsigned int byte_len)
        }
 }
 
-static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
+static int at24_probe(struct i2c_client *client)
 {
        struct regmap_config regmap_config = { };
        struct nvmem_config nvmem_config = { };
        const struct at24_chip_data *cd = NULL;
        struct at24_platform_data pdata = { };
        struct device *dev = &client->dev;
+       const struct i2c_device_id *id;
        unsigned int i, num_addresses;
        struct at24_data *at24;
        size_t at24_size;
@@ -533,6 +534,8 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
        u8 test_byte;
        int err;
 
+       id = i2c_match_id(at24_ids, client);
+
        if (dev->platform_data) {
                pdata = *(struct at24_platform_data *)dev->platform_data;
        } else {
@@ -717,7 +720,7 @@ static struct i2c_driver at24_driver = {
                .of_match_table = at24_of_match,
                .acpi_match_table = ACPI_PTR(at24_acpi_ids),
        },
-       .probe = at24_probe,
+       .probe_new = at24_probe,
        .remove = at24_remove,
        .id_table = at24_ids,
 };