return 0;
 }
 
-static int bq256xx_probe(struct i2c_client *client,
-                        const struct i2c_device_id *id)
+static int bq256xx_probe(struct i2c_client *client)
 {
+       const struct i2c_device_id *id = i2c_client_get_device_id(client);
        struct device *dev = &client->dev;
        struct bq256xx_device *bq;
        struct power_supply_config psy_cfg = { };
                .of_match_table = bq256xx_of_match,
                .acpi_match_table = bq256xx_acpi_match,
        },
-       .probe = bq256xx_probe,
+       .probe_new = bq256xx_probe,
        .id_table = bq256xx_i2c_ids,
 };
 module_i2c_driver(bq256xx_driver);