ahci_platform: Remove unneeded ahci_driver.probe assignment
authorAnton Vorontsov <avorontsov@mvista.com>
Fri, 25 Jun 2010 12:20:53 +0000 (16:20 +0400)
committerJeff Garzik <jgarzik@redhat.com>
Sun, 1 Aug 2010 23:36:03 +0000 (19:36 -0400)
The driver is using platform_driver_probe() during initialization,
so ahci_driver.probe hook is never used.

But it causes the following (harmless, luckily) section mismatch:

  WARNING: vmlinux.o(.data+0x2fb20): Section mismatch in reference
  from the variable ahci_driver to the function .init.text:ahci_probe()

This patch removes the ahci_driver.probe assignment, thus fixes
the warning.

p.s. Note that there's another patch[1] from Rene Bolldorf that
tried to solve the same issue by __refdata annotation. __refdata
says that this reference is actually OK, but in fact it is not OK,
because dereferencing .probe() will cause problems. So the proper
fix is to remove the assignment.

[1] http://kerneltrap.org/mailarchive/linux-kernel/2010/3/18/4549547

Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ahci_platform.c

index 68ef6b563b7de5f2209f063104ba89ea5d1ad60c..4e97f33cca4406212b9769c6c13fc11afc02bc4a 100644 (file)
@@ -171,7 +171,6 @@ static int __devexit ahci_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver ahci_driver = {
-       .probe = ahci_probe,
        .remove = __devexit_p(ahci_remove),
        .driver = {
                .name = "ahci",