Re: [PATCH v1] usb: musb: Make dma_controller_create __devinit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

On 09-08-2012 18:38, Shubhrajyoti D wrote:

dma_controller_create is called only from musb_init_controller
which is __devint so annotate dma_controller_create also with
__devint.

fixes the warn

WARNING: vmlinux.o(.devinit.text+0x6fa8): Section mismatch in reference from the function musb_init_controller() to the function .init.text:dma_controller_create()
The function __devinit musb_init_controller() references
a function __init dma_controller_create().
If dma_controller_create is only used by musb_init_controller then
annotate dma_controller_create with a matching annotation.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@xxxxxx>
---

I wonder if this should be ported to 3.4+ stable kernels which contain the commit e9e8c85e69310141d78daaecd6a56138700ac317 (usb: musb: make modules behave better) which has triggered the warning above. Although, as DMA drivers still can only be built in-kernel, it's only the warning but not the actual oops. Felipe, what do you think?

  drivers/usb/musb/cppi_dma.c      |    2 +-
  drivers/usb/musb/musb_dma.h      |    2 +-
  drivers/usb/musb/musbhsdma.c     |    2 +-
  drivers/usb/musb/tusb6010_omap.c |    2 +-
  drivers/usb/musb/ux500_dma.c     |    2 +-
  5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index 8637c1f..e19da82 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -1316,7 +1316,7 @@ irqreturn_t cppi_interrupt(int irq, void *dev_id)
  }

  /* Instantiate a software object representing a DMA controller. */
-struct dma_controller *__init
+struct dma_controller *__devinit
  dma_controller_create(struct musb *musb, void __iomem *mregs)
  {
  	struct cppi		*controller;
diff --git a/drivers/usb/musb/musb_dma.h b/drivers/usb/musb/musb_dma.h
index 3a97c4e..24d3921 100644
--- a/drivers/usb/musb/musb_dma.h
+++ b/drivers/usb/musb/musb_dma.h
@@ -178,7 +178,7 @@ struct dma_controller {
  extern void musb_dma_completion(struct musb *musb, u8 epnum, u8 transmit);


-extern struct dma_controller *__init
+extern struct dma_controller *__devinit
  dma_controller_create(struct musb *, void __iomem *);

  extern void dma_controller_destroy(struct dma_controller *);
diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c
index 57a6085..444b9ee 100644
--- a/drivers/usb/musb/musbhsdma.c
+++ b/drivers/usb/musb/musbhsdma.c
@@ -380,7 +380,7 @@ void dma_controller_destroy(struct dma_controller *c)
  	kfree(controller);
  }

-struct dma_controller *__init
+struct dma_controller *__devinit
  dma_controller_create(struct musb *musb, void __iomem *base)
  {
  	struct musb_dma_controller *controller;
diff --git a/drivers/usb/musb/tusb6010_omap.c b/drivers/usb/musb/tusb6010_omap.c
index b67b4bc..53e2596 100644
--- a/drivers/usb/musb/tusb6010_omap.c
+++ b/drivers/usb/musb/tusb6010_omap.c
@@ -662,7 +662,7 @@ void dma_controller_destroy(struct dma_controller *c)
  	kfree(tusb_dma);
  }

-struct dma_controller *__init
+struct dma_controller *__devinit
  dma_controller_create(struct musb *musb, void __iomem *base)
  {
  	void __iomem		*tbase = musb->ctrl_base;
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
index d05c7fb..639d58e 100644
--- a/drivers/usb/musb/ux500_dma.c
+++ b/drivers/usb/musb/ux500_dma.c
@@ -364,7 +364,7 @@ void dma_controller_destroy(struct dma_controller *c)
  	kfree(controller);
  }

-struct dma_controller *__init
+struct dma_controller *__devinit
  dma_controller_create(struct musb *musb, void __iomem *base)
  {
  	struct ux500_dma_controller *controller;

WBR, Sergei


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux