[adm5120] fix initcall level in i2c-gpio-custom driver if not built as a module
[openwrt/svn-archive/archive.git] / target / linux / adm5120 / files / drivers / i2c / busses / i2c-gpio-custom.c
index 9d62a2d9096c4615b67bb588ef99bc0164e5f325..36a8bf0e372ed832409b269d67e77f0a567065f8 100644 (file)
@@ -144,7 +144,7 @@ err:
        return err;
 }
 
-static int __init i2c_gpio_custom_init(void)
+static int __init i2c_gpio_custom_probe(void)
 {
        int err;
 
@@ -174,6 +174,12 @@ err:
        i2c_gpio_custom_cleanup();
        return err;
 }
+
+#ifdef MODULE
+static int __init i2c_gpio_custom_init(void)
+{
+       return i2c_gpio_custom_probe();
+}
 module_init(i2c_gpio_custom_init);
 
 static void __exit i2c_gpio_custom_exit(void)
@@ -181,10 +187,11 @@ static void __exit i2c_gpio_custom_exit(void)
        i2c_gpio_custom_cleanup();
 }
 module_exit(i2c_gpio_custom_exit);
-
+#else
+subsys_initcall(i2c_gpio_custom_probe);
+#endif /* MODULE*/
 
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Gabor Juhos <juhosg at openwrt.org >");
 MODULE_DESCRIPTION(DRV_DESC);
 MODULE_VERSION(DRV_VERSION);
-