2015-11-11 09:43:54

by Jason Liu

[permalink] [raw]
Subject: [PATCH 1/1] dmaengine: imx-sdma: remove __init annotation on sdma_event_remap

The sdma_probe function will call sdma_event_remap, but sdma_event_remap
marked with the __init annotation which make the kbuild complains as the
following log:

WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in reference
from the function sdma_probe() to the function .init.text:sdma_event_remap()
The function sdma_probe() references
the function __init sdma_event_remap().
This is often because sdma_probe lacks a __init
annotation or the annotation of sdma_event_remap is wrong.

Remove the __init annotation on sdma_event_remap to kill this build warning

Signed-off-by: Jason Liu <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: Dan Williams <[email protected]>
---
drivers/dma/imx-sdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 7058d58..0f6fd42 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -1462,7 +1462,7 @@ err_firmware:

#define EVENT_REMAP_CELLS 3

-static int __init sdma_event_remap(struct sdma_engine *sdma)
+static int sdma_event_remap(struct sdma_engine *sdma)
{
struct device_node *np = sdma->dev->of_node;
struct device_node *gpr_np = of_parse_phandle(np, "gpr", 0);
--
1.8.3.2


2015-11-11 10:02:23

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 1/1] dmaengine: imx-sdma: remove __init annotation on sdma_event_remap

On Wednesday 11 November 2015 17:20:49 Jason Liu wrote:
> The sdma_probe function will call sdma_event_remap, but sdma_event_remap
> marked with the __init annotation which make the kbuild complains as the
> following log:
>
> WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in reference
> from the function sdma_probe() to the function .init.text:sdma_event_remap()
> The function sdma_probe() references
> the function __init sdma_event_remap().
> This is often because sdma_probe lacks a __init
> annotation or the annotation of sdma_event_remap is wrong.
>
> Remove the __init annotation on sdma_event_remap to kill this build warning
>
> Signed-off-by: Jason Liu <[email protected]>
> Cc: Vinod Koul <[email protected]>
> Cc: Dan Williams <[email protected]>
>

Looks good. I wonder why I have not caught this with the randconfig builds yet.

Acked-by: Arnd Bergmann <[email protected]>

One hint for the future: in the patch description, write less about the
kbuild warning and more about the actual impact of the bug (calling a
discarded function if the device gets unbound and rebound later, or
if we get deferred probing).

Arnd

2015-11-11 10:06:55

by Hui Liu

[permalink] [raw]
Subject: RE: [PATCH 1/1] dmaengine: imx-sdma: remove __init annotation on sdma_event_remap

> -----Original Message-----
> From: Arnd Bergmann [mailto:[email protected]]
> Sent: Wednesday, November 11, 2015 6:02 PM
> To: [email protected]
> Cc: Liu Hui-R64343; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH 1/1] dmaengine: imx-sdma: remove __init annotation on
> sdma_event_remap
>
> On Wednesday 11 November 2015 17:20:49 Jason Liu wrote:
> > The sdma_probe function will call sdma_event_remap, but
> > sdma_event_remap marked with the __init annotation which make the
> > kbuild complains as the following log:
> >
> > WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in
> > reference from the function sdma_probe() to the function
> > .init.text:sdma_event_remap() The function sdma_probe() references the
> > function __init sdma_event_remap().
> > This is often because sdma_probe lacks a __init annotation or the
> > annotation of sdma_event_remap is wrong.
> >
> > Remove the __init annotation on sdma_event_remap to kill this build
> > warning
> >
> > Signed-off-by: Jason Liu <[email protected]>
> > Cc: Vinod Koul <[email protected]>
> > Cc: Dan Williams <[email protected]>
> >
>
> Looks good. I wonder why I have not caught this with the randconfig
> builds yet.
>
> Acked-by: Arnd Bergmann <[email protected]>
>
> One hint for the future: in the patch description, write less about the
> kbuild warning and more about the actual impact of the bug (calling a
> discarded function if the device gets unbound and rebound later, or if we
> get deferred probing).

Yes, that is true indeed. Thanks Arnd.

>
> Arnd

2015-11-16 03:41:27

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH 1/1] dmaengine: imx-sdma: remove __init annotation on sdma_event_remap

On Wed, Nov 11, 2015 at 05:20:49PM +0800, Jason Liu wrote:
> The sdma_probe function will call sdma_event_remap, but sdma_event_remap
> marked with the __init annotation which make the kbuild complains as the
> following log:
>
> WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in reference
> from the function sdma_probe() to the function .init.text:sdma_event_remap()
> The function sdma_probe() references
> the function __init sdma_event_remap().
> This is often because sdma_probe lacks a __init
> annotation or the annotation of sdma_event_remap is wrong.
>
> Remove the __init annotation on sdma_event_remap to kill this build warning

Applied, thanks

--
~Vinod