platform-drivers: move probe to .devinit.text in drivers/scsi

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Monday, March 8, 2010 - 1:59 pm

Gitweb:     http://git.kernel.org/linus/1b07193b34c1bc1c184e2d53a62633a73ea9b0a0
Commit:     1b07193b34c1bc1c184e2d53a62633a73ea9b0a0
Parent:     91a99dfc6b57f2e956d10d41123234fad3399212
Author:     Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
AuthorDate: Thu Feb 4 20:56:50 2010 +0100
Committer:  Greg Kroah-Hartman <gregkh@suse.de>
CommitDate: Sun Mar 7 17:04:50 2010 -0800

    platform-drivers: move probe to .devinit.text in drivers/scsi
    
    A pointer to a probe callback is passed to the core via
    platform_driver_register and so the function must not disappear when the
    .init sections are discarded.  Otherwise (if also having HOTPLUG=y)
    unbinding and binding a device to the driver via sysfs will result in an
    oops as does a device being registered late.
    
    An alternative to this patch is using platform_driver_probe instead of
    platform_driver_register plus removing the pointer to the probe function
    from the struct platform_driver.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Dmitri Vorobiev <dmitri.vorobiev@movial.fi>
    Cc: Henrik Kretzschmar <henne@nachtwindheim.de>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Cc: peter fuerst <post@pfrst.de>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Acked-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/scsi/sgiwd93.c    |    2 +-
 drivers/scsi/sni_53c710.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
index 0807b26..fef0e3c 100644
--- a/drivers/scsi/sgiwd93.c
+++ b/drivers/scsi/sgiwd93.c
@@ -226,7 +226,7 @@ static struct scsi_host_template sgiwd93_template = {
 	.use_clustering		= DISABLE_CLUSTERING,
 };
 
-static int __init sgiwd93_probe(struct platform_device *pdev)
+static int __devinit sgiwd93_probe(struct platform_device *pdev)
 {
 	struct sgiwd93_platform_data *pd = pdev->dev.platform_data;
 	unsigned char *wdregs = pd->wdregs;
diff --git a/drivers/scsi/sni_53c710.c b/drivers/scsi/sni_53c710.c
index 37b3359..56cf0bb 100644
--- a/drivers/scsi/sni_53c710.c
+++ b/drivers/scsi/sni_53c710.c
@@ -64,7 +64,7 @@ static struct scsi_host_template snirm710_template = {
 	.module		= THIS_MODULE,
 };
 
-static int __init snirm710_probe(struct platform_device *dev)
+static int __devinit snirm710_probe(struct platform_device *dev)
 {
 	unsigned long base;
 	struct NCR_700_Host_Parameters *hostdata;
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
platform-drivers: move probe to .devinit.text in drivers/scsi, Linux Kernel Mailing ..., (Mon Mar 8, 1:59 pm)