* [PATCH] move jazzsonic's probe function to .devinit.text
@ 2009-07-21 21:25 Uwe Kleine-König
2009-07-21 21:25 ` [PATCH] move macsonic's " Uwe Kleine-König
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev
Cc: Jeff Garzik, David S. Miller, Thomas Bogendoerfer, Finn Thain,
Geert Uytterhoeven, Andrew Morton, Greg Kroah-Hartman
A pointer to jazz_sonic_probe 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.
As noticed by Geert Uytterhoeven sonic_probe1 is called by
jazz_sonic_probe, so the former has to move to .devinit.text, too.
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>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: netdev@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/net/jazzsonic.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/jazzsonic.c b/drivers/net/jazzsonic.c
index d12106b..8baf595 100644
--- a/drivers/net/jazzsonic.c
+++ b/drivers/net/jazzsonic.c
@@ -108,7 +108,7 @@ static const struct net_device_ops sonic_netdev_ops = {
.ndo_set_mac_address = eth_mac_addr,
};
-static int __init sonic_probe1(struct net_device *dev)
+static int __devinit sonic_probe1(struct net_device *dev)
{
static unsigned version_printed;
unsigned int silicon_revision;
@@ -211,7 +211,7 @@ out:
* Probe for a SONIC ethernet controller on a Mips Jazz board.
* Actually probing is superfluous but we're paranoid.
*/
-static int __init jazz_sonic_probe(struct platform_device *pdev)
+static int __devinit jazz_sonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
tg: (aea1f79..) t/platsection/jazz_sonic_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move macsonic's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
@ 2009-07-21 21:25 ` Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move meth's " Uwe Kleine-König
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev
Cc: Jeff Garzik, David S. Miller, Geert Uytterhoeven, Andrew Morton,
Greg Kroah-Hartman
A pointer to mac_sonic_probe 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.
Various other functions that are called by mac_sonic_probe need to move
to .devinit.text, too.
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: Jeff Garzik <jgarzik@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Tested-by: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: netdev@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/net/macsonic.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/macsonic.c b/drivers/net/macsonic.c
index acd143d..8f492c7 100644
--- a/drivers/net/macsonic.c
+++ b/drivers/net/macsonic.c
@@ -179,7 +179,7 @@ static const struct net_device_ops macsonic_netdev_ops = {
.ndo_set_mac_address = eth_mac_addr,
};
-static int __init macsonic_init(struct net_device *dev)
+static int __devinit macsonic_init(struct net_device *dev)
{
struct sonic_local* lp = netdev_priv(dev);
@@ -223,7 +223,7 @@ static int __init macsonic_init(struct net_device *dev)
return 0;
}
-static int __init mac_onboard_sonic_ethernet_addr(struct net_device *dev)
+static int __devinit mac_onboard_sonic_ethernet_addr(struct net_device *dev)
{
struct sonic_local *lp = netdev_priv(dev);
const int prom_addr = ONBOARD_SONIC_PROM_BASE;
@@ -288,7 +288,7 @@ static int __init mac_onboard_sonic_ethernet_addr(struct net_device *dev)
} else return 0;
}
-static int __init mac_onboard_sonic_probe(struct net_device *dev)
+static int __devinit mac_onboard_sonic_probe(struct net_device *dev)
{
/* Bwahahaha */
static int once_is_more_than_enough;
@@ -409,7 +409,7 @@ static int __init mac_onboard_sonic_probe(struct net_device *dev)
return macsonic_init(dev);
}
-static int __init mac_nubus_sonic_ethernet_addr(struct net_device *dev,
+static int __devinit mac_nubus_sonic_ethernet_addr(struct net_device *dev,
unsigned long prom_addr,
int id)
{
@@ -424,7 +424,7 @@ static int __init mac_nubus_sonic_ethernet_addr(struct net_device *dev,
return 0;
}
-static int __init macsonic_ident(struct nubus_dev *ndev)
+static int __devinit macsonic_ident(struct nubus_dev *ndev)
{
if (ndev->dr_hw == NUBUS_DRHW_ASANTE_LC &&
ndev->dr_sw == NUBUS_DRSW_SONIC_LC)
@@ -449,7 +449,7 @@ static int __init macsonic_ident(struct nubus_dev *ndev)
return -1;
}
-static int __init mac_nubus_sonic_probe(struct net_device *dev)
+static int __devinit mac_nubus_sonic_probe(struct net_device *dev)
{
static int slots;
struct nubus_dev* ndev = NULL;
@@ -562,7 +562,7 @@ static int __init mac_nubus_sonic_probe(struct net_device *dev)
return macsonic_init(dev);
}
-static int __init mac_sonic_probe(struct platform_device *pdev)
+static int __devinit mac_sonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
tg: (aea1f79..) t/platsection/mac_sonic_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move meth's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
2009-07-21 21:25 ` [PATCH] move macsonic's " Uwe Kleine-König
@ 2009-07-21 21:25 ` Uwe Kleine-König
2009-07-22 3:12 ` David Miller
2009-07-21 21:25 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev
Cc: David S. Miller, Thomas Bogendoerfer, Christoph Lameter,
Jeff Garzik, Andrew Morton, Greg Kroah-Hartman
A pointer to meth_probe 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: David S. Miller <davem@davemloft.net>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Jeff Garzik <jgarzik@redhat.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: netdev@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/net/meth.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/meth.c b/drivers/net/meth.c
index 5d04d94..0dddb02 100644
--- a/drivers/net/meth.c
+++ b/drivers/net/meth.c
@@ -784,7 +784,7 @@ static const struct net_device_ops meth_netdev_ops = {
/*
* The init function.
*/
-static int __init meth_probe(struct platform_device *pdev)
+static int __devinit meth_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct meth_private *priv;
--
tg: (aea1f79..) t/platsection/meth_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sb1250-mac's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
2009-07-21 21:25 ` [PATCH] move macsonic's " Uwe Kleine-König
2009-07-21 21:25 ` [PATCH] move meth's " Uwe Kleine-König
@ 2009-07-21 21:25 ` Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move sgiseeq's " Uwe Kleine-König
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev
Cc: Weiwei Wang, Jeff Garzik, David S. Miller, Stephen Hemminger,
Andrew Morton, Greg Kroah-Hartman
A pointer to sbmac_probe 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: Weiwei Wang <weiwei.wang@windriver.com>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: netdev@vger.kernel.org
---
drivers/net/sb1250-mac.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index d8c9cf1..96b37b9 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -2688,7 +2688,7 @@ static int sbmac_poll(struct napi_struct *napi, int budget)
}
-static int __init sbmac_probe(struct platform_device *pldev)
+static int __devinit sbmac_probe(struct platform_device *pldev)
{
struct net_device *dev;
struct sbmac_softc *sc;
--
tg: (aea1f79..) t/platsection/sbmac_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sgiseeq's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
` (2 preceding siblings ...)
2009-07-21 21:25 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
@ 2009-07-21 21:25 ` Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move xtsonic's " Uwe Kleine-König
2009-07-22 3:13 ` [PATCH] move jazzsonic's " David Miller
5 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev
Cc: Wang Chen, David S. Miller, Andrew Morton, Jeff Garzik,
Thomas Bogendoerfer, Greg Kroah-Hartman
A pointer to sgiseeq_probe 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: Wang Chen <wangchen@cn.fujitsu.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: netdev@vger.kernel.org
---
drivers/net/sgiseeq.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index 5fb88ca..53fa4f6 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -720,7 +720,7 @@ static const struct net_device_ops sgiseeq_netdev_ops = {
.ndo_validate_addr = eth_validate_addr,
};
-static int __init sgiseeq_probe(struct platform_device *pdev)
+static int __devinit sgiseeq_probe(struct platform_device *pdev)
{
struct sgiseeq_platform_data *pd = pdev->dev.platform_data;
struct hpc3_regs *hpcregs = pd->hpc;
--
tg: (aea1f79..) t/platsection/sgiseeq_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move xtsonic's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
` (3 preceding siblings ...)
2009-07-21 21:25 ` [PATCH] move sgiseeq's " Uwe Kleine-König
@ 2009-07-21 21:25 ` Uwe Kleine-König
2009-07-22 0:00 ` Chris Zankel
2009-07-22 3:13 ` David Miller
2009-07-22 3:13 ` [PATCH] move jazzsonic's " David Miller
5 siblings, 2 replies; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-21 21:25 UTC (permalink / raw)
To: netdev; +Cc: Chris Zankel, David S. Miller, Andrew Morton, Greg Kroah-Hartman
A pointer to xtsonic_probe 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: Chris Zankel <chris@zankel.net>
Cc: David S. Miller <davem@davemloft.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: netdev@vger.kernel.org
---
drivers/net/xtsonic.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/xtsonic.c b/drivers/net/xtsonic.c
index 5a4ad15..0c44135 100644
--- a/drivers/net/xtsonic.c
+++ b/drivers/net/xtsonic.c
@@ -239,7 +239,7 @@ out:
* Actually probing is superfluous but we're paranoid.
*/
-int __init xtsonic_probe(struct platform_device *pdev)
+int __devinit xtsonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
tg: (aea1f79..) t/platsection/xtsonic_driver (depends on: linus/master)
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH] move xtsonic's probe function to .devinit.text
2009-07-21 21:25 ` [PATCH] move xtsonic's " Uwe Kleine-König
@ 2009-07-22 0:00 ` Chris Zankel
2009-07-22 3:13 ` David Miller
1 sibling, 0 replies; 15+ messages in thread
From: Chris Zankel @ 2009-07-22 0:00 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: netdev, David S. Miller, Andrew Morton, Greg Kroah-Hartman
Hi Uwe,
I will add it to the Xtensa tree in the next couple of days (together
with other patches that have piled up - still fighting a compiler issue).
Thanks,
-Chris
Uwe Kleine-König wrote:
> A pointer to xtsonic_probe 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: Chris Zankel <chris@zankel.net>
>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Greg Kroah-Hartman <gregkh@suse.de>
> Cc: netdev@vger.kernel.org
>
> ---
> drivers/net/xtsonic.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/xtsonic.c b/drivers/net/xtsonic.c
> index 5a4ad15..0c44135 100644
> --- a/drivers/net/xtsonic.c
> +++ b/drivers/net/xtsonic.c
> @@ -239,7 +239,7 @@ out:
> * Actually probing is superfluous but we're paranoid.
> */
>
> -int __init xtsonic_probe(struct platform_device *pdev)
> +int __devinit xtsonic_probe(struct platform_device *pdev)
> {
> struct net_device *dev;
> struct sonic_local *lp;
>
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH] move xtsonic's probe function to .devinit.text
2009-07-21 21:25 ` [PATCH] move xtsonic's " Uwe Kleine-König
2009-07-22 0:00 ` Chris Zankel
@ 2009-07-22 3:13 ` David Miller
1 sibling, 0 replies; 15+ messages in thread
From: David Miller @ 2009-07-22 3:13 UTC (permalink / raw)
To: u.kleine-koenig; +Cc: netdev, chris, akpm, gregkh
Applied.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] move jazzsonic's probe function to .devinit.text
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
` (4 preceding siblings ...)
2009-07-21 21:25 ` [PATCH] move xtsonic's " Uwe Kleine-König
@ 2009-07-22 3:13 ` David Miller
5 siblings, 0 replies; 15+ messages in thread
From: David Miller @ 2009-07-22 3:13 UTC (permalink / raw)
To: u.kleine-koenig; +Cc: netdev, jeff, tsbogend, fthain, geert, akpm, gregkh
Applied.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] platform_driver_register: warn if probe is in .init.text
@ 2009-07-11 17:05 Greg KH
2009-07-11 20:52 ` [PATCH] move acornfb's probe function to .devinit.text Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2009-07-11 17:05 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: linux-kernel
On Sat, Jul 11, 2009 at 12:00:14PM +0200, Uwe Kleine-König wrote:
> Hi Greg,
>
> > > Are you conviced and took the patch or did you give up to convince me?
> >
> > Heh, no, sorry, it got burried in my queue.
> >
> > > I still think the patch is correct and I'd like to have it applied.
> >
> > Ok, let's test it out in the linux-next tree for a while to make sure it
> > works properly. Care to send me an updated version?
> I updated to latest Linus' master. It applies to linux-next from
> Fri Jul 10 14:44:30 2009 +1000 as is.
Thanks, I'll apply it later today to my trees.
> Back some time I sent a series that fixes many of these bugs. I will
> update it later today and resend.
Thanks, that would be good to have, to keep the noise down for devices
we already know about.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] move acornfb's probe function to .devinit.text
2009-07-11 17:05 [PATCH] platform_driver_register: warn if probe is in .init.text Greg KH
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move am79c961's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Christoph Hellwig, Antonino Daplas, linux-fbdev-devel,
Andrew Morton
A pointer to acornfb_probe 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: Christoph Hellwig <hch@lst.de>
Cc: Antonino Daplas <adaplas@pol.net>
Cc: linux-fbdev-devel@lists.sourceforge.net
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/acornfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/acornfb.c b/drivers/video/acornfb.c
index 0bcc59e..43d7d50 100644
--- a/drivers/video/acornfb.c
+++ b/drivers/video/acornfb.c
@@ -1221,7 +1221,7 @@ free_unused_pages(unsigned int virtual_start, unsigned int virtual_end)
printk("acornfb: freed %dK memory\n", mb_freed);
}
-static int __init acornfb_probe(struct platform_device *dev)
+static int __devinit acornfb_probe(struct platform_device *dev)
{
unsigned long size;
u_int h_sync, v_sync;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move am79c961's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move acornfb's probe function to .devinit.text Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move arcfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Roel Kluin, Russell King, netdev, Andrew Morton
A pointer to am79c961_probe 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: Roel Kluin <12o3l@tiscali.nl>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: netdev@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/arm/am79c961a.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c
index 627bc75..51b19f2 100644
--- a/drivers/net/arm/am79c961a.c
+++ b/drivers/net/arm/am79c961a.c
@@ -680,7 +680,7 @@ static const struct net_device_ops am79c961_netdev_ops = {
#endif
};
-static int __init am79c961_probe(struct platform_device *pdev)
+static int __devinit am79c961_probe(struct platform_device *pdev)
{
struct resource *res;
struct net_device *dev;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move arcfb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move am79c961's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move at91_ether's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Antonino Daplas, Andrew Morton
A pointer to arcfb_probe 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: Antonino Daplas <adaplas@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/arcfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/arcfb.c b/drivers/video/arcfb.c
index c343169..01554d6 100644
--- a/drivers/video/arcfb.c
+++ b/drivers/video/arcfb.c
@@ -504,7 +504,7 @@ static struct fb_ops arcfb_ops = {
.fb_ioctl = arcfb_ioctl,
};
-static int __init arcfb_probe(struct platform_device *dev)
+static int __devinit arcfb_probe(struct platform_device *dev)
{
struct fb_info *info;
int retval = -ENOMEM;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move at91_ether's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move arcfb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move cfag12864bfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: David S. Miller, David Brownell, Jeff Garzik, Paulius Zaleckas,
Marc Pignat, Andrew Victor, Roel Kluin, Andrew Morton
A pointer to at91ether_probe 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: David S. Miller <davem@davemloft.net>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Cc: Marc Pignat <marc.pignat@hevs.ch>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Roel Kluin <12o3l@tiscali.nl>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/arm/at91_ether.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 2e7419a..0c8860e 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -1119,7 +1119,7 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add
/*
* Detect MAC and PHY and perform initialization
*/
-static int __init at91ether_probe(struct platform_device *pdev)
+static int __devinit at91ether_probe(struct platform_device *pdev)
{
unsigned int phyid1, phyid2;
int detected = -1;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move cfag12864bfb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move at91_ether's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move leds-clevo-mail's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Andrew Morton, Avuton Olrich, Antonino Daplas
A pointer to cfag12864bfb_probe 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>
Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Avuton Olrich <avuton@gmail.com>
Cc: Antonino Daplas <adaplas@gmail.com>
---
drivers/auxdisplay/cfag12864bfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/auxdisplay/cfag12864bfb.c b/drivers/auxdisplay/cfag12864bfb.c
index fe3a865..b0ca5a4 100644
--- a/drivers/auxdisplay/cfag12864bfb.c
+++ b/drivers/auxdisplay/cfag12864bfb.c
@@ -81,7 +81,7 @@ static struct fb_ops cfag12864bfb_ops = {
.fb_mmap = cfag12864bfb_mmap,
};
-static int __init cfag12864bfb_probe(struct platform_device *device)
+static int __devinit cfag12864bfb_probe(struct platform_device *device)
{
int ret = -EINVAL;
struct fb_info *info = framebuffer_alloc(0, &device->dev);
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move leds-clevo-mail's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move cfag12864bfb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move cobalt-lcd's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Richard Purdie, Andrew Morton, Márton Németh
A pointer to clevo_mail_led_probe 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: Richard Purdie <rpurdie@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Márton Németh <nm127@freemail.hu>
---
drivers/leds/leds-clevo-mail.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/leds/leds-clevo-mail.c b/drivers/leds/leds-clevo-mail.c
index 1813c84..8ee83ce 100644
--- a/drivers/leds/leds-clevo-mail.c
+++ b/drivers/leds/leds-clevo-mail.c
@@ -145,7 +145,7 @@ static struct led_classdev clevo_mail_led = {
.flags = LED_CORE_SUSPENDRESUME,
};
-static int __init clevo_mail_led_probe(struct platform_device *pdev)
+static int __devinit clevo_mail_led_probe(struct platform_device *pdev)
{
return led_classdev_register(&pdev->dev, &clevo_mail_led);
}
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move cobalt-lcd's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move leds-clevo-mail's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move corgi-ssp's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Yoichi Yuasa, Krzysztof Helt, Antonino Daplas, Andrew Morton
A pointer to cobalt_lcdfb_probe 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: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Antonino Daplas <adaplas@pol.net>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/cobalt_lcdfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/cobalt_lcdfb.c b/drivers/video/cobalt_lcdfb.c
index 108b89e..5eb61b5 100644
--- a/drivers/video/cobalt_lcdfb.c
+++ b/drivers/video/cobalt_lcdfb.c
@@ -287,7 +287,7 @@ static struct fb_ops cobalt_lcd_fbops = {
.fb_cursor = cobalt_lcdfb_cursor,
};
-static int __init cobalt_lcdfb_probe(struct platform_device *dev)
+static int __devinit cobalt_lcdfb_probe(struct platform_device *dev)
{
struct fb_info *info;
struct resource *res;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move corgi-ssp's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move cobalt-lcd's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move efifb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Eric Miao, Russell King, Paul Sokolovsky, Richard Purdie,
Liam Girdwood, Andrew Morton
A pointer to corgi_ssp_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (when 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: Eric Miao <eric.miao@marvell.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Paul Sokolovsky <pmiscml@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/mach-pxa/corgi_ssp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/corgi_ssp.c b/arch/arm/mach-pxa/corgi_ssp.c
index a5ee707..1d9bc11 100644
--- a/arch/arm/mach-pxa/corgi_ssp.c
+++ b/arch/arm/mach-pxa/corgi_ssp.c
@@ -204,7 +204,7 @@ void __init corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo)
ssp_machinfo = machinfo;
}
-static int __init corgi_ssp_probe(struct platform_device *dev)
+static int __devinit corgi_ssp_probe(struct platform_device *dev)
{
int ret;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move efifb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move corgi-ssp's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move epson1355fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Peter Jones, Krzysztof Helt, Geert Uytterhoeven, Jaya Kumar,
Ralf Baechle, Maciej W. Rozycki, Andrew Morton,
Chandramouli Narayanan, Huang Ying
A pointer to efifb_probe 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: Peter Jones <pjones@redhat.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Chandramouli Narayanan <mouli@linux.intel.com>
Cc: Huang Ying <ying.huang@intel.com>
---
drivers/video/efifb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index eb12182..2161f21 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -201,7 +201,7 @@ static int __init efifb_setup(char *options)
return 0;
}
-static int __init efifb_probe(struct platform_device *dev)
+static int __devinit efifb_probe(struct platform_device *dev)
{
struct fb_info *info;
int err;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move epson1355fb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move efifb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sh_flctl's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Russell King, Krzysztof Helt, Antonino Daplas, Andrew Morton,
Paul Mundt, Roland Stigge, Greg Kroah-Hartman
A pointer to epson1355fb_probe 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: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Roland Stigge <stigge@antcom.de>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/video/epson1355fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/epson1355fb.c b/drivers/video/epson1355fb.c
index 2735b79..6d755bb 100644
--- a/drivers/video/epson1355fb.c
+++ b/drivers/video/epson1355fb.c
@@ -602,7 +602,7 @@ static int epson1355fb_remove(struct platform_device *dev)
return 0;
}
-int __init epson1355fb_probe(struct platform_device *dev)
+int __devinit epson1355fb_probe(struct platform_device *dev)
{
struct epson1355_par *default_par;
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sh_flctl's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move epson1355fb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move gbefb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: David Woodhouse, Paul Mundt, Andrew Morton
A pointer to flctl_probe 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>
Acked-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Cc: David Woodhouse <David.Woodhouse@intel.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/mtd/nand/sh_flctl.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
index 2bc8966..1898423 100644
--- a/drivers/mtd/nand/sh_flctl.c
+++ b/drivers/mtd/nand/sh_flctl.c
@@ -769,7 +769,7 @@ static int flctl_chip_init_tail(struct mtd_info *mtd)
return 0;
}
-static int __init flctl_probe(struct platform_device *pdev)
+static int __devinit flctl_probe(struct platform_device *pdev)
{
struct resource *res;
struct sh_flctl *flctl;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move gbefb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move sh_flctl's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move h1940-bt's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Roel Kluin, Krzysztof Helt, Thomas Bogendoerfer, Andrew Morton,
Antonino Daplas, Kaj-Michael Lang, Martin Michlmayr,
Joshua Kinard
A pointer to gbefb_probe 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: Roel Kluin <roel.kluin@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Antonino Daplas <adaplas@pol.net>
Cc: Kaj-Michael Lang <milang@tal.org>
Cc: Martin Michlmayr <tbm@cyrius.com>
Cc: Joshua Kinard <kumba@gentoo.org>
---
drivers/video/gbefb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c
index 1a83709..f30e6b7 100644
--- a/drivers/video/gbefb.c
+++ b/drivers/video/gbefb.c
@@ -1128,7 +1128,7 @@ static int __init gbefb_setup(char *options)
return 0;
}
-static int __init gbefb_probe(struct platform_device *p_dev)
+static int __devinit gbefb_probe(struct platform_device *p_dev)
{
int i, ret = 0;
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move h1940-bt's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move gbefb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hgafb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Russell King, Arnaud Patard, Ben Dooks, Andrew Morton
A pointer to h1940bt_probe 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: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/mach-s3c2410/h1940-bluetooth.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-s3c2410/h1940-bluetooth.c b/arch/arm/mach-s3c2410/h1940-bluetooth.c
index 5aabf11..194c2eb 100644
--- a/arch/arm/mach-s3c2410/h1940-bluetooth.c
+++ b/arch/arm/mach-s3c2410/h1940-bluetooth.c
@@ -86,7 +86,7 @@ static DEVICE_ATTR(enable, 0644,
h1940bt_show,
h1940bt_store);
-static int __init h1940bt_probe(struct platform_device *pdev)
+static int __devinit h1940bt_probe(struct platform_device *pdev)
{
/* Configures BT serial port GPIOs */
s3c2410_gpio_cfgpin(S3C2410_GPH(0), S3C2410_GPH0_nCTS0);
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move hgafb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move h1940-bt's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hitfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Krzysztof Helt, Andrew Morton, Anton Vorontsov, Antonino Daplas
A pointer to hgafb_probe 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: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: Antonino Daplas <adaplas@pol.net>
---
drivers/video/hgafb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c
index 0129c04..db9b785 100644
--- a/drivers/video/hgafb.c
+++ b/drivers/video/hgafb.c
@@ -551,7 +551,7 @@ static struct fb_ops hgafb_ops = {
* Initialization
*/
-static int __init hgafb_probe(struct platform_device *pdev)
+static int __devinit hgafb_probe(struct platform_device *pdev)
{
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move hitfb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move hgafb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hp680-bl's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Paul Mundt, Andriy Skulysh, Antonino Daplas, Andrew Morton
A pointer to hitfb_probe 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: Paul Mundt <lethal@linux-sh.org>
Cc: Andriy Skulysh <askulysh@gmail.com>
Cc: Antonino Daplas <adaplas@pol.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/hitfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/hitfb.c b/drivers/video/hitfb.c
index e7116a6..3016cd2 100644
--- a/drivers/video/hitfb.c
+++ b/drivers/video/hitfb.c
@@ -325,7 +325,7 @@ static struct fb_ops hitfb_ops = {
.fb_imageblit = cfb_imageblit,
};
-static int __init hitfb_probe(struct platform_device *dev)
+static int __devinit hitfb_probe(struct platform_device *dev)
{
unsigned short lcdclor, ldr3, ldvndr;
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move hp680-bl's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move hitfb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hp-wmi's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Akinobu Mita, Richard Purdie, Paul Mundt, Andrew Morton,
Andriy Skulysh, Antonino Daplas
A pointer to hp680bl_probe 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: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Richard Purdie <rpurdie@linux.intel.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Acked-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andriy Skulysh <askulysh@gmail.com>
Cc: Antonino Daplas <adaplas@pol.net>
---
drivers/video/backlight/hp680_bl.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c
index 5be55a2..7fb4eef 100644
--- a/drivers/video/backlight/hp680_bl.c
+++ b/drivers/video/backlight/hp680_bl.c
@@ -103,7 +103,7 @@ static struct backlight_ops hp680bl_ops = {
.update_status = hp680bl_set_intensity,
};
-static int __init hp680bl_probe(struct platform_device *pdev)
+static int __devinit hp680bl_probe(struct platform_device *pdev)
{
struct backlight_device *bd;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move hp-wmi's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move hp680-bl's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move jazzsonic's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Frans Pop, Larry Finger, Len Brown, Helge Deller, Matthew Garrett,
Andrew Morton
A pointer to hp_wmi_bios_setup 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: Frans Pop <elendil@planet.nl>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Len Brown <lenb@kernel.org>
Cc: Helge Deller <deller@gmx.de>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/platform/x86/hp-wmi.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index ca50856..f1f7090 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -51,7 +51,7 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45e9-BE91-3D44E2C707E4");
#define HPWMI_WIRELESS_QUERY 0x5
#define HPWMI_HOTKEY_QUERY 0xc
-static int __init hp_wmi_bios_setup(struct platform_device *device);
+static int __devinit hp_wmi_bios_setup(struct platform_device *device);
static int __exit hp_wmi_bios_remove(struct platform_device *device);
static int hp_wmi_resume_handler(struct platform_device *device);
@@ -425,7 +425,7 @@ static void cleanup_sysfs(struct platform_device *device)
device_remove_file(&device->dev, &dev_attr_tablet);
}
-static int __init hp_wmi_bios_setup(struct platform_device *device)
+static int __devinit hp_wmi_bios_setup(struct platform_device *device)
{
int err;
int wireless = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 0, 0);
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move jazzsonic's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move hp-wmi's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move jornada_ssp's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Jeff Garzik, David S. Miller, Thomas Bogendoerfer, Finn Thain,
Geert Uytterhoeven, Andrew Morton
A pointer to jazz_sonic_probe 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.
As noticed by Geert Uytterhoeven sonic_probe1 is called by
jazz_sonic_probe, so the former has to move to .devinit.text, too.
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>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/jazzsonic.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/jazzsonic.c b/drivers/net/jazzsonic.c
index d12106b..8baf595 100644
--- a/drivers/net/jazzsonic.c
+++ b/drivers/net/jazzsonic.c
@@ -108,7 +108,7 @@ static const struct net_device_ops sonic_netdev_ops = {
.ndo_set_mac_address = eth_mac_addr,
};
-static int __init sonic_probe1(struct net_device *dev)
+static int __devinit sonic_probe1(struct net_device *dev)
{
static unsigned version_printed;
unsigned int silicon_revision;
@@ -211,7 +211,7 @@ out:
* Probe for a SONIC ethernet controller on a Mips Jazz board.
* Actually probing is superfluous but we're paranoid.
*/
-static int __init jazz_sonic_probe(struct platform_device *pdev)
+static int __devinit jazz_sonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move jornada_ssp's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move jazzsonic's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move macsonic's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Russell King, Andrew Morton
A pointer to jornada_ssp_probe 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>
Acked-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/mach-sa1100/jornada720_ssp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-sa1100/jornada720_ssp.c b/arch/arm/mach-sa1100/jornada720_ssp.c
index 506a5e5..9b6dee5 100644
--- a/arch/arm/mach-sa1100/jornada720_ssp.c
+++ b/arch/arm/mach-sa1100/jornada720_ssp.c
@@ -130,7 +130,7 @@ void jornada_ssp_end(void)
};
EXPORT_SYMBOL(jornada_ssp_end);
-static int __init jornada_ssp_probe(struct platform_device *dev)
+static int __devinit jornada_ssp_probe(struct platform_device *dev)
{
int ret;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move macsonic's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move jornada_ssp's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move meth's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Jeff Garzik, David S. Miller, Finn Thain, Geert Uytterhoeven,
Andrew Morton
A pointer to mac_sonic_probe 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.
Various other functions that are called by mac_sonic_probe need to move
to .devinit.text, too.
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: Jeff Garzik <jgarzik@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/macsonic.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/macsonic.c b/drivers/net/macsonic.c
index acd143d..8f492c7 100644
--- a/drivers/net/macsonic.c
+++ b/drivers/net/macsonic.c
@@ -179,7 +179,7 @@ static const struct net_device_ops macsonic_netdev_ops = {
.ndo_set_mac_address = eth_mac_addr,
};
-static int __init macsonic_init(struct net_device *dev)
+static int __devinit macsonic_init(struct net_device *dev)
{
struct sonic_local* lp = netdev_priv(dev);
@@ -223,7 +223,7 @@ static int __init macsonic_init(struct net_device *dev)
return 0;
}
-static int __init mac_onboard_sonic_ethernet_addr(struct net_device *dev)
+static int __devinit mac_onboard_sonic_ethernet_addr(struct net_device *dev)
{
struct sonic_local *lp = netdev_priv(dev);
const int prom_addr = ONBOARD_SONIC_PROM_BASE;
@@ -288,7 +288,7 @@ static int __init mac_onboard_sonic_ethernet_addr(struct net_device *dev)
} else return 0;
}
-static int __init mac_onboard_sonic_probe(struct net_device *dev)
+static int __devinit mac_onboard_sonic_probe(struct net_device *dev)
{
/* Bwahahaha */
static int once_is_more_than_enough;
@@ -409,7 +409,7 @@ static int __init mac_onboard_sonic_probe(struct net_device *dev)
return macsonic_init(dev);
}
-static int __init mac_nubus_sonic_ethernet_addr(struct net_device *dev,
+static int __devinit mac_nubus_sonic_ethernet_addr(struct net_device *dev,
unsigned long prom_addr,
int id)
{
@@ -424,7 +424,7 @@ static int __init mac_nubus_sonic_ethernet_addr(struct net_device *dev,
return 0;
}
-static int __init macsonic_ident(struct nubus_dev *ndev)
+static int __devinit macsonic_ident(struct nubus_dev *ndev)
{
if (ndev->dr_hw == NUBUS_DRHW_ASANTE_LC &&
ndev->dr_sw == NUBUS_DRSW_SONIC_LC)
@@ -449,7 +449,7 @@ static int __init macsonic_ident(struct nubus_dev *ndev)
return -1;
}
-static int __init mac_nubus_sonic_probe(struct net_device *dev)
+static int __devinit mac_nubus_sonic_probe(struct net_device *dev)
{
static int slots;
struct nubus_dev* ndev = NULL;
@@ -562,7 +562,7 @@ static int __init mac_nubus_sonic_probe(struct net_device *dev)
return macsonic_init(dev);
}
-static int __init mac_sonic_probe(struct platform_device *pdev)
+static int __devinit mac_sonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move meth's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move macsonic's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move omap24xxcam's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: David S. Miller, Thomas Bogendoerfer, Christoph Lameter,
Jeff Garzik, Andrew Morton
A pointer to meth_probe 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: David S. Miller <davem@davemloft.net>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Jeff Garzik <jgarzik@redhat.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/meth.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/meth.c b/drivers/net/meth.c
index 5d04d94..0dddb02 100644
--- a/drivers/net/meth.c
+++ b/drivers/net/meth.c
@@ -784,7 +784,7 @@ static const struct net_device_ops meth_netdev_ops = {
/*
* The init function.
*/
-static int __init meth_probe(struct platform_device *pdev)
+static int __devinit meth_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct meth_private *priv;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move omap24xxcam's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move meth's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move omap_hdq's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Hans Verkuil, Mauro Carvalho Chehab, Andrew Morton
A pointer to omap24xxcam_probe 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>
Acked-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Acked-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/media/video/omap24xxcam.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/media/video/omap24xxcam.c b/drivers/media/video/omap24xxcam.c
index 5fc4ac0..3fc84b7 100644
--- a/drivers/media/video/omap24xxcam.c
+++ b/drivers/media/video/omap24xxcam.c
@@ -1737,7 +1737,7 @@ static struct v4l2_int_device omap24xxcam = {
*
*/
-static int __init omap24xxcam_probe(struct platform_device *pdev)
+static int __devinit omap24xxcam_probe(struct platform_device *pdev)
{
struct omap24xxcam_device *cam;
struct resource *mem;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move omap_hdq's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move omap24xxcam's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move i2c_omap's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Stanley.Miao, Andrew Morton, Madhusudhan Chikkature, Felipe Balbi
A pointer to omap_hdq_probe 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: Stanley.Miao <stanley.miao@windriver.com>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
---
drivers/w1/masters/omap_hdq.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c
index a7e3b70..ac09735 100644
--- a/drivers/w1/masters/omap_hdq.c
+++ b/drivers/w1/masters/omap_hdq.c
@@ -72,7 +72,7 @@ struct hdq_data {
int init_trans;
};
-static int __init omap_hdq_probe(struct platform_device *pdev);
+static int __devinit omap_hdq_probe(struct platform_device *pdev);
static int omap_hdq_remove(struct platform_device *pdev);
static struct platform_driver omap_hdq_driver = {
@@ -558,7 +558,7 @@ static void omap_w1_write_byte(void *_hdq, u8 byte)
return;
}
-static int __init omap_hdq_probe(struct platform_device *pdev)
+static int __devinit omap_hdq_probe(struct platform_device *pdev)
{
struct hdq_data *hdq_data;
struct resource *res;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move i2c_omap's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move omap_hdq's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move mmci-omap-hs's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Kalle Jokiniemi, Tony Lindgren, Paul Walmsley, Richard Woodruff,
chandra shekhar, Jason P Marini, Syed Mohammed Khasim,
Jarkko Nikula, Juha Yrjola, Andrew Morton
A pointer to omap_i2c_probe 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: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: chandra shekhar <x0044955@ti.com>
Cc: Jason P Marini <jason.marini@gmail.com>
Cc: Syed Mohammed Khasim <x0khasim@ti.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Juha Yrjola <juha.yrjola@solidboot.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/i2c/busses/i2c-omap.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index ad8d201..1ae5ae4 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -784,7 +784,7 @@ static const struct i2c_algorithm omap_i2c_algo = {
.functionality = omap_i2c_func,
};
-static int __init
+static int __devinit
omap_i2c_probe(struct platform_device *pdev)
{
struct omap_i2c_dev *dev;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move mmci-omap-hs's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move i2c_omap's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move orion_nand's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Jean Pihet, Tony Lindgren, Pierre Ossman, Andy Lowe,
Adrian Hunter, Andrew Morton, David Brownell,
Madhusudhan Chikkature
A pointer to omap_mmc_probe 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: Jean Pihet <jpihet@mvista.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Pierre Ossman <drzeus@drzeus.cx>
Cc: Andy Lowe <alowe@mvista.com>
Cc: Adrian Hunter <ext-adrian.hunter@nokia.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Madhusudhan Chikkature<madhu.cr@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 1cf9cfb..dc9a430 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -967,7 +967,7 @@ static struct mmc_host_ops mmc_omap_ops = {
/* NYET -- enable_sdio_irq */
};
-static int __init omap_mmc_probe(struct platform_device *pdev)
+static int __devinit omap_mmc_probe(struct platform_device *pdev)
{
struct omap_mmc_platform_data *pdata = pdev->dev.platform_data;
struct mmc_host *mmc;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move orion_nand's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move mmci-omap-hs's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move q40fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Lennert Buytenhek, Saeed Bishara, Jörn Engel, Nicolas Pitre,
Tzachi Perelstein, Andrew Morton
A pointer to orion_nand_probe 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: Lennert Buytenhek <buytenh@marvell.com>
Cc: Saeed Bishara <saeed@marvell.com>
Cc: Jörn Engel <joern@logfs.org>
Cc: Nicolas Pitre <nico@marvell.com>
Cc: Tzachi Perelstein <tzachi@marvell.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/mtd/nand/orion_nand.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/nand/orion_nand.c b/drivers/mtd/nand/orion_nand.c
index 7ad9722..748112c 100644
--- a/drivers/mtd/nand/orion_nand.c
+++ b/drivers/mtd/nand/orion_nand.c
@@ -69,7 +69,7 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
buf[i++] = readb(io_base);
}
-static int __init orion_nand_probe(struct platform_device *pdev)
+static int __devinit orion_nand_probe(struct platform_device *pdev)
{
struct mtd_info *mtd;
struct nand_chip *nc;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move q40fb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move orion_nand's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move s3c241xfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Antonino Daplas, Andrew Morton
A pointer to q40fb_probe 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: Antonino Daplas <adaplas@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/q40fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/q40fb.c b/drivers/video/q40fb.c
index 4beac1d..de40a62 100644
--- a/drivers/video/q40fb.c
+++ b/drivers/video/q40fb.c
@@ -85,7 +85,7 @@ static struct fb_ops q40fb_ops = {
.fb_imageblit = cfb_imageblit,
};
-static int __init q40fb_probe(struct platform_device *dev)
+static int __devinit q40fb_probe(struct platform_device *dev)
{
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move s3c241xfb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move q40fb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sa11x0-fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Russell King, Ben Dooks, Arnaud Patard, Krzysztof Helt,
Andrew Morton, Antonino Daplas, Vincent Sanders
Pointers to s3c2410fb_probe and s3c2412fb_probe are passed to the core
via platform_driver_register and so the functions must not disappear
when the .init sections are discarded. Otherwise (if also having
HOTPLUG=y) unbinding and binding a device to one of the drivers 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: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Antonino Daplas <adaplas@pol.net>
Cc: Vincent Sanders <vince@simtec.co.uk>
---
drivers/video/s3c2410fb.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 7da0027..b8269bd 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -1002,12 +1002,12 @@ dealloc_fb:
return ret;
}
-static int __init s3c2410fb_probe(struct platform_device *pdev)
+static int __devinit s3c2410fb_probe(struct platform_device *pdev)
{
return s3c24xxfb_probe(pdev, DRV_S3C2410);
}
-static int __init s3c2412fb_probe(struct platform_device *pdev)
+static int __devinit s3c2412fb_probe(struct platform_device *pdev)
{
return s3c24xxfb_probe(pdev, DRV_S3C2412);
}
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sa11x0-fb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move s3c241xfb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Russell King, Matthias Kaehlcke, Andrew Morton, Antonino Daplas,
Pavel Machek, Christoph Hellwig
A pointer to sa1100fb_probe 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: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Matthias Kaehlcke <matthias@kaehlcke.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Pavel Machek <pavel@suse.cz>
Cc: Christoph Hellwig <hch@lst.de>
---
drivers/video/sa1100fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index 10ddad8..19c012b 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1435,7 +1435,7 @@ static struct sa1100fb_info * __init sa1100fb_init_fbinfo(struct device *dev)
return fbi;
}
-static int __init sa1100fb_probe(struct platform_device *pdev)
+static int __devinit sa1100fb_probe(struct platform_device *pdev)
{
struct sa1100fb_info *fbi;
int ret, irq;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sb1250-mac's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move sa11x0-fb's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sgiseeq's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Weiwei Wang, Jeff Garzik, David S. Miller, Stephen Hemminger,
Maciej W. Rozycki, Andrew Morton
A pointer to sbmac_probe 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: Weiwei Wang <weiwei.wang@windriver.com>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/sb1250-mac.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index d8c9cf1..96b37b9 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -2688,7 +2688,7 @@ static int sbmac_poll(struct napi_struct *napi, int budget)
}
-static int __init sbmac_probe(struct platform_device *pldev)
+static int __devinit sbmac_probe(struct platform_device *pldev)
{
struct net_device *dev;
struct sbmac_softc *sc;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sgiseeq's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
@ 2009-07-11 20:52 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sgivwfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:52 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Wang Chen, David S. Miller, Andrew Morton, Jeff Garzik,
Thomas Bogendoerfer
A pointer to sgiseeq_probe 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: Wang Chen <wangchen@cn.fujitsu.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
---
drivers/net/sgiseeq.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index 5fb88ca..53fa4f6 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -720,7 +720,7 @@ static const struct net_device_ops sgiseeq_netdev_ops = {
.ndo_validate_addr = eth_validate_addr,
};
-static int __init sgiseeq_probe(struct platform_device *pdev)
+static int __devinit sgiseeq_probe(struct platform_device *pdev)
{
struct sgiseeq_platform_data *pd = pdev->dev.platform_data;
struct hpc3_regs *hpcregs = pd->hpc;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sgivwfb's probe function to .devinit.text
2009-07-11 20:52 ` [PATCH] move sgiseeq's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sgiwd93's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Antonino Daplas, Andrew Morton, Adrian Bunk, Christoph Hellwig
A pointer to sgivwfb_probe 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: Antonino Daplas <adaplas@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Adrian Bunk <bunk@stusta.de>
Cc: Christoph Hellwig <hch@lst.de>
---
drivers/video/sgivwfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/sgivwfb.c b/drivers/video/sgivwfb.c
index bba5371..aff893e 100644
--- a/drivers/video/sgivwfb.c
+++ b/drivers/video/sgivwfb.c
@@ -745,7 +745,7 @@ int __init sgivwfb_setup(char *options)
/*
* Initialisation
*/
-static int __init sgivwfb_probe(struct platform_device *dev)
+static int __devinit sgivwfb_probe(struct platform_device *dev)
{
struct sgivw_par *par;
struct fb_info *info;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sgiwd93's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move sgivwfb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sharpsl-pm's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Dmitri Vorobiev, James Bottomley, Thomas Bogendoerfer,
Andrew Morton, peter fuerst, Henrik Kretzschmar
A pointer to sgiwd93_probe 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: Dmitri Vorobiev <dmitri.vorobiev@movial.fi>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: peter fuerst <post@pfrst.de>
Cc: Henrik Kretzschmar <henne@nachtwindheim.de>
---
drivers/scsi/sgiwd93.c | 2 +-
1 files changed, 1 insertions(+), 1 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;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sharpsl-pm's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move sgiwd93's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sh_mobile_lcdc_fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Dmitry Baryshkov, Russell King, Andrew Morton
A pointer to sharpsl_pm_probe 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: Dmitry Baryshkov <dbaryshkov@gmail.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Eric Miao <eric.miao@marvell.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
arch/arm/mach-pxa/sharpsl_pm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c
index 2546c06..16a3873 100644
--- a/arch/arm/mach-pxa/sharpsl_pm.c
+++ b/arch/arm/mach-pxa/sharpsl_pm.c
@@ -899,7 +899,7 @@ static struct platform_suspend_ops sharpsl_pm_ops = {
};
#endif
-static int __init sharpsl_pm_probe(struct platform_device *pdev)
+static int __devinit sharpsl_pm_probe(struct platform_device *pdev)
{
int ret;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move sh_mobile_lcdc_fb's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move sharpsl-pm's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move snirm_53c710's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Greg Kroah-Hartman, Magnus Damm, Paul Mundt, Krzysztof Helt,
Andrew Morton
A pointer to sh_mobile_lcdc_probe 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: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Magnus Damm <damm@igel.co.jp>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/sh_mobile_lcdcfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 8f24564..d2bfbde 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -733,7 +733,7 @@ static struct dev_pm_ops sh_mobile_lcdc_dev_pm_ops = {
static int sh_mobile_lcdc_remove(struct platform_device *pdev);
-static int __init sh_mobile_lcdc_probe(struct platform_device *pdev)
+static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev)
{
struct fb_info *info;
struct sh_mobile_lcdc_priv *priv;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move snirm_53c710's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move sh_mobile_lcdc_fb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move stk17ta8's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Kay Sievers, David Brownell, Andrew Morton, James Bottomley,
Thomas Bogendoerfer
A pointer to snirm710_probe 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: Kay Sievers <kay.sievers@vrfy.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
---
drivers/scsi/sni_53c710.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
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;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move stk17ta8's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move snirm_53c710's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move omap_udc's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Anton Vorontsov, Alessandro Zummo, David Brownell, Paul Mundt,
Andrew Morton, Hannes Eder, Jiri Kosina
A pointer to stk17ta8_rtc_probe 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: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Hannes Eder <hannes@hanneseder.net>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: David Brownell <dbrownell@users.sourceforge.net>
---
drivers/rtc/rtc-stk17ta8.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index 7d1547b..d491eb2 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -286,7 +286,7 @@ static struct bin_attribute stk17ta8_nvram_attr = {
.write = stk17ta8_nvram_write,
};
-static int __init stk17ta8_rtc_probe(struct platform_device *pdev)
+static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev)
{
struct rtc_device *rtc;
struct resource *res;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move omap_udc's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move stk17ta8's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vesafb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Philipp Zabel, David Brownell, Greg Kroah-Hartman, Andrew Morton,
Tony Lindgren, Russell King, Dmitry Baryshkov
A pointer to omap_udc_probe 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: Philipp Zabel <philipp.zabel@gmail.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
---
drivers/usb/gadget/omap_udc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index a2db0e1..351cb24 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -2800,7 +2800,7 @@ omap_udc_setup(struct platform_device *odev, struct otg_transceiver *xceiv)
return 0;
}
-static int __init omap_udc_probe(struct platform_device *pdev)
+static int __devinit omap_udc_probe(struct platform_device *pdev)
{
int status = -ENODEV;
int hmc;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move vesafb's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move omap_udc's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vfb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Helge Deller, James Simmons, Andrew Morton, Antonino Daplas
A pointer to vesafb_probe 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: Helge Deller <deller@gmx.de>
Cc: James Simmons <jsimmons@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Antonino Daplas <adaplas@pol.net>
---
drivers/video/vesafb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/vesafb.c b/drivers/video/vesafb.c
index bd37ee1..ef4128c 100644
--- a/drivers/video/vesafb.c
+++ b/drivers/video/vesafb.c
@@ -226,7 +226,7 @@ static int __init vesafb_setup(char *options)
return 0;
}
-static int __init vesafb_probe(struct platform_device *dev)
+static int __devinit vesafb_probe(struct platform_device *dev)
{
struct fb_info *info;
int i, err;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move vfb's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move vesafb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vga16fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Frans Pop, Antonino Daplas, Krzysztof Helt, Andrew Morton
A pointer to vfb_probe 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: Frans Pop <elendil@planet.nl>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/vfb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/vfb.c b/drivers/video/vfb.c
index 050d432..b8ab995 100644
--- a/drivers/video/vfb.c
+++ b/drivers/video/vfb.c
@@ -479,7 +479,7 @@ static int __init vfb_setup(char *options)
* Initialisation
*/
-static int __init vfb_probe(struct platform_device *dev)
+static int __devinit vfb_probe(struct platform_device *dev)
{
struct fb_info *info;
int retval = -ENOMEM;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move vga16fb's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move vfb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move w100fb's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Krzysztof Helt, Roel Kluin, Antonino Daplas, Andrew Morton
A pointer to vga16fb_probe 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: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Roel Kluin <12o3l@tiscali.nl>
Cc: Antonino Daplas <adaplas@pol.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/vga16fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/vga16fb.c b/drivers/video/vga16fb.c
index 5b29389..76d8dae 100644
--- a/drivers/video/vga16fb.c
+++ b/drivers/video/vga16fb.c
@@ -1293,7 +1293,7 @@ static int vga16fb_setup(char *options)
}
#endif
-static int __init vga16fb_probe(struct platform_device *dev)
+static int __devinit vga16fb_probe(struct platform_device *dev)
{
struct fb_info *info;
struct vga16fb_par *par;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move w100fb's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move vga16fb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move xtsonic's " Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel
Cc: Philipp Zabel, Ian Molton, Richard Purdie, Antonino Daplas,
Alberto Mardegan, Andrew Morton
A pointer to w100fb_probe 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: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Ian Molton <spyro@f2s.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Alberto Mardegan <mardy@users.sourceforge.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/video/w100fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/video/w100fb.c b/drivers/video/w100fb.c
index 2376f68..5d22395 100644
--- a/drivers/video/w100fb.c
+++ b/drivers/video/w100fb.c
@@ -628,7 +628,7 @@ static int w100fb_resume(struct platform_device *dev)
#endif
-int __init w100fb_probe(struct platform_device *pdev)
+int __devinit w100fb_probe(struct platform_device *pdev)
{
int err = -EIO;
struct w100fb_mach_info *inf;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH] move xtsonic's probe function to .devinit.text
2009-07-11 20:53 ` [PATCH] move w100fb's " Uwe Kleine-König
@ 2009-07-11 20:53 ` Uwe Kleine-König
0 siblings, 0 replies; 15+ messages in thread
From: Uwe Kleine-König @ 2009-07-11 20:53 UTC (permalink / raw)
To: Greg KH, linux-kernel; +Cc: Chris Zankel, David S. Miller, Andrew Morton
A pointer to xtsonic_probe 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: Chris Zankel <chris@zankel.net>
Cc: David S. Miller <davem@davemloft.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/xtsonic.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/xtsonic.c b/drivers/net/xtsonic.c
index 5a4ad15..0c44135 100644
--- a/drivers/net/xtsonic.c
+++ b/drivers/net/xtsonic.c
@@ -239,7 +239,7 @@ out:
* Actually probing is superfluous but we're paranoid.
*/
-int __init xtsonic_probe(struct platform_device *pdev)
+int __devinit xtsonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
1.6.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* platform_driver's probe functions must not be located in .init.text
@ 2009-01-12 22:12 Uwe Kleine-König
2009-01-12 22:25 ` [PATCH] move xtsonic's probe function to .devinit.text Uwe Kleine-König
0 siblings, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2009-01-12 22:12 UTC (permalink / raw)
To: linux-kernel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 7988 bytes --]
Hello,
if the probe function of a platform_driver lives in .init.text (i.e. is
defined using __init) registering a device after the .init sections are
discarded results in an oops. You can test that by doing
echo $drivername.$somevalidid > /sys/bus/platform/drivers/$drivername/unbind
echo $drivername.$somevalidid > /sys/bus/platform/drivers/$drivername/bind
As a reply to this mail I send 62 patches that fix this kind of error by
moving the respective probe functions to .devinit.text.
This should be safe in general as it only increases the lifetime for the
respective functions.
The alternative is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver. But I choosed changing the section as
this is less intrusive though probably the latter would be the better
fix because it saves some memory.
You cannot blindly change to use platform_driver_probe because if the
devices are only registered after that call (but while .init is still
valid) the driver is already gone. This is hardly checkable for me
because I don't have the hardware for most drivers I fixed.
Shortlog and diffstat are below. You can fetch this series from
git://git.pengutronix.de/git/ukl/linux-2.6.git platsection-master
based on v2.6.29-rc1.
Best regards
Uwe
Uwe Kleine-König (62):
move acornfb's probe function to .devinit.text
move am79c961's probe function to .devinit.text
move arcfb's probe function to .devinit.text
move at91_ether's probe function to .devinit.text
move at91_wdt's probe function to .devinit.text
move bf54x-lq043's probe function to .devinit.text
move bfin-t350mcqb's probe function to .devinit.text
move cfag12864bfb's probe function to .devinit.text
move leds-clevo-mail's probe function to .devinit.text
move cobalt-lcd's probe function to .devinit.text
move corgi-keyboard's probe function to .devinit.text
move corgi-ssp's probe function to .devinit.text
move corgi-ts's probe function to .devinit.text
move efifb's probe function to .devinit.text
move orion-ehci's probe function to .devinit.text
move epson1355fb's probe function to .devinit.text
move sh_flctl's probe function to .devinit.text
move gbefb's probe function to .devinit.text
move h1940-bt's probe function to .devinit.text
move h1940-leds's probe function to .devinit.text
move hgafb's probe function to .devinit.text
move hitfb's probe function to .devinit.text
move hp680-bl's probe function to .devinit.text
move hp-wmi's probe function to .devinit.text
move jazzsonic's probe function to .devinit.text
move jornada_ssp's probe function to .devinit.text
move ks8695_wdt's probe function to .devinit.text
move macsonic's probe function to .devinit.text
move meth's probe function to .devinit.text
move mmci-omap's probe function to .devinit.text
move mailbox's probe function to .devinit.text
move omap24xxcam's probe function to .devinit.text
move mailbox's probe function to .devinit.text
move omap_hdq's probe function to .devinit.text
move omap-keypad's probe function to .devinit.text
move omap_rng's probe function to .devinit.text
move omap_wdt's probe function to .devinit.text
move orion_nand's probe function to .devinit.text
move gen_nand's probe function to .devinit.text
move q40fb's probe function to .devinit.text
move r8a66597_hcd's probe function to .devinit.text
move s3c241xfb's probe function to .devinit.text
move sa11x0-fb's probe function to .devinit.text
move flash's probe function to .devinit.text
move sb1250-mac's probe function to .devinit.text
move sgiseeq's probe function to .devinit.text
move sgivwfb's probe function to .devinit.text
move sgiwd93's probe function to .devinit.text
move sharpsl-pm's probe function to .devinit.text
move sh_mobile_lcdc_fb's probe function to .devinit.text
move snd_powermac's probe function to .devinit.text
move snirm_53c710's probe function to .devinit.text
move spitz-keyboard's probe function to .devinit.text
move stk17ta8's probe function to .devinit.text
move omap_udc's probe function to .devinit.text
move vesafb's probe function to .devinit.text
move vfb's probe function to .devinit.text
move vga16fb's probe function to .devinit.text
move w100fb's probe function to .devinit.text
move wm8400-regulator's probe function to .devinit.text
move xilinx_spi's probe function to .devinit.text
move xtsonic's probe function to .devinit.text
arch/arm/common/sharpsl_pm.c | 2 +-
arch/arm/mach-omap1/mailbox.c | 2 +-
arch/arm/mach-omap2/mailbox.c | 2 +-
arch/arm/mach-pxa/corgi_ssp.c | 2 +-
arch/arm/mach-s3c2410/h1940-bluetooth.c | 2 +-
arch/arm/mach-sa1100/jornada720_ssp.c | 2 +-
drivers/auxdisplay/cfag12864bfb.c | 2 +-
drivers/char/hw_random/omap-rng.c | 2 +-
drivers/input/keyboard/corgikbd.c | 2 +-
drivers/input/keyboard/omap-keypad.c | 2 +-
drivers/input/keyboard/spitzkbd.c | 2 +-
drivers/input/touchscreen/corgi_ts.c | 2 +-
drivers/leds/leds-clevo-mail.c | 2 +-
drivers/leds/leds-h1940.c | 2 +-
drivers/media/video/omap24xxcam.c | 2 +-
drivers/mmc/host/omap.c | 2 +-
drivers/mtd/maps/sa1100-flash.c | 2 +-
drivers/mtd/nand/orion_nand.c | 2 +-
drivers/mtd/nand/plat_nand.c | 2 +-
drivers/mtd/nand/sh_flctl.c | 2 +-
drivers/net/arm/am79c961a.c | 2 +-
drivers/net/arm/at91_ether.c | 2 +-
drivers/net/jazzsonic.c | 2 +-
drivers/net/macsonic.c | 2 +-
drivers/net/meth.c | 2 +-
drivers/net/sb1250-mac.c | 2 +-
drivers/net/sgiseeq.c | 2 +-
drivers/net/xtsonic.c | 2 +-
drivers/platform/x86/hp-wmi.c | 4 ++--
drivers/regulator/wm8400-regulator.c | 2 +-
drivers/rtc/rtc-stk17ta8.c | 2 +-
drivers/scsi/sgiwd93.c | 2 +-
drivers/scsi/sni_53c710.c | 2 +-
drivers/spi/xilinx_spi.c | 2 +-
drivers/usb/gadget/omap_udc.c | 2 +-
drivers/usb/host/ehci-orion.c | 2 +-
drivers/usb/host/r8a66597-hcd.c | 2 +-
drivers/video/acornfb.c | 2 +-
drivers/video/arcfb.c | 2 +-
drivers/video/backlight/hp680_bl.c | 2 +-
drivers/video/bf54x-lq043fb.c | 2 +-
drivers/video/bfin-t350mcqb-fb.c | 2 +-
drivers/video/cobalt_lcdfb.c | 2 +-
drivers/video/efifb.c | 2 +-
drivers/video/epson1355fb.c | 2 +-
drivers/video/gbefb.c | 2 +-
drivers/video/hgafb.c | 2 +-
drivers/video/hitfb.c | 2 +-
drivers/video/q40fb.c | 2 +-
drivers/video/s3c2410fb.c | 4 ++--
drivers/video/sa1100fb.c | 2 +-
drivers/video/sgivwfb.c | 2 +-
drivers/video/sh_mobile_lcdcfb.c | 2 +-
drivers/video/vesafb.c | 2 +-
drivers/video/vfb.c | 2 +-
drivers/video/vga16fb.c | 2 +-
drivers/video/w100fb.c | 2 +-
drivers/w1/masters/omap_hdq.c | 4 ++--
drivers/watchdog/at91rm9200_wdt.c | 2 +-
drivers/watchdog/ks8695_wdt.c | 2 +-
drivers/watchdog/omap_wdt.c | 2 +-
sound/ppc/powermac.c | 2 +-
62 files changed, 65 insertions(+), 65 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH] move xtsonic's probe function to .devinit.text
2009-01-12 22:12 platform_driver's probe functions must not be located in .init.text Uwe Kleine-König
@ 2009-01-12 22:25 ` Uwe Kleine-König
0 siblings, 0 replies; 15+ messages in thread
From: Uwe Kleine-König @ 2009-01-12 22:25 UTC (permalink / raw)
To: linux-kernel
A pointer to xtsonic_probe 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>
---
drivers/net/xtsonic.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/xtsonic.c b/drivers/net/xtsonic.c
index 03a3f34..5085aef 100644
--- a/drivers/net/xtsonic.c
+++ b/drivers/net/xtsonic.c
@@ -232,7 +232,7 @@ out:
* Actually probing is superfluous but we're paranoid.
*/
-int __init xtsonic_probe(struct platform_device *pdev)
+int __devinit xtsonic_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct sonic_local *lp;
--
1.5.6.5
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-07-22 3:13 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-21 21:25 [PATCH] move jazzsonic's probe function to .devinit.text Uwe Kleine-König
2009-07-21 21:25 ` [PATCH] move macsonic's " Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move meth's " Uwe Kleine-König
2009-07-22 3:12 ` David Miller
2009-07-21 21:25 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move sgiseeq's " Uwe Kleine-König
2009-07-22 3:13 ` David Miller
2009-07-21 21:25 ` [PATCH] move xtsonic's " Uwe Kleine-König
2009-07-22 0:00 ` Chris Zankel
2009-07-22 3:13 ` David Miller
2009-07-22 3:13 ` [PATCH] move jazzsonic's " David Miller
-- strict thread matches above, loose matches on Subject: below --
2009-07-11 17:05 [PATCH] platform_driver_register: warn if probe is in .init.text Greg KH
2009-07-11 20:52 ` [PATCH] move acornfb's probe function to .devinit.text Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move am79c961's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move arcfb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move at91_ether's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move cfag12864bfb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move leds-clevo-mail's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move cobalt-lcd's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move corgi-ssp's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move efifb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move epson1355fb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sh_flctl's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move gbefb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move h1940-bt's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hgafb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hitfb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hp680-bl's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move hp-wmi's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move jazzsonic's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move jornada_ssp's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move macsonic's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move meth's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move omap24xxcam's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move omap_hdq's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move i2c_omap's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move mmci-omap-hs's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move orion_nand's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move q40fb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move s3c241xfb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sa11x0-fb's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sb1250-mac's " Uwe Kleine-König
2009-07-11 20:52 ` [PATCH] move sgiseeq's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sgivwfb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sgiwd93's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sharpsl-pm's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move sh_mobile_lcdc_fb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move snirm_53c710's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move stk17ta8's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move omap_udc's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vesafb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vfb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move vga16fb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move w100fb's " Uwe Kleine-König
2009-07-11 20:53 ` [PATCH] move xtsonic's " Uwe Kleine-König
2009-01-12 22:12 platform_driver's probe functions must not be located in .init.text Uwe Kleine-König
2009-01-12 22:25 ` [PATCH] move xtsonic's probe function to .devinit.text Uwe Kleine-König
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.