diff mbox

[1/1] PCI: exynos: Fix section mismatch warning

Message ID 1401270525-27139-1-git-send-email-sachin.kamat@linaro.org
State Accepted
Headers show

Commit Message

Sachin Kamat May 28, 2014, 9:48 a.m. UTC
add_pcie_port is called from probe which is annotated with __init.
add_pcie_port calls dw_pcie_host_init which is also annotated with
__init. Thus it makes sense to annotate add_pcie_port with __init
to avoid the following section mismatch warning:

WARNING: drivers/pci/built-in.o(.text.unlikely+0xf8): Section mismatch in reference from the function add_pcie_port() to the function .init.text:dw_pcie_host_init()
   The function add_pcie_port() references
   the function __init dw_pcie_host_init().
   This is often because add_pcie_port lacks a __init
   annotation or the annotation of dw_pcie_host_init is wrong.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/pci/host/pci-exynos.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jingoo Han May 29, 2014, 6:08 a.m. UTC | #1
On Wednesday, May 28, 2014 6:49 PM, Sachin Kamat wrote:
> 
> add_pcie_port is called from probe which is annotated with __init.
> add_pcie_port calls dw_pcie_host_init which is also annotated with
> __init. Thus it makes sense to annotate add_pcie_port with __init
> to avoid the following section mismatch warning:
> 
> WARNING: drivers/pci/built-in.o(.text.unlikely+0xf8): Section mismatch in reference from the function
> add_pcie_port() to the function .init.text:dw_pcie_host_init()
>    The function add_pcie_port() references
>    the function __init dw_pcie_host_init().
>    This is often because add_pcie_port lacks a __init
>    annotation or the annotation of dw_pcie_host_init is wrong.
> 
> Reported-by: kbuild test robot <fengguang.wu@intel.com>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>

Acked-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han

> ---
>  drivers/pci/host/pci-exynos.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c
> index 3de6bfbbe8e9..3c1ff89829ec 100644
> --- a/drivers/pci/host/pci-exynos.c
> +++ b/drivers/pci/host/pci-exynos.c
> @@ -511,7 +511,8 @@ static struct pcie_host_ops exynos_pcie_host_ops = {
>  	.host_init = exynos_pcie_host_init,
>  };
> 
> -static int add_pcie_port(struct pcie_port *pp, struct platform_device *pdev)
> +static int __init add_pcie_port(struct pcie_port *pp,
> +				struct platform_device *pdev)
>  {
>  	int ret;
> 
> --
> 1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjorn Helgaas May 29, 2014, 10:19 p.m. UTC | #2
On Wed, May 28, 2014 at 03:18:45PM +0530, Sachin Kamat wrote:
> add_pcie_port is called from probe which is annotated with __init.
> add_pcie_port calls dw_pcie_host_init which is also annotated with
> __init. Thus it makes sense to annotate add_pcie_port with __init
> to avoid the following section mismatch warning:
> 
> WARNING: drivers/pci/built-in.o(.text.unlikely+0xf8): Section mismatch in reference from the function add_pcie_port() to the function .init.text:dw_pcie_host_init()
>    The function add_pcie_port() references
>    the function __init dw_pcie_host_init().
>    This is often because add_pcie_port lacks a __init
>    annotation or the annotation of dw_pcie_host_init is wrong.
> 
> Reported-by: kbuild test robot <fengguang.wu@intel.com>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>

Applied with Jingoo's ack to pci/host-exynos for v3.16, thanks!

> ---
>  drivers/pci/host/pci-exynos.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c
> index 3de6bfbbe8e9..3c1ff89829ec 100644
> --- a/drivers/pci/host/pci-exynos.c
> +++ b/drivers/pci/host/pci-exynos.c
> @@ -511,7 +511,8 @@ static struct pcie_host_ops exynos_pcie_host_ops = {
>  	.host_init = exynos_pcie_host_init,
>  };
>  
> -static int add_pcie_port(struct pcie_port *pp, struct platform_device *pdev)
> +static int __init add_pcie_port(struct pcie_port *pp,
> +				struct platform_device *pdev)
>  {
>  	int ret;
>  
> -- 
> 1.7.9.5
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c
index 3de6bfbbe8e9..3c1ff89829ec 100644
--- a/drivers/pci/host/pci-exynos.c
+++ b/drivers/pci/host/pci-exynos.c
@@ -511,7 +511,8 @@  static struct pcie_host_ops exynos_pcie_host_ops = {
 	.host_init = exynos_pcie_host_init,
 };
 
-static int add_pcie_port(struct pcie_port *pp, struct platform_device *pdev)
+static int __init add_pcie_port(struct pcie_port *pp,
+				struct platform_device *pdev)
 {
 	int ret;