diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-07-09 16:34:25 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-07-09 16:34:25 -0400 |
commit | f974a8ec96571535ee07880a023bcce0e3f2c76b (patch) | |
tree | 5cf09207b1ad292a55275cd0b24999fa29b9dfe8 /include/asm-arm | |
parent | c0b8556f2f8146bd38324b14b1ce00f249ba8ed9 (diff) | |
parent | 4ed47896935573c8423d05bddda3f269d6e6c613 (diff) |
Merge branch 'machtypes' into pxa-palm
Diffstat (limited to 'include/asm-arm')
-rw-r--r-- | include/asm-arm/arch-at91/io.h | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/board-palmte.h | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/clock.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/entry-macro.S | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/gpio.h | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/hardware.h | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/mfp-pxa27x.h | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/pxa2xx-gpio.h | 9 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/regs-lcd.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-sa1100/collie.h | 4 | ||||
-rw-r--r-- | include/asm-arm/page.h | 4 | ||||
-rw-r--r-- | include/asm-arm/pgtable-nommu.h | 1 | ||||
-rw-r--r-- | include/asm-arm/spinlock.h | 2 | ||||
-rw-r--r-- | include/asm-arm/system.h | 29 |
14 files changed, 42 insertions, 25 deletions
diff --git a/include/asm-arm/arch-at91/io.h b/include/asm-arm/arch-at91/io.h index 80073fd36b8e..f8beaa228467 100644 --- a/include/asm-arm/arch-at91/io.h +++ b/include/asm-arm/arch-at91/io.h | |||
@@ -21,8 +21,6 @@ | |||
21 | #ifndef __ASM_ARCH_IO_H | 21 | #ifndef __ASM_ARCH_IO_H |
22 | #define __ASM_ARCH_IO_H | 22 | #define __ASM_ARCH_IO_H |
23 | 23 | ||
24 | #include <asm/io.h> | ||
25 | |||
26 | #define IO_SPACE_LIMIT 0xFFFFFFFF | 24 | #define IO_SPACE_LIMIT 0xFFFFFFFF |
27 | 25 | ||
28 | #define __io(a) ((void __iomem *)(a)) | 26 | #define __io(a) ((void __iomem *)(a)) |
diff --git a/include/asm-arm/arch-omap/board-palmte.h b/include/asm-arm/arch-omap/board-palmte.h index cd22035a7160..6fac2c8935be 100644 --- a/include/asm-arm/arch-omap/board-palmte.h +++ b/include/asm-arm/arch-omap/board-palmte.h | |||
@@ -14,8 +14,6 @@ | |||
14 | #ifndef __OMAP_BOARD_PALMTE_H | 14 | #ifndef __OMAP_BOARD_PALMTE_H |
15 | #define __OMAP_BOARD_PALMTE_H | 15 | #define __OMAP_BOARD_PALMTE_H |
16 | 16 | ||
17 | #include <asm/arch/gpio.h> | ||
18 | |||
19 | #define PALMTE_USBDETECT_GPIO 0 | 17 | #define PALMTE_USBDETECT_GPIO 0 |
20 | #define PALMTE_USB_OR_DC_GPIO 1 | 18 | #define PALMTE_USB_OR_DC_GPIO 1 |
21 | #define PALMTE_TSC_GPIO 4 | 19 | #define PALMTE_TSC_GPIO 4 |
diff --git a/include/asm-arm/arch-omap/clock.h b/include/asm-arm/arch-omap/clock.h index 57523bdb642b..12a5e4de9518 100644 --- a/include/asm-arm/arch-omap/clock.h +++ b/include/asm-arm/arch-omap/clock.h | |||
@@ -73,6 +73,8 @@ struct clk { | |||
73 | #endif | 73 | #endif |
74 | }; | 74 | }; |
75 | 75 | ||
76 | struct cpufreq_frequency_table; | ||
77 | |||
76 | struct clk_functions { | 78 | struct clk_functions { |
77 | int (*clk_enable)(struct clk *clk); | 79 | int (*clk_enable)(struct clk *clk); |
78 | void (*clk_disable)(struct clk *clk); | 80 | void (*clk_disable)(struct clk *clk); |
@@ -83,6 +85,9 @@ struct clk_functions { | |||
83 | void (*clk_allow_idle)(struct clk *clk); | 85 | void (*clk_allow_idle)(struct clk *clk); |
84 | void (*clk_deny_idle)(struct clk *clk); | 86 | void (*clk_deny_idle)(struct clk *clk); |
85 | void (*clk_disable_unused)(struct clk *clk); | 87 | void (*clk_disable_unused)(struct clk *clk); |
88 | #ifdef CONFIG_CPU_FREQ | ||
89 | void (*clk_init_cpufreq_table)(struct cpufreq_frequency_table **); | ||
90 | #endif | ||
86 | }; | 91 | }; |
87 | 92 | ||
88 | extern unsigned int mpurate; | 93 | extern unsigned int mpurate; |
diff --git a/include/asm-arm/arch-omap/entry-macro.S b/include/asm-arm/arch-omap/entry-macro.S index 74cd57221c8e..369093a45fcf 100644 --- a/include/asm-arm/arch-omap/entry-macro.S +++ b/include/asm-arm/arch-omap/entry-macro.S | |||
@@ -8,6 +8,7 @@ | |||
8 | * warranty of any kind, whether express or implied. | 8 | * warranty of any kind, whether express or implied. |
9 | */ | 9 | */ |
10 | #include <asm/hardware.h> | 10 | #include <asm/hardware.h> |
11 | #include <asm/arch/io.h> | ||
11 | #include <asm/arch/irqs.h> | 12 | #include <asm/arch/irqs.h> |
12 | 13 | ||
13 | #if defined(CONFIG_ARCH_OMAP1) | 14 | #if defined(CONFIG_ARCH_OMAP1) |
diff --git a/include/asm-arm/arch-omap/gpio.h b/include/asm-arm/arch-omap/gpio.h index 86621a04cd8f..5ee6a49864c3 100644 --- a/include/asm-arm/arch-omap/gpio.h +++ b/include/asm-arm/arch-omap/gpio.h | |||
@@ -26,7 +26,6 @@ | |||
26 | #ifndef __ASM_ARCH_OMAP_GPIO_H | 26 | #ifndef __ASM_ARCH_OMAP_GPIO_H |
27 | #define __ASM_ARCH_OMAP_GPIO_H | 27 | #define __ASM_ARCH_OMAP_GPIO_H |
28 | 28 | ||
29 | #include <asm/hardware.h> | ||
30 | #include <asm/arch/irqs.h> | 29 | #include <asm/arch/irqs.h> |
31 | #include <asm/io.h> | 30 | #include <asm/io.h> |
32 | 31 | ||
diff --git a/include/asm-arm/arch-omap/hardware.h b/include/asm-arm/arch-omap/hardware.h index da572092e255..91d85b3417b7 100644 --- a/include/asm-arm/arch-omap/hardware.h +++ b/include/asm-arm/arch-omap/hardware.h | |||
@@ -41,7 +41,6 @@ | |||
41 | #include <asm/types.h> | 41 | #include <asm/types.h> |
42 | #include <asm/arch/cpu.h> | 42 | #include <asm/arch/cpu.h> |
43 | #endif | 43 | #endif |
44 | #include <asm/arch/io.h> | ||
45 | #include <asm/arch/serial.h> | 44 | #include <asm/arch/serial.h> |
46 | 45 | ||
47 | /* | 46 | /* |
diff --git a/include/asm-arm/arch-pxa/mfp-pxa27x.h b/include/asm-arm/arch-pxa/mfp-pxa27x.h index eb6eaa174f8d..bc73ab84167c 100644 --- a/include/asm-arm/arch-pxa/mfp-pxa27x.h +++ b/include/asm-arm/arch-pxa/mfp-pxa27x.h | |||
@@ -112,6 +112,7 @@ | |||
112 | #define GPIO57_nIOIS16 MFP_CFG_IN(GPIO57, AF1) | 112 | #define GPIO57_nIOIS16 MFP_CFG_IN(GPIO57, AF1) |
113 | #define GPIO56_nPWAIT MFP_CFG_IN(GPIO56, AF1) | 113 | #define GPIO56_nPWAIT MFP_CFG_IN(GPIO56, AF1) |
114 | #define GPIO79_PSKTSEL MFP_CFG_OUT(GPIO79, AF1, DRIVE_HIGH) | 114 | #define GPIO79_PSKTSEL MFP_CFG_OUT(GPIO79, AF1, DRIVE_HIGH) |
115 | #define GPIO104_PSKTSEL MFP_CFG_OUT(GPIO104, AF1, DRIVE_HIGH) | ||
115 | 116 | ||
116 | /* I2C */ | 117 | /* I2C */ |
117 | #define GPIO117_I2C_SCL MFP_CFG_IN(GPIO117, AF1) | 118 | #define GPIO117_I2C_SCL MFP_CFG_IN(GPIO117, AF1) |
diff --git a/include/asm-arm/arch-pxa/pxa2xx-gpio.h b/include/asm-arm/arch-pxa/pxa2xx-gpio.h index a6e60f691617..6ef1dd09970b 100644 --- a/include/asm-arm/arch-pxa/pxa2xx-gpio.h +++ b/include/asm-arm/arch-pxa/pxa2xx-gpio.h | |||
@@ -136,7 +136,11 @@ | |||
136 | #define GPIO93_CIF_DD_6 93 /* Camera data pin 6 */ | 136 | #define GPIO93_CIF_DD_6 93 /* Camera data pin 6 */ |
137 | #define GPIO94_CIF_DD_5 94 /* Camera data pin 5 */ | 137 | #define GPIO94_CIF_DD_5 94 /* Camera data pin 5 */ |
138 | #define GPIO95_CIF_DD_4 95 /* Camera data pin 4 */ | 138 | #define GPIO95_CIF_DD_4 95 /* Camera data pin 4 */ |
139 | #define GPIO96_FFRXD 96 /* FFUART recieve */ | ||
140 | #define GPIO98_FFRTS 98 /* FFUART request to send */ | ||
139 | #define GPIO98_CIF_DD_0 98 /* Camera data pin 0 */ | 141 | #define GPIO98_CIF_DD_0 98 /* Camera data pin 0 */ |
142 | #define GPIO99_FFTXD 99 /* FFUART transmit data */ | ||
143 | #define GPIO100_FFCTS 100 /* FFUART Clear to send */ | ||
140 | #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */ | 144 | #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */ |
141 | #define GPIO103_CIF_DD_3 103 /* Camera data pin 3 */ | 145 | #define GPIO103_CIF_DD_3 103 /* Camera data pin 3 */ |
142 | #define GPIO104_CIF_DD_2 104 /* Camera data pin 2 */ | 146 | #define GPIO104_CIF_DD_2 104 /* Camera data pin 2 */ |
@@ -318,6 +322,8 @@ | |||
318 | #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT) | 322 | #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT) |
319 | #define GPIO85_CIF_LV_MD (85 | GPIO_ALT_FN_3_IN) | 323 | #define GPIO85_CIF_LV_MD (85 | GPIO_ALT_FN_3_IN) |
320 | #define GPIO86_nPCE_1_MD (86 | GPIO_ALT_FN_1_OUT) | 324 | #define GPIO86_nPCE_1_MD (86 | GPIO_ALT_FN_1_OUT) |
325 | #define GPIO88_USBH1_PWR_MD (88 | GPIO_ALT_FN_1_IN) | ||
326 | #define GPIO89_USBH1_PEN_MD (89 | GPIO_ALT_FN_2_OUT) | ||
321 | #define GPIO90_CIF_DD_4_MD (90 | GPIO_ALT_FN_3_IN) | 327 | #define GPIO90_CIF_DD_4_MD (90 | GPIO_ALT_FN_3_IN) |
322 | #define GPIO91_CIF_DD_5_MD (91 | GPIO_ALT_FN_3_IN) | 328 | #define GPIO91_CIF_DD_5_MD (91 | GPIO_ALT_FN_3_IN) |
323 | #define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT) | 329 | #define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT) |
@@ -326,8 +332,11 @@ | |||
326 | #define GPIO95_CIF_DD_4_MD (95 | GPIO_ALT_FN_2_IN) | 332 | #define GPIO95_CIF_DD_4_MD (95 | GPIO_ALT_FN_2_IN) |
327 | #define GPIO95_KP_MKIN6_MD (95 | GPIO_ALT_FN_3_IN) | 333 | #define GPIO95_KP_MKIN6_MD (95 | GPIO_ALT_FN_3_IN) |
328 | #define GPIO96_KP_DKIN3_MD (96 | GPIO_ALT_FN_1_IN) | 334 | #define GPIO96_KP_DKIN3_MD (96 | GPIO_ALT_FN_1_IN) |
335 | #define GPIO96_FFRXD_MD (96 | GPIO_ALT_FN_3_IN) | ||
329 | #define GPIO97_KP_MKIN3_MD (97 | GPIO_ALT_FN_3_IN) | 336 | #define GPIO97_KP_MKIN3_MD (97 | GPIO_ALT_FN_3_IN) |
330 | #define GPIO98_CIF_DD_0_MD (98 | GPIO_ALT_FN_2_IN) | 337 | #define GPIO98_CIF_DD_0_MD (98 | GPIO_ALT_FN_2_IN) |
338 | #define GPIO98_FFRTS_MD (98 | GPIO_ALT_FN_3_OUT) | ||
339 | #define GPIO99_FFTXD_MD (99 | GPIO_ALT_FN_3_OUT) | ||
331 | #define GPIO100_KP_MKIN0_MD (100 | GPIO_ALT_FN_1_IN) | 340 | #define GPIO100_KP_MKIN0_MD (100 | GPIO_ALT_FN_1_IN) |
332 | #define GPIO101_KP_MKIN1_MD (101 | GPIO_ALT_FN_1_IN) | 341 | #define GPIO101_KP_MKIN1_MD (101 | GPIO_ALT_FN_1_IN) |
333 | #define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT) | 342 | #define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT) |
diff --git a/include/asm-arm/arch-pxa/regs-lcd.h b/include/asm-arm/arch-pxa/regs-lcd.h index f762493f5141..3ba464c913a5 100644 --- a/include/asm-arm/arch-pxa/regs-lcd.h +++ b/include/asm-arm/arch-pxa/regs-lcd.h | |||
@@ -1,5 +1,8 @@ | |||
1 | #ifndef __ASM_ARCH_REGS_LCD_H | 1 | #ifndef __ASM_ARCH_REGS_LCD_H |
2 | #define __ASM_ARCH_REGS_LCD_H | 2 | #define __ASM_ARCH_REGS_LCD_H |
3 | |||
4 | #include <asm/arch/bitfield.h> | ||
5 | |||
3 | /* | 6 | /* |
4 | * LCD Controller Registers and Bits Definitions | 7 | * LCD Controller Registers and Bits Definitions |
5 | */ | 8 | */ |
@@ -69,7 +72,7 @@ | |||
69 | #define LCCR0_QDM (1 << 11) /* LCD Quick Disable mask */ | 72 | #define LCCR0_QDM (1 << 11) /* LCD Quick Disable mask */ |
70 | #define LCCR0_PDD (0xff << 12) /* Palette DMA request delay */ | 73 | #define LCCR0_PDD (0xff << 12) /* Palette DMA request delay */ |
71 | #define LCCR0_PDD_S 12 | 74 | #define LCCR0_PDD_S 12 |
72 | #define LCCR0_BM (1 << 20) /* Branch mask */ | 75 | #define LCCR0_BM (1 << 20) /* Branch mask */ |
73 | #define LCCR0_OUM (1 << 21) /* Output FIFO underrun mask */ | 76 | #define LCCR0_OUM (1 << 21) /* Output FIFO underrun mask */ |
74 | #define LCCR0_LCDT (1 << 22) /* LCD panel type */ | 77 | #define LCCR0_LCDT (1 << 22) /* LCD panel type */ |
75 | #define LCCR0_RDSTM (1 << 23) /* Read status interrupt mask */ | 78 | #define LCCR0_RDSTM (1 << 23) /* Read status interrupt mask */ |
diff --git a/include/asm-arm/arch-sa1100/collie.h b/include/asm-arm/arch-sa1100/collie.h index 14a344aa3cc7..762eba535813 100644 --- a/include/asm-arm/arch-sa1100/collie.h +++ b/include/asm-arm/arch-sa1100/collie.h | |||
@@ -34,9 +34,12 @@ | |||
34 | 34 | ||
35 | #define COLLIE_GPIO_ON_KEY GPIO_GPIO (0) | 35 | #define COLLIE_GPIO_ON_KEY GPIO_GPIO (0) |
36 | #define COLLIE_GPIO_AC_IN GPIO_GPIO (1) | 36 | #define COLLIE_GPIO_AC_IN GPIO_GPIO (1) |
37 | #define COLLIE_GPIO_SDIO_INT GPIO_GPIO (11) | ||
37 | #define COLLIE_GPIO_CF_IRQ GPIO_GPIO (14) | 38 | #define COLLIE_GPIO_CF_IRQ GPIO_GPIO (14) |
38 | #define COLLIE_GPIO_nREMOCON_INT GPIO_GPIO (15) | 39 | #define COLLIE_GPIO_nREMOCON_INT GPIO_GPIO (15) |
39 | #define COLLIE_GPIO_UCB1x00_RESET GPIO_GPIO (16) | 40 | #define COLLIE_GPIO_UCB1x00_RESET GPIO_GPIO (16) |
41 | #define COLLIE_GPIO_nMIC_ON GPIO_GPIO (17) | ||
42 | #define COLLIE_GPIO_nREMOCON_ON GPIO_GPIO (18) | ||
40 | #define COLLIE_GPIO_CO GPIO_GPIO (20) | 43 | #define COLLIE_GPIO_CO GPIO_GPIO (20) |
41 | #define COLLIE_GPIO_MCP_CLK GPIO_GPIO (21) | 44 | #define COLLIE_GPIO_MCP_CLK GPIO_GPIO (21) |
42 | #define COLLIE_GPIO_CF_CD GPIO_GPIO (22) | 45 | #define COLLIE_GPIO_CF_CD GPIO_GPIO (22) |
@@ -49,6 +52,7 @@ | |||
49 | 52 | ||
50 | #define COLLIE_IRQ_GPIO_ON_KEY IRQ_GPIO0 | 53 | #define COLLIE_IRQ_GPIO_ON_KEY IRQ_GPIO0 |
51 | #define COLLIE_IRQ_GPIO_AC_IN IRQ_GPIO1 | 54 | #define COLLIE_IRQ_GPIO_AC_IN IRQ_GPIO1 |
55 | #define COLLIE_IRQ_GPIO_SDIO_IRQ IRQ_GPIO11 | ||
52 | #define COLLIE_IRQ_GPIO_CF_IRQ IRQ_GPIO14 | 56 | #define COLLIE_IRQ_GPIO_CF_IRQ IRQ_GPIO14 |
53 | #define COLLIE_IRQ_GPIO_nREMOCON_INT IRQ_GPIO15 | 57 | #define COLLIE_IRQ_GPIO_nREMOCON_INT IRQ_GPIO15 |
54 | #define COLLIE_IRQ_GPIO_CO IRQ_GPIO20 | 58 | #define COLLIE_IRQ_GPIO_CO IRQ_GPIO20 |
diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h index 5c22b0112106..8e05bdb5f12f 100644 --- a/include/asm-arm/page.h +++ b/include/asm-arm/page.h | |||
@@ -179,10 +179,10 @@ typedef unsigned long pgprot_t; | |||
179 | 179 | ||
180 | #endif /* STRICT_MM_TYPECHECKS */ | 180 | #endif /* STRICT_MM_TYPECHECKS */ |
181 | 181 | ||
182 | typedef struct page *pgtable_t; | ||
183 | |||
184 | #endif /* CONFIG_MMU */ | 182 | #endif /* CONFIG_MMU */ |
185 | 183 | ||
184 | typedef struct page *pgtable_t; | ||
185 | |||
186 | #include <asm/memory.h> | 186 | #include <asm/memory.h> |
187 | 187 | ||
188 | #endif /* !__ASSEMBLY__ */ | 188 | #endif /* !__ASSEMBLY__ */ |
diff --git a/include/asm-arm/pgtable-nommu.h b/include/asm-arm/pgtable-nommu.h index 2e5868bbe03b..386fcc10a973 100644 --- a/include/asm-arm/pgtable-nommu.h +++ b/include/asm-arm/pgtable-nommu.h | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
17 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
18 | #include <asm/page.h> | 18 | #include <asm/page.h> |
19 | #include <asm/io.h> | ||
20 | 19 | ||
21 | /* | 20 | /* |
22 | * Trivial page table functions. | 21 | * Trivial page table functions. |
diff --git a/include/asm-arm/spinlock.h b/include/asm-arm/spinlock.h index 800ba5254daf..2b41ebbfa7ff 100644 --- a/include/asm-arm/spinlock.h +++ b/include/asm-arm/spinlock.h | |||
@@ -142,7 +142,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) | |||
142 | } | 142 | } |
143 | 143 | ||
144 | /* write_can_lock - would write_trylock() succeed? */ | 144 | /* write_can_lock - would write_trylock() succeed? */ |
145 | #define __raw_write_can_lock(x) ((x)->lock == 0x80000000) | 145 | #define __raw_write_can_lock(x) ((x)->lock == 0) |
146 | 146 | ||
147 | /* | 147 | /* |
148 | * Read locks are a bit more hairy: | 148 | * Read locks are a bit more hairy: |
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index 6335de9a2bb3..514af792a598 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -48,20 +48,6 @@ | |||
48 | #define CPUID_TCM 2 | 48 | #define CPUID_TCM 2 |
49 | #define CPUID_TLBTYPE 3 | 49 | #define CPUID_TLBTYPE 3 |
50 | 50 | ||
51 | #ifdef CONFIG_CPU_CP15 | ||
52 | #define read_cpuid(reg) \ | ||
53 | ({ \ | ||
54 | unsigned int __val; \ | ||
55 | asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \ | ||
56 | : "=r" (__val) \ | ||
57 | : \ | ||
58 | : "cc"); \ | ||
59 | __val; \ | ||
60 | }) | ||
61 | #else | ||
62 | #define read_cpuid(reg) (processor_id) | ||
63 | #endif | ||
64 | |||
65 | /* | 51 | /* |
66 | * This is used to ensure the compiler did actually allocate the register we | 52 | * This is used to ensure the compiler did actually allocate the register we |
67 | * asked it for some inline assembly sequences. Apparently we can't trust | 53 | * asked it for some inline assembly sequences. Apparently we can't trust |
@@ -78,6 +64,21 @@ | |||
78 | #include <linux/stringify.h> | 64 | #include <linux/stringify.h> |
79 | #include <linux/irqflags.h> | 65 | #include <linux/irqflags.h> |
80 | 66 | ||
67 | #ifdef CONFIG_CPU_CP15 | ||
68 | #define read_cpuid(reg) \ | ||
69 | ({ \ | ||
70 | unsigned int __val; \ | ||
71 | asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \ | ||
72 | : "=r" (__val) \ | ||
73 | : \ | ||
74 | : "cc"); \ | ||
75 | __val; \ | ||
76 | }) | ||
77 | #else | ||
78 | extern unsigned int processor_id; | ||
79 | #define read_cpuid(reg) (processor_id) | ||
80 | #endif | ||
81 | |||
81 | /* | 82 | /* |
82 | * The CPU ID never changes at run time, so we might as well tell the | 83 | * The CPU ID never changes at run time, so we might as well tell the |
83 | * compiler that it's constant. Use this function to read the CPU ID | 84 | * compiler that it's constant. Use this function to read the CPU ID |