};
 MODULE_DEVICE_TABLE(of, wm8994_of_match);
 
-static int wm8994_i2c_probe(struct i2c_client *i2c,
-                                     const struct i2c_device_id *id)
+static int wm8994_i2c_probe(struct i2c_client *i2c)
 {
+       const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
        const struct of_device_id *of_id;
        struct wm8994 *wm8994;
        int ret;
                .pm = &wm8994_pm_ops,
                .of_match_table = wm8994_of_match,
        },
-       .probe = wm8994_i2c_probe,
+       .probe_new = wm8994_i2c_probe,
        .remove = wm8994_i2c_remove,
        .id_table = wm8994_i2c_id,
 };