watchdog: asm9260: remove __init and __exit annotations
authorArnd Bergmann <arnd@arndb.de>
Fri, 8 Jan 2016 10:59:34 +0000 (11:59 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Mon, 11 Jan 2016 21:48:05 +0000 (22:48 +0100)
The probe and release functions in this driver are marked
as __init and __exit, but this is wrong as indicated by this
Kbuild error message:

WARNING: vmlinux.o(.data+0x1d2308): Section mismatch in reference from the variable asm9260_wdt_driver to the function .init.text:asm9260_wdt_probe()

This removes the annotations, to make the sysfs unbind attribute
and deferred probing work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: aae03dc98177 ("watchdog: add Alphascale asm9260-wdt driver")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/asm9260_wdt.c

index 1c22ff4c523abca444d1b663df9edd95a95126bf..c9686b2fdafd7b84c64565abcf187cffef8acd7b 100644 (file)
@@ -198,7 +198,7 @@ static struct watchdog_ops asm9260_wdt_ops = {
        .set_timeout    = asm9260_wdt_settimeout,
 };
 
-static int __init asm9260_wdt_get_dt_clks(struct asm9260_wdt_priv *priv)
+static int asm9260_wdt_get_dt_clks(struct asm9260_wdt_priv *priv)
 {
        int err;
        unsigned long clk;
@@ -250,7 +250,7 @@ static int __init asm9260_wdt_get_dt_clks(struct asm9260_wdt_priv *priv)
        return 0;
 }
 
-static void __init asm9260_wdt_get_dt_mode(struct asm9260_wdt_priv *priv)
+static void asm9260_wdt_get_dt_mode(struct asm9260_wdt_priv *priv)
 {
        const char *tmp;
        int ret;
@@ -274,7 +274,7 @@ static void __init asm9260_wdt_get_dt_mode(struct asm9260_wdt_priv *priv)
                         tmp);
 }
 
-static int __init asm9260_wdt_probe(struct platform_device *pdev)
+static int asm9260_wdt_probe(struct platform_device *pdev)
 {
        struct asm9260_wdt_priv *priv;
        struct watchdog_device *wdd;
@@ -364,7 +364,7 @@ static void asm9260_wdt_shutdown(struct platform_device *pdev)
        asm9260_wdt_disable(&priv->wdd);
 }
 
-static int __exit asm9260_wdt_remove(struct platform_device *pdev)
+static int asm9260_wdt_remove(struct platform_device *pdev)
 {
        struct asm9260_wdt_priv *priv = platform_get_drvdata(pdev);