mfd: max77686: Use module_i2c_driver() instead of subsys initcall
authorJavier Martinez Canillas <javier@osg.samsung.com>
Mon, 4 Apr 2016 22:46:02 +0000 (18:46 -0400)
committerLee Jones <lee.jones@linaro.org>
Tue, 19 Apr 2016 06:59:28 +0000 (07:59 +0100)
The driver's init and exit function don't do anything besides adding and
deleting the I2C driver so the module_i2c_driver() macro could be used.

Currently is not being used because the driver is initialized at subsys
initcall level, claiming that this is done to allow consumers devices to
use the resources provided by this driver. But dependencies are in DT so
manual ordering of init calls is not necessary any more.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/max77686.c

index 0aa33d4ee16541ffd1383b009b18e7ea8915085d..7a0457e1771bcdeed534e90d5d3e991aa86b9f2a 100644 (file)
@@ -321,18 +321,7 @@ static struct i2c_driver max77686_i2c_driver = {
        .id_table = max77686_i2c_id,
 };
 
-static int __init max77686_i2c_init(void)
-{
-       return i2c_add_driver(&max77686_i2c_driver);
-}
-/* init early so consumer devices can complete system boot */
-subsys_initcall(max77686_i2c_init);
-
-static void __exit max77686_i2c_exit(void)
-{
-       i2c_del_driver(&max77686_i2c_driver);
-}
-module_exit(max77686_i2c_exit);
+module_i2c_driver(max77686_i2c_driver);
 
 MODULE_DESCRIPTION("MAXIM 77686/802 multi-function core driver");
 MODULE_AUTHOR("Chiwoong Byun <woong.byun@samsung.com>");