AMS_CMD_START,
 };
 
-static int ams_i2c_probe(struct i2c_client *client,
-                        const struct i2c_device_id *id);
+static int ams_i2c_probe(struct i2c_client *client);
 static void ams_i2c_remove(struct i2c_client *client);
 
 static const struct i2c_device_id ams_id[] = {
        .driver = {
                .name   = "ams",
        },
-       .probe          = ams_i2c_probe,
+       .probe_new      = ams_i2c_probe,
        .remove         = ams_i2c_remove,
        .id_table       = ams_id,
 };
        *z = ams_i2c_read(AMS_DATAZ);
 }
 
-static int ams_i2c_probe(struct i2c_client *client,
-                        const struct i2c_device_id *id)
+static int ams_i2c_probe(struct i2c_client *client)
 {
        int vmaj, vmin;
        int result;