Re: linux-next: build warning after merge of the final tree (tip tree related)

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

 



On 10/11/2010 12:00 PM, H. Peter Anvin wrote:
> On 10/11/2010 10:09 AM, Yinghai Lu wrote:
>>
>> make all functions in memblock.c without __init to carry __init_memblock.
>>
>>  
>> -static phys_addr_t __init memblock_find_region(phys_addr_t start, phys_addr_t end,
>> +static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_addr_t end,
>>  					  phys_addr_t size, phys_addr_t align)
>>  
>> -static int memblock_search(struct memblock_type *type, phys_addr_t addr)
>> +static int __init_memblock memblock_search(struct memblock_type *type, phys_addr_t addr)
>>  
> 
> Your patch description doesn't match what your patch does.  Please write
> a correct description.

please check

[PATCH -v2] x86: Fix section mismatch with memblock_find_region()

Stephen found

WARNING: mm/built-in.o(.text+0x25ab8): Section mismatch in reference from the function memblock_find_base() to the function .init.text:memblock_find_region()
The function memblock_find_base() references
the function __init memblock_find_region().
This is often because memblock_find_base lacks a __init 
annotation or the annotation of memblock_find_region is wrong.

So let memblock_find_region() to use __init_memblock insteaf of __init directly.

Also make left function that doesn't have __init* to carry  __init_memblock.

Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

---
 mm/memblock.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/mm/memblock.c
===================================================================
--- linux-2.6.orig/mm/memblock.c
+++ linux-2.6/mm/memblock.c
@@ -99,7 +99,7 @@ long __init_memblock memblock_overlaps_r
  * are top-down.
  */
 
-static phys_addr_t __init memblock_find_region(phys_addr_t start, phys_addr_t end,
+static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_addr_t end,
 					  phys_addr_t size, phys_addr_t align)
 {
 	phys_addr_t base, res_base;
@@ -653,7 +653,7 @@ void __init memblock_enforce_memory_limi
 	}
 }
 
-static int memblock_search(struct memblock_type *type, phys_addr_t addr)
+static int __init_memblock memblock_search(struct memblock_type *type, phys_addr_t addr)
 {
 	unsigned int left = 0, right = type->cnt;
 
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux