2014-02-17 05:57:23

by Jiang Liu

[permalink] [raw]
Subject: [PATCH] IA64, sba_iommu: fix section mismatch

Fix the section mismatch warning by remove __init annotate for function
acpi_sba_ioc_add() because it may be called at runtime.

WARNING: vmlinux.o(.data+0x66ee0): Section mismatch in reference from the variable acpi_sba_ioc_handler to the function .init.text:acpi_sba_ioc_add()
The variable acpi_sba_ioc_handler references
the function __init acpi_sba_ioc_add()

Signed-off-by: Jiang Liu <[email protected]>
---
arch/ia64/hp/common/sba_iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index 8e858b5..c9d6f0b 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -2041,7 +2041,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
#define sba_map_ioc_to_node(ioc, handle)
#endif

-static int __init
+static int
acpi_sba_ioc_add(struct acpi_device *device,
const struct acpi_device_id *not_used)
{
--
1.7.10.4


2014-02-17 06:57:57

by Yijing Wang

[permalink] [raw]
Subject: Re: [PATCH] IA64, sba_iommu: fix section mismatch

> -static int __init
> +static int
> acpi_sba_ioc_add(struct acpi_device *device,
> const struct acpi_device_id *not_used)
> {
>

Hi Gerry,
ioc_init() and sba_map_ioc_to_node() in this function seems also have the __init annotate.


--
Thanks!
Yijing

2014-02-17 07:08:13

by Jiang Liu

[permalink] [raw]
Subject: Re: [PATCH] IA64, sba_iommu: fix section mismatch

Thanks for reminder, will send out v2.

On 2014/2/17 14:57, Yijing Wang wrote:
>> -static int __init
>> +static int
>> acpi_sba_ioc_add(struct acpi_device *device,
>> const struct acpi_device_id *not_used)
>> {
>>
>
> Hi Gerry,
> ioc_init() and sba_map_ioc_to_node() in this function seems also have the __init annotate.
>
>

2014-02-17 07:36:52

by Jiang Liu

[permalink] [raw]
Subject: [PATCH v2] IA64, sba_iommu: fix section mismatch

Fix the section mismatch warning by remove __init annotate for function
acpi_sba_ioc_add() because it may be called at runtime.

WARNING: vmlinux.o(.data+0x66ee0): Section mismatch in reference from the variable acpi_sba_ioc_handler to the function .init.text:acpi_sba_ioc_add()
The variable acpi_sba_ioc_handler references
the function __init acpi_sba_ioc_add()

Signed-off-by: Jiang Liu <[email protected]>
---
arch/ia64/hp/common/sba_iommu.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index 8e858b5..30c43d3 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -1596,7 +1596,7 @@ static void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist,
*
***************************************************************/

-static void __init
+static void
ioc_iova_init(struct ioc *ioc)
{
int tcnfg;
@@ -1807,7 +1807,7 @@ static struct ioc_iommu ioc_iommu_info[] __initdata = {
{ SX2000_IOC_ID, "sx2000", NULL },
};

-static struct ioc * __init
+static struct ioc *
ioc_init(unsigned long hpa, void *handle)
{
struct ioc *ioc;
@@ -2041,7 +2041,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
#define sba_map_ioc_to_node(ioc, handle)
#endif

-static int __init
+static int
acpi_sba_ioc_add(struct acpi_device *device,
const struct acpi_device_id *not_used)
{
--
1.7.10.4