mfd: max77693: Allow building as a module
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 4 Apr 2016 07:54:18 +0000 (16:54 +0900)
committerLee Jones <lee.jones@linaro.org>
Tue, 19 Apr 2016 06:53:52 +0000 (07:53 +0100)
The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
driver) supports deferred probing so the max77693 main MFD driver can be
built now as a module. This gives more flexibility and removes manual
ordering of init calls.

Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/Kconfig
drivers/mfd/max77693.c

index eea61e3..aa1e7c3 100644 (file)
@@ -543,8 +543,8 @@ config MFD_MAX77686
          of the device.
 
 config MFD_MAX77693
-       bool "Maxim Semiconductor MAX77693 PMIC Support"
-       depends on I2C=y
+       tristate "Maxim Semiconductor MAX77693 PMIC Support"
+       depends on I2C
        select MFD_CORE
        select REGMAP_I2C
        select REGMAP_IRQ
index b83b7a7..78e501f 100644 (file)
@@ -368,6 +368,7 @@ static const struct of_device_id max77693_dt_match[] = {
        { .compatible = "maxim,max77693" },
        {},
 };
+MODULE_DEVICE_TABLE(of, max77693_dt_match);
 #endif
 
 static struct i2c_driver max77693_i2c_driver = {
@@ -381,18 +382,7 @@ static struct i2c_driver max77693_i2c_driver = {
        .id_table = max77693_i2c_id,
 };
 
-static int __init max77693_i2c_init(void)
-{
-       return i2c_add_driver(&max77693_i2c_driver);
-}
-/* init early so consumer devices can complete system boot */
-subsys_initcall(max77693_i2c_init);
-
-static void __exit max77693_i2c_exit(void)
-{
-       i2c_del_driver(&max77693_i2c_driver);
-}
-module_exit(max77693_i2c_exit);
+module_i2c_driver(max77693_i2c_driver);
 
 MODULE_DESCRIPTION("MAXIM 77693 multi-function core driver");
 MODULE_AUTHOR("SangYoung, Son <hello.son@samsung.com>");