twl4030_charger: convert to module_platform_driver instead of ..._probe.
authorPavel Machek <pavel@ucw.cz>
Thu, 30 Jul 2015 00:11:24 +0000 (10:11 +1000)
committerSebastian Reichel <sre@kernel.org>
Wed, 5 Aug 2015 03:10:54 +0000 (05:10 +0200)
Drivers using module_platform_driver_probe cannot return
EPROBE_DEFER from the probe function, which makes them rather useless
these days...

Convert to module_platform_driver() so EPROBE_DEFER can be used.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/twl4030_charger.c

index fe71c61109f5292f0614a13f4ce74a81e0164bd2..045238370d3f72b01e3ceced106ef08c9cadc3c5 100644 (file)
@@ -568,7 +568,7 @@ static const struct power_supply_desc twl4030_bci_usb_desc = {
        .get_property   = twl4030_bci_get_property,
 };
 
-static int __init twl4030_bci_probe(struct platform_device *pdev)
+static int twl4030_bci_probe(struct platform_device *pdev)
 {
        struct twl4030_bci *bci;
        const struct twl4030_bci_platform_data *pdata = pdev->dev.platform_data;
@@ -692,14 +692,14 @@ static const struct of_device_id twl_bci_of_match[] = {
 MODULE_DEVICE_TABLE(of, twl_bci_of_match);
 
 static struct platform_driver twl4030_bci_driver = {
+       .probe = twl4030_bci_probe,
        .driver = {
                .name   = "twl4030_bci",
                .of_match_table = of_match_ptr(twl_bci_of_match),
        },
        .remove = __exit_p(twl4030_bci_remove),
 };
-
-module_platform_driver_probe(twl4030_bci_driver, twl4030_bci_probe);
+module_platform_driver(twl4030_bci_driver);
 
 MODULE_AUTHOR("GraÅžvydas Ignotas");
 MODULE_DESCRIPTION("TWL4030 Battery Charger Interface driver");