From: Linus Torvalds Date: Fri, 28 Oct 2011 19:02:27 +0000 (-0700) Subject: Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git... X-Git-Tag: firefly_0821_release~3680^2~4274 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1fdb24e969110fafea36d3b393bea438f702c87f;p=firefly-linux-kernel-4.4.55.git Merge branch 'devel-stable' of ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm * 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits) ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET ARM: gic, local timers: use the request_percpu_irq() interface ARM: gic: consolidate PPI handling ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H ARM: mach-s5p64x0: remove mach/memory.h ARM: mach-s3c64xx: remove mach/memory.h ARM: plat-mxc: remove mach/memory.h ARM: mach-prima2: remove mach/memory.h ARM: mach-zynq: remove mach/memory.h ARM: mach-bcmring: remove mach/memory.h ARM: mach-davinci: remove mach/memory.h ARM: mach-pxa: remove mach/memory.h ARM: mach-ixp4xx: remove mach/memory.h ARM: mach-h720x: remove mach/memory.h ARM: mach-vt8500: remove mach/memory.h ARM: mach-s5pc100: remove mach/memory.h ARM: mach-tegra: remove mach/memory.h ARM: plat-tcc: remove mach/memory.h ARM: mach-mmp: remove mach/memory.h ARM: mach-cns3xxx: remove mach/memory.h ... Fix up mostly pretty trivial conflicts in: - arch/arm/Kconfig - arch/arm/include/asm/localtimer.h - arch/arm/kernel/Makefile - arch/arm/mach-shmobile/board-ap4evb.c - arch/arm/mach-u300/core.c - arch/arm/mm/dma-mapping.c - arch/arm/mm/proc-v7.S - arch/arm/plat-omap/Kconfig largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP -> CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and addition of NEED_MACH_MEMORY_H next to HAVE_IDE. --- 1fdb24e969110fafea36d3b393bea438f702c87f diff --cc arch/arm/Kconfig index e91cec43f2c0,2686959319a0..5ca86e7ab66d --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@@ -211,11 -212,20 +212,24 @@@ config ARM_PATCH_PHYS_VIR this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. + config NEED_MACH_MEMORY_H + bool + help + Select this when mach/memory.h is required to provide special + definitions for this platform. The need for mach/memory.h should + be avoided when possible. + + config PHYS_OFFSET + hex "Physical address of main memory" + depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H + help + Please provide the physical address corresponding to the + location of main memory in your system. +config GENERIC_BUG + def_bool y + depends on BUG + source "init/Kconfig" source "kernel/Kconfig.freezer" @@@ -384,7 -400,7 +403,8 @@@ config ARCH_FOOTBRIDG select CPU_SA110 select FOOTBRIDGE select GENERIC_CLOCKEVENTS + select HAVE_IDE + select NEED_MACH_MEMORY_H help Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. @@@ -671,7 -692,7 +696,8 @@@ config ARCH_RP select NO_IOPORT select ARCH_SPARSEMEM_ENABLE select ARCH_USES_GETTIMEOFFSET + select HAVE_IDE + select NEED_MACH_MEMORY_H help On the Acorn Risc-PC, Linux can support the internal IDE disk and CD-ROM interface, serial and parallel port, and the floppy drive. @@@ -690,7 -711,7 +716,8 @@@ config ARCH_SA110 select HAVE_SCHED_CLOCK select TICK_ONESHOT select ARCH_REQUIRE_GPIOLIB + select HAVE_IDE + select NEED_MACH_MEMORY_H help Support for StrongARM 11x0 based boards. @@@ -836,7 -861,7 +866,8 @@@ config ARCH_U30 select CLKDEV_LOOKUP select HAVE_MACH_CLKDEV select GENERIC_GPIO + select ARCH_REQUIRE_GPIOLIB + select NEED_MACH_MEMORY_H help Support for ST-Ericsson U300 series mobile platforms. diff --cc arch/arm/include/asm/localtimer.h index 6fd955d34c65,f5e1cec7e35c..c6a18424888e --- a/arch/arm/include/asm/localtimer.h +++ b/arch/arm/include/asm/localtimer.h @@@ -10,7 -10,7 +10,8 @@@ #ifndef __ASM_ARM_LOCALTIMER_H #define __ASM_ARM_LOCALTIMER_H +#include + #include struct clock_event_device; diff --cc arch/arm/kernel/Makefile index 68036eece340,7cac26c5f502..16eed6aebfa4 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@@ -29,7 -29,7 +29,7 @@@ obj-$(CONFIG_MODULES) += armksyms.o mo obj-$(CONFIG_ARTHUR) += arthur.o obj-$(CONFIG_ISA_DMA) += dma-isa.o obj-$(CONFIG_PCI) += bios32.o isa.o - obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o -obj-$(CONFIG_PM_SLEEP) += sleep.o suspend.o ++obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o obj-$(CONFIG_SMP) += smp.o smp_tlb.o obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o diff --cc arch/arm/kernel/head.S index 239703dbdf4f,673c806cc106..566c54c2a1fe --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@@ -238,10 -234,10 +238,10 @@@ __create_page_tables * This allows debug messages to be output * via a serial console before paging_init. */ - addruart r7, r3 + addruart r7, r3, r0 - mov r3, r3, lsr #20 - mov r3, r3, lsl #2 + mov r3, r3, lsr #SECTION_SHIFT + mov r3, r3, lsl #PMD_ORDER add r0, r4, r3 rsb r3, r3, #0x4000 @ PTRS_PER_PGD*sizeof(long) diff --cc arch/arm/mach-exynos4/mct.c index ddd86864fb83,85a1bb79f11c..582b874aab0e --- a/arch/arm/mach-exynos4/mct.c +++ b/arch/arm/mach-exynos4/mct.c @@@ -395,16 -391,15 +397,17 @@@ static void exynos4_mct_tick_init(struc } /* Setup the local clock events for a CPU */ -void __cpuinit local_timer_setup(struct clock_event_device *evt) +int __cpuinit local_timer_setup(struct clock_event_device *evt) { exynos4_mct_tick_init(evt); + + return 0; } - int local_timer_ack(void) + void local_timer_stop(struct clock_event_device *evt) { - return 0; + evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt); + disable_irq(evt->irq); } #endif /* CONFIG_LOCAL_TIMERS */ diff --cc arch/arm/mach-shmobile/board-ap4evb.c index 7e90d064ebcb,b622d8d3ab72..5b7edadf4647 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c @@@ -42,7 -42,7 +42,8 @@@ #include #include #include +#include + #include #include #include diff --cc arch/arm/mach-u300/core.c index 24f3a96aac35,376b6dfdfae9..f4ad6d2e26f3 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c @@@ -25,8 -25,7 +25,9 @@@ #include #include #include +#include +#include + #include #include #include diff --cc arch/arm/mm/dma-mapping.c index 235eb775fc78,50be842e89fd..e4e7f6cba1ab --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@@ -117,14 -119,10 +119,9 @@@ static void __dma_free_buffer(struct pa } #ifdef CONFIG_MMU - /* Sanity check size */ - #if (CONSISTENT_DMA_SIZE % SZ_2M) - #error "CONSISTENT_DMA_SIZE must be multiple of 2MiB" - #endif - #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT) - #define CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PMD_SHIFT) - #define NUM_CONSISTENT_PTES (CONSISTENT_DMA_SIZE >> PMD_SHIFT) - + #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - consistent_base) >> PAGE_SHIFT) -#define CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - consistent_base) >> PGDIR_SHIFT) ++#define CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - consistent_base) >> PMD_SHIFT) /* * These are the page tables (2MB each) covering uncached, DMA consistent allocations diff --cc arch/arm/mm/proc-v7.S index 9591c8e9fb8c,6af366ce0165..2c559ac38142 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S @@@ -217,22 -217,20 +217,20 @@@ ENDPROC(cpu_v7_set_pte_ext /* Suspend/resume support: derived from arch/arm/mach-s5pv210/sleep.S */ .globl cpu_v7_suspend_size - .equ cpu_v7_suspend_size, 4 * 9 + .equ cpu_v7_suspend_size, 4 * 7 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_v7_do_suspend) - stmfd sp!, {r4 - r11, lr} + stmfd sp!, {r4 - r10, lr} mrc p15, 0, r4, c13, c0, 0 @ FCSE/PID - mrc p15, 0, r5, c13, c0, 1 @ Context ID - mrc p15, 0, r6, c13, c0, 3 @ User r/o thread ID - stmia r0!, {r4 - r6} + mrc p15, 0, r5, c13, c0, 3 @ User r/o thread ID + stmia r0!, {r4 - r5} mrc p15, 0, r6, c3, c0, 0 @ Domain ID - mrc p15, 0, r7, c2, c0, 0 @ TTB 0 - mrc p15, 0, r8, c2, c0, 1 @ TTB 1 - mrc p15, 0, r9, c1, c0, 0 @ Control register - mrc p15, 0, r10, c1, c0, 1 @ Auxiliary control register - mrc p15, 0, r11, c1, c0, 2 @ Co-processor access control - stmia r0, {r6 - r11} - ldmfd sp!, {r4 - r11, pc} + mrc p15, 0, r7, c2, c0, 1 @ TTB 1 + mrc p15, 0, r8, c1, c0, 0 @ Control register + mrc p15, 0, r9, c1, c0, 1 @ Auxiliary control register + mrc p15, 0, r10, c1, c0, 2 @ Co-processor access control + stmia r0, {r6 - r10} + ldmfd sp!, {r4 - r10, pc} ENDPROC(cpu_v7_do_suspend) ENTRY(cpu_v7_do_resume) diff --cc arch/arm/plat-omap/Kconfig index 5b605a9eb091,95732af7b208..6f4edd3408c2 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig @@@ -14,7 -14,7 +14,8 @@@ config ARCH_OMAP select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_IRQ_CHIP + select HAVE_IDE + select NEED_MACH_MEMORY_H help "Systems based on omap7xx, omap15xx or omap16xx"