Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6

* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
spi/spi_sh_msiof: fix a wrong free_irq() parameter
dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()

+9 -17
+2 -2
arch/microblaze/kernel/prom.c
··· 47 memblock_add(base, size); 48 } 49 50 - u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 51 { 52 - return memblock_alloc(size, align); 53 } 54 55 #ifdef CONFIG_EARLY_PRINTK
··· 47 memblock_add(base, size); 48 } 49 50 + void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 51 { 52 + return __va(memblock_alloc(size, align)); 53 } 54 55 #ifdef CONFIG_EARLY_PRINTK
+2 -4
arch/mips/kernel/prom.c
··· 45 return free_bootmem(addr, size); 46 } 47 48 - u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 49 { 50 - return virt_to_phys( 51 - __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS)) 52 - ); 53 } 54 55 #ifdef CONFIG_BLK_DEV_INITRD
··· 45 return free_bootmem(addr, size); 46 } 47 48 + void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 49 { 50 + return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS)); 51 } 52 53 #ifdef CONFIG_BLK_DEV_INITRD
+2 -2
arch/powerpc/kernel/prom.c
··· 519 memblock_add(base, size); 520 } 521 522 - u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 523 { 524 - return memblock_alloc(size, align); 525 } 526 527 #ifdef CONFIG_BLK_DEV_INITRD
··· 519 memblock_add(base, size); 520 } 521 522 + void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 523 { 524 + return __va(memblock_alloc(size, align)); 525 } 526 527 #ifdef CONFIG_BLK_DEV_INITRD
+1 -7
drivers/of/fdt.c
··· 692 return 1; 693 } 694 695 - static void *__init early_device_tree_alloc(u64 size, u64 align) 696 - { 697 - unsigned long mem = early_init_dt_alloc_memory_arch(size, align); 698 - return __va(mem); 699 - } 700 - 701 /** 702 * unflatten_device_tree - create tree of device_nodes from flat blob 703 * ··· 703 void __init unflatten_device_tree(void) 704 { 705 __unflatten_device_tree(initial_boot_params, &allnodes, 706 - early_device_tree_alloc); 707 708 /* Get pointer to OF "/chosen" node for use everywhere */ 709 of_chosen = of_find_node_by_path("/chosen");
··· 692 return 1; 693 } 694 695 /** 696 * unflatten_device_tree - create tree of device_nodes from flat blob 697 * ··· 709 void __init unflatten_device_tree(void) 710 { 711 __unflatten_device_tree(initial_boot_params, &allnodes, 712 + early_init_dt_alloc_memory_arch); 713 714 /* Get pointer to OF "/chosen" node for use everywhere */ 715 of_chosen = of_find_node_by_path("/chosen");
+1 -1
drivers/spi/spi_sh_msiof.c
··· 635 ret = spi_bitbang_stop(&p->bitbang); 636 if (!ret) { 637 pm_runtime_disable(&pdev->dev); 638 - free_irq(platform_get_irq(pdev, 0), sh_msiof_spi_irq); 639 iounmap(p->mapbase); 640 clk_put(p->clk); 641 spi_master_put(p->bitbang.master);
··· 635 ret = spi_bitbang_stop(&p->bitbang); 636 if (!ret) { 637 pm_runtime_disable(&pdev->dev); 638 + free_irq(platform_get_irq(pdev, 0), p); 639 iounmap(p->mapbase); 640 clk_put(p->clk); 641 spi_master_put(p->bitbang.master);
+1 -1
include/linux/of_fdt.h
··· 97 extern int early_init_dt_scan_memory(unsigned long node, const char *uname, 98 int depth, void *data); 99 extern void early_init_dt_add_memory_arch(u64 base, u64 size); 100 - extern u64 early_init_dt_alloc_memory_arch(u64 size, u64 align); 101 extern u64 dt_mem_next_cell(int s, __be32 **cellp); 102 103 /*
··· 97 extern int early_init_dt_scan_memory(unsigned long node, const char *uname, 98 int depth, void *data); 99 extern void early_init_dt_add_memory_arch(u64 base, u64 size); 100 + extern void * early_init_dt_alloc_memory_arch(u64 size, u64 align); 101 extern u64 dt_mem_next_cell(int s, __be32 **cellp); 102 103 /*