Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
"Another set of small fixes for ARM, covering various areas.

Laura fixed a long standing issue with virt_addr_valid() failing to
handle holes in memory. Steve found a problem with dcache flushing
for compound pages. I fixed another bug in footbridge stuff causing
time to tick slowly, and also a problem with the AES code which can
cause linker errors.

A patch from Rob which fixes Xen problems induced by a lack of
consistency in our naming of ioremap_cache() - which thankfully has
very few users"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 7933/1: rename ioremap_cached to ioremap_cache
ARM: fix "bad mode in ... handler" message for undefined instructions
CRYPTO: Fix more AES build errors
ARM: 7931/1: Correct virt_addr_valid
ARM: 7923/1: mm: fix dcache flush logic for compound high pages
ARM: fix footbridge clockevent device

+20 -12
+1 -1
arch/arm/crypto/aesbs-core.S_shipped
··· 58 58 # define VFP_ABI_FRAME 0 59 59 # define BSAES_ASM_EXTENDED_KEY 60 60 # define XTS_CHAIN_TWEAK 61 - # define __ARM_ARCH__ __LINUX_ARM_ARCH__ 61 + # define __ARM_ARCH__ 7 62 62 #endif 63 63 64 64 #ifdef __thumb__
+1 -1
arch/arm/crypto/bsaes-armv7.pl
··· 701 701 # define VFP_ABI_FRAME 0 702 702 # define BSAES_ASM_EXTENDED_KEY 703 703 # define XTS_CHAIN_TWEAK 704 - # define __ARM_ARCH__ __LINUX_ARM_ARCH__ 704 + # define __ARM_ARCH__ 7 705 705 #endif 706 706 707 707 #ifdef __thumb__
+1 -1
arch/arm/include/asm/io.h
··· 329 329 */ 330 330 #define ioremap(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) 331 331 #define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) 332 - #define ioremap_cached(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED) 332 + #define ioremap_cache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED) 333 333 #define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC) 334 334 #define iounmap __arm_iounmap 335 335
+2 -1
arch/arm/include/asm/memory.h
··· 347 347 #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET 348 348 349 349 #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) 350 - #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) 350 + #define virt_addr_valid(kaddr) (((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) \ 351 + && pfn_valid(__pa(kaddr) >> PAGE_SHIFT) ) 351 352 352 353 #endif 353 354
+1 -1
arch/arm/include/asm/xen/page.h
··· 117 117 return __set_phys_to_machine(pfn, mfn); 118 118 } 119 119 120 - #define xen_remap(cookie, size) ioremap_cached((cookie), (size)); 120 + #define xen_remap(cookie, size) ioremap_cache((cookie), (size)); 121 121 122 122 #endif /* _ASM_ARM_XEN_PAGE_H */
+7 -1
arch/arm/kernel/traps.c
··· 36 36 #include <asm/system_misc.h> 37 37 #include <asm/opcodes.h> 38 38 39 - static const char *handler[]= { "prefetch abort", "data abort", "address exception", "interrupt" }; 39 + static const char *handler[]= { 40 + "prefetch abort", 41 + "data abort", 42 + "address exception", 43 + "interrupt", 44 + "undefined instruction", 45 + }; 40 46 41 47 void *vectors_page; 42 48
+3 -2
arch/arm/mach-footbridge/dc21285-timer.c
··· 96 96 void __init footbridge_timer_init(void) 97 97 { 98 98 struct clock_event_device *ce = &ckevt_dc21285; 99 + unsigned rate = DIV_ROUND_CLOSEST(mem_fclk_21285, 16); 99 100 100 - clocksource_register_hz(&cksrc_dc21285, (mem_fclk_21285 + 8) / 16); 101 + clocksource_register_hz(&cksrc_dc21285, rate); 101 102 102 103 setup_irq(ce->irq, &footbridge_timer_irq); 103 104 104 105 ce->cpumask = cpumask_of(smp_processor_id()); 105 - clockevents_config_and_register(ce, mem_fclk_21285, 0x4, 0xffffff); 106 + clockevents_config_and_register(ce, rate, 0x4, 0xffffff); 106 107 }
+3 -3
arch/arm/mm/flush.c
··· 175 175 unsigned long i; 176 176 if (cache_is_vipt_nonaliasing()) { 177 177 for (i = 0; i < (1 << compound_order(page)); i++) { 178 - void *addr = kmap_atomic(page); 178 + void *addr = kmap_atomic(page + i); 179 179 __cpuc_flush_dcache_area(addr, PAGE_SIZE); 180 180 kunmap_atomic(addr); 181 181 } 182 182 } else { 183 183 for (i = 0; i < (1 << compound_order(page)); i++) { 184 - void *addr = kmap_high_get(page); 184 + void *addr = kmap_high_get(page + i); 185 185 if (addr) { 186 186 __cpuc_flush_dcache_area(addr, PAGE_SIZE); 187 - kunmap_high(page); 187 + kunmap_high(page + i); 188 188 } 189 189 } 190 190 }
+1 -1
drivers/mtd/maps/pxa2xx-flash.c
··· 73 73 return -ENOMEM; 74 74 } 75 75 info->map.cached = 76 - ioremap_cached(info->map.phys, info->map.size); 76 + ioremap_cache(info->map.phys, info->map.size); 77 77 if (!info->map.cached) 78 78 printk(KERN_WARNING "Failed to ioremap cached %s\n", 79 79 info->map.name);