Message ID | AANLkTimJbfRUwzRUT0Z6_eMOm-SpYeti-FjY-eE5a7cV@mail.gmail.com |
---|---|
State | New, archived |
Headers | show |
On Wed, Jul 28, 2010 at 1:56 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote: > From c374a3f27c56f9112b97960eaa3194a08db6f4a4 Mon Sep 17 00:00:00 2001 > From: Lei Wen <leiwen@marvell.com> > Date: Tue, 22 Jun 2010 20:19:35 +0800 > Subject: [PATCH 02/29] pxa3xx_nand: fix compile warning > > The compile output as below: > WARNING: modpost: Found 1 section mismatch(es). > > Signed-off-by: Lei Wen <leiwen@marvell.com> > --- > drivers/mtd/nand/pxa3xx_nand.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c > index 3ffcbcd..52cec28 100644 > --- a/drivers/mtd/nand/pxa3xx_nand.c > +++ b/drivers/mtd/nand/pxa3xx_nand.c > @@ -1069,7 +1069,7 @@ static void pxa3xx_nand_init_mtd(struct mtd_info *mtd, > this->chip_delay = 25; > } > > -static int pxa3xx_nand_probe(struct platform_device *pdev) > +static int __devinit pxa3xx_nand_probe(struct platform_device *pdev) Ack > { > struct pxa3xx_nand_platform_data *pdata; > struct pxa3xx_nand_info *info; > -- > 1.7.0.4 >
On Wed, Jul 28, 2010 at 02:17:23PM +0800, Eric Miao wrote: > On Wed, Jul 28, 2010 at 1:56 PM, Haojian Zhuang > <haojian.zhuang@gmail.com> wrote: > > From c374a3f27c56f9112b97960eaa3194a08db6f4a4 Mon Sep 17 00:00:00 2001 > > From: Lei Wen <leiwen@marvell.com> > > Date: Tue, 22 Jun 2010 20:19:35 +0800 > > Subject: [PATCH 02/29] pxa3xx_nand: fix compile warning > > > > The compile output as below: > > WARNING: modpost: Found 1 section mismatch(es). > > > > Signed-off-by: Lei Wen <leiwen@marvell.com> > > --- > > drivers/mtd/nand/pxa3xx_nand.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c > > index 3ffcbcd..52cec28 100644 > > --- a/drivers/mtd/nand/pxa3xx_nand.c > > +++ b/drivers/mtd/nand/pxa3xx_nand.c > > @@ -1069,7 +1069,7 @@ static void pxa3xx_nand_init_mtd(struct mtd_info *mtd, > > this->chip_delay = 25; > > } > > > > -static int pxa3xx_nand_probe(struct platform_device *pdev) > > +static int __devinit pxa3xx_nand_probe(struct platform_device *pdev) > > Ack __devinit is not always the right thing for this. Not having any attribute is the safest thing. Having any kind of init tag means that there's a circumstance when the function will be freed, and if the function pointer is called...
On Wed, Jul 28, 2010 at 3:23 PM, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > On Wed, Jul 28, 2010 at 02:17:23PM +0800, Eric Miao wrote: >> On Wed, Jul 28, 2010 at 1:56 PM, Haojian Zhuang >> <haojian.zhuang@gmail.com> wrote: >> > From c374a3f27c56f9112b97960eaa3194a08db6f4a4 Mon Sep 17 00:00:00 2001 >> > From: Lei Wen <leiwen@marvell.com> >> > Date: Tue, 22 Jun 2010 20:19:35 +0800 >> > Subject: [PATCH 02/29] pxa3xx_nand: fix compile warning >> > >> > The compile output as below: >> > WARNING: modpost: Found 1 section mismatch(es). >> > >> > Signed-off-by: Lei Wen <leiwen@marvell.com> >> > --- >> > drivers/mtd/nand/pxa3xx_nand.c | 2 +- >> > 1 files changed, 1 insertions(+), 1 deletions(-) >> > >> > diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c >> > index 3ffcbcd..52cec28 100644 >> > --- a/drivers/mtd/nand/pxa3xx_nand.c >> > +++ b/drivers/mtd/nand/pxa3xx_nand.c >> > @@ -1069,7 +1069,7 @@ static void pxa3xx_nand_init_mtd(struct mtd_info *mtd, >> > this->chip_delay = 25; >> > } >> > >> > -static int pxa3xx_nand_probe(struct platform_device *pdev) >> > +static int __devinit pxa3xx_nand_probe(struct platform_device *pdev) >> >> Ack > > __devinit is not always the right thing for this. Not having any > attribute is the safest thing. Having any kind of init tag means > that there's a circumstance when the function will be freed, and > if the function pointer is called... > Should be quite safe if all the NAND devices are registered during the initcall phase, which is normally true. Yet indeed will create problems if they are registered later, e.g. in modules.
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c index 3ffcbcd..52cec28 100644 --- a/drivers/mtd/nand/pxa3xx_nand.c +++ b/drivers/mtd/nand/pxa3xx_nand.c @@ -1069,7 +1069,7 @@ static void pxa3xx_nand_init_mtd(struct mtd_info *mtd, this->chip_delay = 25; } -static int pxa3xx_nand_probe(struct platform_device *pdev) +static int __devinit pxa3xx_nand_probe(struct platform_device *pdev) { struct pxa3xx_nand_platform_data *pdata; struct pxa3xx_nand_info *info;