i2c: slave-eeprom: Convert to i2c's .probe_new()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 18 Nov 2022 22:36:19 +0000 (23:36 +0100)
committerWolfram Sang <wsa@kernel.org>
Mon, 5 Dec 2022 09:51:08 +0000 (10:51 +0100)
.probe_new() doesn't get the i2c_device_id * parameter, so determine
that explicitly in the probe function.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/i2c-slave-eeprom.c

index 4abc2d9..5f25f23 100644 (file)
@@ -140,8 +140,9 @@ static int i2c_slave_init_eeprom_data(struct eeprom_data *eeprom, struct i2c_cli
        return 0;
 }
 
-static int i2c_slave_eeprom_probe(struct i2c_client *client, const struct i2c_device_id *id)
+static int i2c_slave_eeprom_probe(struct i2c_client *client)
 {
+       const struct i2c_device_id *id = i2c_client_get_device_id(client);
        struct eeprom_data *eeprom;
        int ret;
        unsigned int size = FIELD_GET(I2C_SLAVE_BYTELEN, id->driver_data) + 1;
@@ -206,7 +207,7 @@ static struct i2c_driver i2c_slave_eeprom_driver = {
        .driver = {
                .name = "i2c-slave-eeprom",
        },
-       .probe = i2c_slave_eeprom_probe,
+       .probe_new = i2c_slave_eeprom_probe,
        .remove = i2c_slave_eeprom_remove,
        .id_table = i2c_slave_eeprom_id,
 };