diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-29 18:18:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-29 18:18:44 -0500 |
commit | b73384f06159d8388d7d17913b7e3a07e234c1ab (patch) | |
tree | a904d01d583bdb7190cdb0e7da1c4b59bef45248 | |
parent | c9e71002aacc9821e99531dcc130db88bbc8ad05 (diff) | |
parent | d862ccc570c875e1454fc57ed00f5a1081985b26 (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4843/1: Add GCR_CLKBPB for PXA3xx
[ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_*
[ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite
[ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base
[ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF
[ARM] eliminate MODULE_PARM() usage
[ARM] 4838/1: Fix kexec for SA1100 machines
[ARM] 4837/1: make __get_unaligned_*() return unsigned types
[ARM] 4836/1: Make ATAGS_PROC depend on KEXEC
-rw-r--r-- | arch/arm/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-pxa/cpu-pxa.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-pxa/zylonite.c | 2 | ||||
-rw-r--r-- | arch/arm/mm/mmap.c | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/entry-macro.S | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/pxa-regs.h | 3 | ||||
-rw-r--r-- | include/asm-arm/kexec.h | 2 | ||||
-rw-r--r-- | include/asm-arm/unaligned.h | 8 |
9 files changed, 15 insertions, 17 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 9619c43783ff..16b82e1272b0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -939,7 +939,8 @@ config KEXEC | |||
939 | 939 | ||
940 | config ATAGS_PROC | 940 | config ATAGS_PROC |
941 | bool "Export atags in procfs" | 941 | bool "Export atags in procfs" |
942 | default n | 942 | depends on KEXEC |
943 | default y | ||
943 | help | 944 | help |
944 | Should the atags used to boot the kernel be exported in an "atags" | 945 | Should the atags used to boot the kernel be exported in an "atags" |
945 | file in procfs. Useful with kexec. | 946 | file in procfs. Useful with kexec. |
diff --git a/arch/arm/mach-pxa/cpu-pxa.c b/arch/arm/mach-pxa/cpu-pxa.c index 939a3867f77c..4b21479332ae 100644 --- a/arch/arm/mach-pxa/cpu-pxa.c +++ b/arch/arm/mach-pxa/cpu-pxa.c | |||
@@ -43,7 +43,7 @@ | |||
43 | 43 | ||
44 | #ifdef DEBUG | 44 | #ifdef DEBUG |
45 | static unsigned int freq_debug; | 45 | static unsigned int freq_debug; |
46 | MODULE_PARM(freq_debug, "i"); | 46 | module_param(freq_debug, uint, 0); |
47 | MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0"); | 47 | MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0"); |
48 | #else | 48 | #else |
49 | #define freq_debug 0 | 49 | #define freq_debug 0 |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 7cd9ef8deb02..35f25fdaeba3 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -129,28 +129,20 @@ static void clk_pxa3xx_cken_enable(struct clk *clk) | |||
129 | { | 129 | { |
130 | unsigned long mask = 1ul << (clk->cken & 0x1f); | 130 | unsigned long mask = 1ul << (clk->cken & 0x1f); |
131 | 131 | ||
132 | local_irq_disable(); | ||
133 | |||
134 | if (clk->cken < 32) | 132 | if (clk->cken < 32) |
135 | CKENA |= mask; | 133 | CKENA |= mask; |
136 | else | 134 | else |
137 | CKENB |= mask; | 135 | CKENB |= mask; |
138 | |||
139 | local_irq_enable(); | ||
140 | } | 136 | } |
141 | 137 | ||
142 | static void clk_pxa3xx_cken_disable(struct clk *clk) | 138 | static void clk_pxa3xx_cken_disable(struct clk *clk) |
143 | { | 139 | { |
144 | unsigned long mask = 1ul << (clk->cken & 0x1f); | 140 | unsigned long mask = 1ul << (clk->cken & 0x1f); |
145 | 141 | ||
146 | local_irq_disable(); | ||
147 | |||
148 | if (clk->cken < 32) | 142 | if (clk->cken < 32) |
149 | CKENA &= ~mask; | 143 | CKENA &= ~mask; |
150 | else | 144 | else |
151 | CKENB &= ~mask; | 145 | CKENB &= ~mask; |
152 | |||
153 | local_irq_enable(); | ||
154 | } | 146 | } |
155 | 147 | ||
156 | static const struct clkops clk_pxa3xx_cken_ops = { | 148 | static const struct clkops clk_pxa3xx_cken_ops = { |
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index 7731d50dd86c..afd2cbfca0d9 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -58,7 +58,7 @@ static struct platform_device smc91x_device = { | |||
58 | .resource = smc91x_resources, | 58 | .resource = smc91x_resources, |
59 | }; | 59 | }; |
60 | 60 | ||
61 | #if defined(CONFIG_FB_PXA) || (CONFIG_FB_PXA_MODULES) | 61 | #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) |
62 | static void zylonite_backlight_power(int on) | 62 | static void zylonite_backlight_power(int on) |
63 | { | 63 | { |
64 | gpio_set_value(gpio_backlight, on); | 64 | gpio_set_value(gpio_backlight, on); |
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index 2728b0e7d2bb..3f6dc40b8353 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c | |||
@@ -120,6 +120,8 @@ full_search: | |||
120 | */ | 120 | */ |
121 | int valid_phys_addr_range(unsigned long addr, size_t size) | 121 | int valid_phys_addr_range(unsigned long addr, size_t size) |
122 | { | 122 | { |
123 | if (addr < PHYS_OFFSET) | ||
124 | return 0; | ||
123 | if (addr + size > __pa(high_memory)) | 125 | if (addr + size > __pa(high_memory)) |
124 | return 0; | 126 | return 0; |
125 | 127 | ||
diff --git a/include/asm-arm/arch-pxa/entry-macro.S b/include/asm-arm/arch-pxa/entry-macro.S index b7e730851461..c145bb01bc8f 100644 --- a/include/asm-arm/arch-pxa/entry-macro.S +++ b/include/asm-arm/arch-pxa/entry-macro.S | |||
@@ -35,7 +35,7 @@ | |||
35 | 1004: | 35 | 1004: |
36 | mrc p6, 0, \irqstat, c6, c0, 0 @ ICIP2 | 36 | mrc p6, 0, \irqstat, c6, c0, 0 @ ICIP2 |
37 | mrc p6, 0, \irqnr, c7, c0, 0 @ ICMR2 | 37 | mrc p6, 0, \irqnr, c7, c0, 0 @ ICMR2 |
38 | ands \irqstat, \irqstat, \irqnr | 38 | ands \irqnr, \irqstat, \irqnr |
39 | beq 1003f | 39 | beq 1003f |
40 | rsb \irqstat, \irqnr, #0 | 40 | rsb \irqstat, \irqnr, #0 |
41 | and \irqstat, \irqstat, \irqnr | 41 | and \irqstat, \irqstat, \irqnr |
diff --git a/include/asm-arm/arch-pxa/pxa-regs.h b/include/asm-arm/arch-pxa/pxa-regs.h index ac175b4d10cb..2357a73340d4 100644 --- a/include/asm-arm/arch-pxa/pxa-regs.h +++ b/include/asm-arm/arch-pxa/pxa-regs.h | |||
@@ -520,6 +520,9 @@ | |||
520 | #define MCCR_FSRIE (1 << 1) /* FIFO Service Request Interrupt Enable */ | 520 | #define MCCR_FSRIE (1 << 1) /* FIFO Service Request Interrupt Enable */ |
521 | 521 | ||
522 | #define GCR __REG(0x4050000C) /* Global Control Register */ | 522 | #define GCR __REG(0x4050000C) /* Global Control Register */ |
523 | #ifdef CONFIG_PXA3xx | ||
524 | #define GCR_CLKBPB (1 << 31) /* Internal clock enable */ | ||
525 | #endif | ||
523 | #define GCR_nDMAEN (1 << 24) /* non DMA Enable */ | 526 | #define GCR_nDMAEN (1 << 24) /* non DMA Enable */ |
524 | #define GCR_CDONE_IE (1 << 19) /* Command Done Interrupt Enable */ | 527 | #define GCR_CDONE_IE (1 << 19) /* Command Done Interrupt Enable */ |
525 | #define GCR_SDONE_IE (1 << 18) /* Status Done Interrupt Enable */ | 528 | #define GCR_SDONE_IE (1 << 18) /* Status Done Interrupt Enable */ |
diff --git a/include/asm-arm/kexec.h b/include/asm-arm/kexec.h index 1ee17b6951d0..47fe34d692da 100644 --- a/include/asm-arm/kexec.h +++ b/include/asm-arm/kexec.h | |||
@@ -8,7 +8,7 @@ | |||
8 | /* Maximum address we can reach in physical address mode */ | 8 | /* Maximum address we can reach in physical address mode */ |
9 | #define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL) | 9 | #define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL) |
10 | /* Maximum address we can use for the control code buffer */ | 10 | /* Maximum address we can use for the control code buffer */ |
11 | #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE | 11 | #define KEXEC_CONTROL_MEMORY_LIMIT (-1UL) |
12 | 12 | ||
13 | #define KEXEC_CONTROL_CODE_SIZE 4096 | 13 | #define KEXEC_CONTROL_CODE_SIZE 4096 |
14 | 14 | ||
diff --git a/include/asm-arm/unaligned.h b/include/asm-arm/unaligned.h index 8431f6eed5c6..5db03cf3b905 100644 --- a/include/asm-arm/unaligned.h +++ b/include/asm-arm/unaligned.h | |||
@@ -40,16 +40,16 @@ extern int __bug_unaligned_x(const void *ptr); | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | #define __get_unaligned_2_le(__p) \ | 42 | #define __get_unaligned_2_le(__p) \ |
43 | (__p[0] | __p[1] << 8) | 43 | (unsigned int)(__p[0] | __p[1] << 8) |
44 | 44 | ||
45 | #define __get_unaligned_2_be(__p) \ | 45 | #define __get_unaligned_2_be(__p) \ |
46 | (__p[0] << 8 | __p[1]) | 46 | (unsigned int)(__p[0] << 8 | __p[1]) |
47 | 47 | ||
48 | #define __get_unaligned_4_le(__p) \ | 48 | #define __get_unaligned_4_le(__p) \ |
49 | (__p[0] | __p[1] << 8 | __p[2] << 16 | __p[3] << 24) | 49 | (unsigned int)(__p[0] | __p[1] << 8 | __p[2] << 16 | __p[3] << 24) |
50 | 50 | ||
51 | #define __get_unaligned_4_be(__p) \ | 51 | #define __get_unaligned_4_be(__p) \ |
52 | (__p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3]) | 52 | (unsigned int)(__p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3]) |
53 | 53 | ||
54 | #define __get_unaligned_8_le(__p) \ | 54 | #define __get_unaligned_8_le(__p) \ |
55 | ((unsigned long long)__get_unaligned_4_le((__p+4)) << 32 | \ | 55 | ((unsigned long long)__get_unaligned_4_le((__p+4)) << 32 | \ |