.id_table = wm8993_i2c_id,
 };
 
-static int __init wm8993_modinit(void)
-{
-       int ret = 0;
-       ret = i2c_add_driver(&wm8993_i2c_driver);
-       if (ret != 0) {
-               pr_err("WM8993: Unable to register I2C driver: %d\n",
-                      ret);
-       }
-       return ret;
-}
-module_init(wm8993_modinit);
-
-static void __exit wm8993_exit(void)
-{
-       i2c_del_driver(&wm8993_i2c_driver);
-}
-module_exit(wm8993_exit);
-
+module_i2c_driver(wm8993_i2c_driver);
 
 MODULE_DESCRIPTION("ASoC WM8993 driver");
 MODULE_AUTHOR("Mark Brown <broonie@opensource.wolfsonmicro.com>");