rtc: davinci: remove incorrect reference to probe function
authorArnd Bergmann <arnd@arndb.de>
Mon, 12 Oct 2015 13:14:05 +0000 (15:14 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Sun, 8 Nov 2015 13:12:29 +0000 (14:12 +0100)
The davinci rtc driver uses the module_platform_driver_probe()
helper to call the probe function and mark it as __init, but
it also puts a reference into its davinci_rtc_driver function.

This will crash if we ever get a deferred probe and the probe
function is called again after the init section has been removed.
kbuild warns about this:

WARNING: vmlinux.o(.data+0x1aa2b4): Section mismatch in reference from the variable davinci_rtc_driver to the function .init.text:davinci_rtc_probe()
The variable davinci_rtc_driver references
the function __init davinci_rtc_probe()

This patch removes the .probe callback from the platform driver,
which avoids those problems.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-davinci.c

index c84f46168a52afa92772d91429d97929c79334da..c5432bf64e1c317324f009353ca7961e97e8fb63 100644 (file)
@@ -546,7 +546,6 @@ static int __exit davinci_rtc_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver davinci_rtc_driver = {
-       .probe          = davinci_rtc_probe,
        .remove         = __exit_p(davinci_rtc_remove),
        .driver         = {
                .name = "rtc_davinci",