diff options
Diffstat (limited to 'arch')
28 files changed, 495 insertions, 99 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4c33ca82f9b1..184a6bd54825 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -702,6 +702,7 @@ config ARCH_OMAP | |||
702 | select ARCH_HAS_CPUFREQ | 702 | select ARCH_HAS_CPUFREQ |
703 | select GENERIC_TIME | 703 | select GENERIC_TIME |
704 | select GENERIC_CLOCKEVENTS | 704 | select GENERIC_CLOCKEVENTS |
705 | select ARCH_HAS_HOLES_MEMORYMODEL | ||
705 | help | 706 | help |
706 | Support for TI's OMAP platform (OMAP1 and OMAP2). | 707 | Support for TI's OMAP platform (OMAP1 and OMAP2). |
707 | 708 | ||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 9e7582572741..356d702c0808 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -94,7 +94,7 @@ CFLAGS_ABI +=-funwind-tables | |||
94 | endif | 94 | endif |
95 | 95 | ||
96 | ifeq ($(CONFIG_THUMB2_KERNEL),y) | 96 | ifeq ($(CONFIG_THUMB2_KERNEL),y) |
97 | AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=thumb,-Wa$(comma)-mauto-it) | 97 | AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it) |
98 | AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W) | 98 | AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W) |
99 | CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) | 99 | CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN) |
100 | AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb | 100 | AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb |
diff --git a/arch/arm/mach-mx25/clock.c b/arch/arm/mach-mx25/clock.c index 6e838b857712..6acc88bcdc40 100644 --- a/arch/arm/mach-mx25/clock.c +++ b/arch/arm/mach-mx25/clock.c | |||
@@ -119,6 +119,11 @@ static unsigned long get_rate_nfc(struct clk *clk) | |||
119 | return get_rate_per(8); | 119 | return get_rate_per(8); |
120 | } | 120 | } |
121 | 121 | ||
122 | static unsigned long get_rate_gpt(struct clk *clk) | ||
123 | { | ||
124 | return get_rate_per(5); | ||
125 | } | ||
126 | |||
122 | static unsigned long get_rate_otg(struct clk *clk) | 127 | static unsigned long get_rate_otg(struct clk *clk) |
123 | { | 128 | { |
124 | return 48000000; /* FIXME */ | 129 | return 48000000; /* FIXME */ |
@@ -144,7 +149,7 @@ static void clk_cgcr_disable(struct clk *clk) | |||
144 | __raw_writel(reg, clk->enable_reg); | 149 | __raw_writel(reg, clk->enable_reg); |
145 | } | 150 | } |
146 | 151 | ||
147 | #define DEFINE_CLOCK(name, i, er, es, gr, sr) \ | 152 | #define DEFINE_CLOCK(name, i, er, es, gr, sr, s) \ |
148 | static struct clk name = { \ | 153 | static struct clk name = { \ |
149 | .id = i, \ | 154 | .id = i, \ |
150 | .enable_reg = CRM_BASE + er, \ | 155 | .enable_reg = CRM_BASE + er, \ |
@@ -153,27 +158,30 @@ static void clk_cgcr_disable(struct clk *clk) | |||
153 | .set_rate = sr, \ | 158 | .set_rate = sr, \ |
154 | .enable = clk_cgcr_enable, \ | 159 | .enable = clk_cgcr_enable, \ |
155 | .disable = clk_cgcr_disable, \ | 160 | .disable = clk_cgcr_disable, \ |
161 | .secondary = s, \ | ||
156 | } | 162 | } |
157 | 163 | ||
158 | DEFINE_CLOCK(gpt_clk, 0, CCM_CGCR0, 5, get_rate_ipg, NULL); | 164 | DEFINE_CLOCK(gpt_clk, 0, CCM_CGCR0, 5, get_rate_gpt, NULL, NULL); |
159 | DEFINE_CLOCK(cspi1_clk, 0, CCM_CGCR1, 5, get_rate_ipg, NULL); | 165 | DEFINE_CLOCK(uart_per_clk, 0, CCM_CGCR0, 15, get_rate_uart, NULL, NULL); |
160 | DEFINE_CLOCK(cspi2_clk, 0, CCM_CGCR1, 6, get_rate_ipg, NULL); | 166 | DEFINE_CLOCK(cspi1_clk, 0, CCM_CGCR1, 5, get_rate_ipg, NULL, NULL); |
161 | DEFINE_CLOCK(cspi3_clk, 0, CCM_CGCR1, 7, get_rate_ipg, NULL); | 167 | DEFINE_CLOCK(cspi2_clk, 0, CCM_CGCR1, 6, get_rate_ipg, NULL, NULL); |
162 | DEFINE_CLOCK(uart1_clk, 0, CCM_CGCR2, 14, get_rate_uart, NULL); | 168 | DEFINE_CLOCK(cspi3_clk, 0, CCM_CGCR1, 7, get_rate_ipg, NULL, NULL); |
163 | DEFINE_CLOCK(uart2_clk, 0, CCM_CGCR2, 15, get_rate_uart, NULL); | 169 | DEFINE_CLOCK(fec_ahb_clk, 0, CCM_CGCR0, 23, NULL, NULL, NULL); |
164 | DEFINE_CLOCK(uart3_clk, 0, CCM_CGCR2, 16, get_rate_uart, NULL); | 170 | DEFINE_CLOCK(uart1_clk, 0, CCM_CGCR2, 14, get_rate_uart, NULL, &uart_per_clk); |
165 | DEFINE_CLOCK(uart4_clk, 0, CCM_CGCR2, 17, get_rate_uart, NULL); | 171 | DEFINE_CLOCK(uart2_clk, 0, CCM_CGCR2, 15, get_rate_uart, NULL, &uart_per_clk); |
166 | DEFINE_CLOCK(uart5_clk, 0, CCM_CGCR2, 18, get_rate_uart, NULL); | 172 | DEFINE_CLOCK(uart3_clk, 0, CCM_CGCR2, 16, get_rate_uart, NULL, &uart_per_clk); |
167 | DEFINE_CLOCK(nfc_clk, 0, CCM_CGCR0, 8, get_rate_nfc, NULL); | 173 | DEFINE_CLOCK(uart4_clk, 0, CCM_CGCR2, 17, get_rate_uart, NULL, &uart_per_clk); |
168 | DEFINE_CLOCK(usbotg_clk, 0, CCM_CGCR0, 28, get_rate_otg, NULL); | 174 | DEFINE_CLOCK(uart5_clk, 0, CCM_CGCR2, 18, get_rate_uart, NULL, &uart_per_clk); |
169 | DEFINE_CLOCK(pwm1_clk, 0, CCM_CGCR1, 31, get_rate_ipg, NULL); | 175 | DEFINE_CLOCK(nfc_clk, 0, CCM_CGCR0, 8, get_rate_nfc, NULL, NULL); |
170 | DEFINE_CLOCK(pwm2_clk, 0, CCM_CGCR2, 0, get_rate_ipg, NULL); | 176 | DEFINE_CLOCK(usbotg_clk, 0, CCM_CGCR0, 28, get_rate_otg, NULL, NULL); |
171 | DEFINE_CLOCK(pwm3_clk, 0, CCM_CGCR2, 1, get_rate_ipg, NULL); | 177 | DEFINE_CLOCK(pwm1_clk, 0, CCM_CGCR1, 31, get_rate_ipg, NULL, NULL); |
172 | DEFINE_CLOCK(pwm4_clk, 0, CCM_CGCR2, 2, get_rate_ipg, NULL); | 178 | DEFINE_CLOCK(pwm2_clk, 0, CCM_CGCR2, 0, get_rate_ipg, NULL, NULL); |
173 | DEFINE_CLOCK(kpp_clk, 0, CCM_CGCR1, 28, get_rate_ipg, NULL); | 179 | DEFINE_CLOCK(pwm3_clk, 0, CCM_CGCR2, 1, get_rate_ipg, NULL, NULL); |
174 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL); | 180 | DEFINE_CLOCK(pwm4_clk, 0, CCM_CGCR2, 2, get_rate_ipg, NULL, NULL); |
175 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL); | 181 | DEFINE_CLOCK(kpp_clk, 0, CCM_CGCR1, 28, get_rate_ipg, NULL, NULL); |
176 | DEFINE_CLOCK(fec_clk, 0, CCM_CGCR0, 23, get_rate_ipg, NULL); | 182 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL, NULL); |
183 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL, NULL); | ||
184 | DEFINE_CLOCK(fec_clk, 0, CCM_CGCR1, 15, get_rate_ipg, NULL, &fec_ahb_clk); | ||
177 | 185 | ||
178 | #define _REGISTER_CLOCK(d, n, c) \ | 186 | #define _REGISTER_CLOCK(d, n, c) \ |
179 | { \ | 187 | { \ |
@@ -208,13 +216,21 @@ static struct clk_lookup lookups[] = { | |||
208 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 216 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) |
209 | }; | 217 | }; |
210 | 218 | ||
211 | int __init mx25_clocks_init(unsigned long fref) | 219 | int __init mx25_clocks_init(void) |
212 | { | 220 | { |
213 | int i; | 221 | int i; |
214 | 222 | ||
215 | for (i = 0; i < ARRAY_SIZE(lookups); i++) | 223 | for (i = 0; i < ARRAY_SIZE(lookups); i++) |
216 | clkdev_add(&lookups[i]); | 224 | clkdev_add(&lookups[i]); |
217 | 225 | ||
226 | /* Turn off all clocks except the ones we need to survive, namely: | ||
227 | * EMI, GPIO1-3 (CCM_CGCR1[18:16]), GPT1, IOMUXC (CCM_CGCR1[27]), IIM, | ||
228 | * SCC | ||
229 | */ | ||
230 | __raw_writel((1 << 19), CRM_BASE + CCM_CGCR0); | ||
231 | __raw_writel((0xf << 16) | (3 << 26), CRM_BASE + CCM_CGCR1); | ||
232 | __raw_writel((1 << 5), CRM_BASE + CCM_CGCR2); | ||
233 | |||
218 | mxc_timer_init(&gpt_clk, MX25_IO_ADDRESS(MX25_GPT1_BASE_ADDR), 54); | 234 | mxc_timer_init(&gpt_clk, MX25_IO_ADDRESS(MX25_GPT1_BASE_ADDR), 54); |
219 | 235 | ||
220 | return 0; | 236 | return 0; |
diff --git a/arch/arm/mach-mx25/mx25pdk.c b/arch/arm/mach-mx25/mx25pdk.c index 921bc99ea231..6f06089246eb 100644 --- a/arch/arm/mach-mx25/mx25pdk.c +++ b/arch/arm/mach-mx25/mx25pdk.c | |||
@@ -91,7 +91,7 @@ static void __init mx25pdk_init(void) | |||
91 | 91 | ||
92 | static void __init mx25pdk_timer_init(void) | 92 | static void __init mx25pdk_timer_init(void) |
93 | { | 93 | { |
94 | mx25_clocks_init(26000000); | 94 | mx25_clocks_init(); |
95 | } | 95 | } |
96 | 96 | ||
97 | static struct sys_timer mx25pdk_timer = { | 97 | static struct sys_timer mx25pdk_timer = { |
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index 3e7bafa2ddbb..938c549767dc 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c | |||
@@ -173,6 +173,7 @@ static void expio_unmask_irq(u32 irq) | |||
173 | } | 173 | } |
174 | 174 | ||
175 | static struct irq_chip expio_irq_chip = { | 175 | static struct irq_chip expio_irq_chip = { |
176 | .name = "EXPIO(CPLD)", | ||
176 | .ack = expio_ack_irq, | 177 | .ack = expio_ack_irq, |
177 | .mask = expio_mask_irq, | 178 | .mask = expio_mask_irq, |
178 | .unmask = expio_unmask_irq, | 179 | .unmask = expio_unmask_irq, |
@@ -302,6 +303,7 @@ static struct regulator_init_data ldo1_data = { | |||
302 | .min_uV = 2800000, | 303 | .min_uV = 2800000, |
303 | .max_uV = 2800000, | 304 | .max_uV = 2800000, |
304 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | 305 | .valid_modes_mask = REGULATOR_MODE_NORMAL, |
306 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
305 | .apply_uV = 1, | 307 | .apply_uV = 1, |
306 | }, | 308 | }, |
307 | }; | 309 | }; |
@@ -322,6 +324,7 @@ static struct regulator_init_data ldo2_data = { | |||
322 | .min_uV = 3300000, | 324 | .min_uV = 3300000, |
323 | .max_uV = 3300000, | 325 | .max_uV = 3300000, |
324 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | 326 | .valid_modes_mask = REGULATOR_MODE_NORMAL, |
327 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
325 | .apply_uV = 1, | 328 | .apply_uV = 1, |
326 | }, | 329 | }, |
327 | .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers), | 330 | .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers), |
@@ -459,6 +462,7 @@ static int mx31_wm8350_init(struct wm8350 *wm8350) | |||
459 | 462 | ||
460 | static struct wm8350_platform_data __initdata mx31_wm8350_pdata = { | 463 | static struct wm8350_platform_data __initdata mx31_wm8350_pdata = { |
461 | .init = mx31_wm8350_init, | 464 | .init = mx31_wm8350_init, |
465 | .irq_base = MXC_BOARD_IRQ_START + MXC_MAX_EXP_IO_LINES, | ||
462 | }; | 466 | }; |
463 | #endif | 467 | #endif |
464 | 468 | ||
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 3f1334f62e7a..7027cdc1ba49 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -505,7 +505,7 @@ static void __init gpmc_mem_init(void) | |||
505 | void __init gpmc_init(void) | 505 | void __init gpmc_init(void) |
506 | { | 506 | { |
507 | u32 l; | 507 | u32 l; |
508 | char *ck; | 508 | char *ck = NULL; |
509 | 509 | ||
510 | if (cpu_is_omap24xx()) { | 510 | if (cpu_is_omap24xx()) { |
511 | ck = "core_l3_ck"; | 511 | ck = "core_l3_ck"; |
@@ -521,6 +521,9 @@ void __init gpmc_init(void) | |||
521 | l = OMAP44XX_GPMC_BASE; | 521 | l = OMAP44XX_GPMC_BASE; |
522 | } | 522 | } |
523 | 523 | ||
524 | if (WARN_ON(!ck)) | ||
525 | return; | ||
526 | |||
524 | gpmc_l3_clk = clk_get(NULL, ck); | 527 | gpmc_l3_clk = clk_get(NULL, ck); |
525 | if (IS_ERR(gpmc_l3_clk)) { | 528 | if (IS_ERR(gpmc_l3_clk)) { |
526 | printk(KERN_ERR "Could not get GPMC clock %s\n", ck); | 529 | printk(KERN_ERR "Could not get GPMC clock %s\n", ck); |
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index 27054025da2b..26aeef560aa3 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c | |||
@@ -194,7 +194,7 @@ void __init omap_init_irq(void) | |||
194 | int i; | 194 | int i; |
195 | 195 | ||
196 | for (i = 0; i < ARRAY_SIZE(irq_banks); i++) { | 196 | for (i = 0; i < ARRAY_SIZE(irq_banks); i++) { |
197 | unsigned long base; | 197 | unsigned long base = 0; |
198 | struct omap_irq_bank *bank = irq_banks + i; | 198 | struct omap_irq_bank *bank = irq_banks + i; |
199 | 199 | ||
200 | if (cpu_is_omap24xx()) | 200 | if (cpu_is_omap24xx()) |
@@ -202,6 +202,8 @@ void __init omap_init_irq(void) | |||
202 | else if (cpu_is_omap34xx()) | 202 | else if (cpu_is_omap34xx()) |
203 | base = OMAP34XX_IC_BASE; | 203 | base = OMAP34XX_IC_BASE; |
204 | 204 | ||
205 | BUG_ON(!base); | ||
206 | |||
205 | /* Static mapping, never released */ | 207 | /* Static mapping, never released */ |
206 | bank->base_reg = ioremap(base, SZ_4K); | 208 | bank->base_reg = ioremap(base, SZ_4K); |
207 | if (!bank->base_reg) { | 209 | if (!bank->base_reg) { |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 3f59bd12cbbf..5fedc50c58e4 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -486,7 +486,7 @@ int __init omap_mux_init_signal(char *muxname, int val) | |||
486 | static inline void omap_mux_decode(struct seq_file *s, u16 val) | 486 | static inline void omap_mux_decode(struct seq_file *s, u16 val) |
487 | { | 487 | { |
488 | char *flags[OMAP_MUX_MAX_NR_FLAGS]; | 488 | char *flags[OMAP_MUX_MAX_NR_FLAGS]; |
489 | char mode[14]; | 489 | char mode[sizeof("OMAP_MUX_MODE") + 1]; |
490 | int i = -1; | 490 | int i = -1; |
491 | 491 | ||
492 | sprintf(mode, "OMAP_MUX_MODE%d", val & 0x7); | 492 | sprintf(mode, "OMAP_MUX_MODE%d", val & 0x7); |
@@ -553,6 +553,7 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused) | |||
553 | if (!m0_name) | 553 | if (!m0_name) |
554 | continue; | 554 | continue; |
555 | 555 | ||
556 | /* REVISIT: Needs to be updated if mode0 names get longer */ | ||
556 | for (i = 0; i < OMAP_MUX_DEFNAME_LEN; i++) { | 557 | for (i = 0; i < OMAP_MUX_DEFNAME_LEN; i++) { |
557 | if (m0_name[i] == '\0') { | 558 | if (m0_name[i] == '\0') { |
558 | m0_def[i] = m0_name[i]; | 559 | m0_def[i] = m0_name[i]; |
@@ -968,6 +969,13 @@ static void __init omap_mux_init_list(struct omap_mux *superset) | |||
968 | } | 969 | } |
969 | #endif | 970 | #endif |
970 | 971 | ||
972 | #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) | ||
973 | if (!superset->muxnames || !superset->muxnames[0]) { | ||
974 | superset++; | ||
975 | continue; | ||
976 | } | ||
977 | #endif | ||
978 | |||
971 | entry = omap_mux_list_add(superset); | 979 | entry = omap_mux_list_add(superset); |
972 | if (!entry) { | 980 | if (!entry) { |
973 | printk(KERN_ERR "mux: Could not add entry\n"); | 981 | printk(KERN_ERR "mux: Could not add entry\n"); |
diff --git a/arch/arm/mach-omap2/mux34xx.c b/arch/arm/mach-omap2/mux34xx.c index 68e0a595f9a1..07aa7b3c95f7 100644 --- a/arch/arm/mach-omap2/mux34xx.c +++ b/arch/arm/mach-omap2/mux34xx.c | |||
@@ -649,6 +649,53 @@ static struct omap_mux __initdata omap3_muxmodes[] = { | |||
649 | _OMAP3_MUXENTRY(UART3_TX_IRTX, 166, | 649 | _OMAP3_MUXENTRY(UART3_TX_IRTX, 166, |
650 | "uart3_tx_irtx", NULL, NULL, NULL, | 650 | "uart3_tx_irtx", NULL, NULL, NULL, |
651 | "gpio_166", NULL, NULL, "safe_mode"), | 651 | "gpio_166", NULL, NULL, "safe_mode"), |
652 | |||
653 | /* Only on 3630, see omap36xx_cbp_subset for the signals */ | ||
654 | _OMAP3_MUXENTRY(GPMC_A11, 0, | ||
655 | NULL, NULL, NULL, NULL, | ||
656 | NULL, NULL, NULL, NULL), | ||
657 | _OMAP3_MUXENTRY(SAD2D_MBUSFLAG, 0, | ||
658 | NULL, NULL, NULL, NULL, | ||
659 | NULL, NULL, NULL, NULL), | ||
660 | _OMAP3_MUXENTRY(SAD2D_MREAD, 0, | ||
661 | NULL, NULL, NULL, NULL, | ||
662 | NULL, NULL, NULL, NULL), | ||
663 | _OMAP3_MUXENTRY(SAD2D_MWRITE, 0, | ||
664 | NULL, NULL, NULL, NULL, | ||
665 | NULL, NULL, NULL, NULL), | ||
666 | _OMAP3_MUXENTRY(SAD2D_SBUSFLAG, 0, | ||
667 | NULL, NULL, NULL, NULL, | ||
668 | NULL, NULL, NULL, NULL), | ||
669 | _OMAP3_MUXENTRY(SAD2D_SREAD, 0, | ||
670 | NULL, NULL, NULL, NULL, | ||
671 | NULL, NULL, NULL, NULL), | ||
672 | _OMAP3_MUXENTRY(SAD2D_SWRITE, 0, | ||
673 | NULL, NULL, NULL, NULL, | ||
674 | NULL, NULL, NULL, NULL), | ||
675 | _OMAP3_MUXENTRY(GPMC_A11, 0, | ||
676 | NULL, NULL, NULL, NULL, | ||
677 | NULL, NULL, NULL, NULL), | ||
678 | _OMAP3_MUXENTRY(SAD2D_MCAD28, 0, | ||
679 | NULL, NULL, NULL, NULL, | ||
680 | NULL, NULL, NULL, NULL), | ||
681 | _OMAP3_MUXENTRY(SAD2D_MCAD29, 0, | ||
682 | NULL, NULL, NULL, NULL, | ||
683 | NULL, NULL, NULL, NULL), | ||
684 | _OMAP3_MUXENTRY(SAD2D_MCAD32, 0, | ||
685 | NULL, NULL, NULL, NULL, | ||
686 | NULL, NULL, NULL, NULL), | ||
687 | _OMAP3_MUXENTRY(SAD2D_MCAD33, 0, | ||
688 | NULL, NULL, NULL, NULL, | ||
689 | NULL, NULL, NULL, NULL), | ||
690 | _OMAP3_MUXENTRY(SAD2D_MCAD34, 0, | ||
691 | NULL, NULL, NULL, NULL, | ||
692 | NULL, NULL, NULL, NULL), | ||
693 | _OMAP3_MUXENTRY(SAD2D_MCAD35, 0, | ||
694 | NULL, NULL, NULL, NULL, | ||
695 | NULL, NULL, NULL, NULL), | ||
696 | _OMAP3_MUXENTRY(SAD2D_MCAD36, 0, | ||
697 | NULL, NULL, NULL, NULL, | ||
698 | NULL, NULL, NULL, NULL), | ||
652 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 699 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
653 | }; | 700 | }; |
654 | 701 | ||
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 8c964bec8159..e10a02df6e1d 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -36,7 +36,13 @@ | |||
36 | #define UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV 0x52 | 36 | #define UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV 0x52 |
37 | #define UART_OMAP_WER 0x17 /* Wake-up enable register */ | 37 | #define UART_OMAP_WER 0x17 /* Wake-up enable register */ |
38 | 38 | ||
39 | #define DEFAULT_TIMEOUT (5 * HZ) | 39 | /* |
40 | * NOTE: By default the serial timeout is disabled as it causes lost characters | ||
41 | * over the serial ports. This means that the UART clocks will stay on until | ||
42 | * disabled via sysfs. This also causes that any deeper omap sleep states are | ||
43 | * blocked. | ||
44 | */ | ||
45 | #define DEFAULT_TIMEOUT 0 | ||
40 | 46 | ||
41 | struct omap_uart_state { | 47 | struct omap_uart_state { |
42 | int num; | 48 | int num; |
@@ -422,7 +428,8 @@ static void omap_uart_idle_init(struct omap_uart_state *uart) | |||
422 | uart->timeout = DEFAULT_TIMEOUT; | 428 | uart->timeout = DEFAULT_TIMEOUT; |
423 | setup_timer(&uart->timer, omap_uart_idle_timer, | 429 | setup_timer(&uart->timer, omap_uart_idle_timer, |
424 | (unsigned long) uart); | 430 | (unsigned long) uart); |
425 | mod_timer(&uart->timer, jiffies + uart->timeout); | 431 | if (uart->timeout) |
432 | mod_timer(&uart->timer, jiffies + uart->timeout); | ||
426 | omap_uart_smart_idle_enable(uart, 0); | 433 | omap_uart_smart_idle_enable(uart, 0); |
427 | 434 | ||
428 | if (cpu_is_omap34xx()) { | 435 | if (cpu_is_omap34xx()) { |
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c index a21a4b395f73..d94857eb0690 100644 --- a/arch/arm/mach-realview/realview_pbx.c +++ b/arch/arm/mach-realview/realview_pbx.c | |||
@@ -334,8 +334,8 @@ static void realview_pbx_reset(char mode) | |||
334 | * in the system FPGA | 334 | * in the system FPGA |
335 | */ | 335 | */ |
336 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 336 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
337 | __raw_writel(0x0000, reset_ctrl); | 337 | __raw_writel(0x00F0, reset_ctrl); |
338 | __raw_writel(0x0004, reset_ctrl); | 338 | __raw_writel(0x00F4, reset_ctrl); |
339 | } | 339 | } |
340 | 340 | ||
341 | static void __init realview_pbx_init(void) | 341 | static void __init realview_pbx_init(void) |
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index 3f9cd3d8f6d5..795dc615f43b 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -41,7 +41,7 @@ ENTRY(cpu_arm7_dcache_clean_area) | |||
41 | ENTRY(cpu_arm7_data_abort) | 41 | ENTRY(cpu_arm7_data_abort) |
42 | mrc p15, 0, r1, c5, c0, 0 @ get FSR | 42 | mrc p15, 0, r1, c5, c0, 0 @ get FSR |
43 | mrc p15, 0, r0, c6, c0, 0 @ get FAR | 43 | mrc p15, 0, r0, c6, c0, 0 @ get FAR |
44 | ldr r8, [r0] @ read arm instruction | 44 | ldr r8, [r2] @ read arm instruction |
45 | tst r8, #1 << 20 @ L = 0 -> write? | 45 | tst r8, #1 << 20 @ L = 0 -> write? |
46 | orreq r1, r1, #1 << 11 @ yes. | 46 | orreq r1, r1, #1 << 11 @ yes. |
47 | and r7, r8, #15 << 24 | 47 | and r7, r8, #15 << 24 |
diff --git a/arch/arm/plat-mxc/audmux-v2.c b/arch/arm/plat-mxc/audmux-v2.c index 6f21096086fd..b06954a84436 100644 --- a/arch/arm/plat-mxc/audmux-v2.c +++ b/arch/arm/plat-mxc/audmux-v2.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/err.h> | 23 | #include <linux/err.h> |
24 | #include <linux/io.h> | 24 | #include <linux/io.h> |
25 | #include <linux/clk.h> | 25 | #include <linux/clk.h> |
26 | #include <linux/debugfs.h> | ||
26 | #include <mach/audmux.h> | 27 | #include <mach/audmux.h> |
27 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
28 | 29 | ||
@@ -32,6 +33,140 @@ static void __iomem *audmux_base; | |||
32 | #define MXC_AUDMUX_V2_PTCR(x) ((x) * 8) | 33 | #define MXC_AUDMUX_V2_PTCR(x) ((x) * 8) |
33 | #define MXC_AUDMUX_V2_PDCR(x) ((x) * 8 + 4) | 34 | #define MXC_AUDMUX_V2_PDCR(x) ((x) * 8 + 4) |
34 | 35 | ||
36 | #ifdef CONFIG_DEBUG_FS | ||
37 | static struct dentry *audmux_debugfs_root; | ||
38 | |||
39 | static int audmux_open_file(struct inode *inode, struct file *file) | ||
40 | { | ||
41 | file->private_data = inode->i_private; | ||
42 | return 0; | ||
43 | } | ||
44 | |||
45 | /* There is an annoying discontinuity in the SSI numbering with regard | ||
46 | * to the Linux number of the devices */ | ||
47 | static const char *audmux_port_string(int port) | ||
48 | { | ||
49 | switch (port) { | ||
50 | case MX31_AUDMUX_PORT1_SSI0: | ||
51 | return "imx-ssi.0"; | ||
52 | case MX31_AUDMUX_PORT2_SSI1: | ||
53 | return "imx-ssi.1"; | ||
54 | case MX31_AUDMUX_PORT3_SSI_PINS_3: | ||
55 | return "SSI3"; | ||
56 | case MX31_AUDMUX_PORT4_SSI_PINS_4: | ||
57 | return "SSI4"; | ||
58 | case MX31_AUDMUX_PORT5_SSI_PINS_5: | ||
59 | return "SSI5"; | ||
60 | case MX31_AUDMUX_PORT6_SSI_PINS_6: | ||
61 | return "SSI6"; | ||
62 | default: | ||
63 | return "UNKNOWN"; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | static ssize_t audmux_read_file(struct file *file, char __user *user_buf, | ||
68 | size_t count, loff_t *ppos) | ||
69 | { | ||
70 | ssize_t ret; | ||
71 | char *buf = kmalloc(PAGE_SIZE, GFP_KERNEL); | ||
72 | int port = (int)file->private_data; | ||
73 | u32 pdcr, ptcr; | ||
74 | |||
75 | if (!buf) | ||
76 | return -ENOMEM; | ||
77 | |||
78 | if (audmux_clk) | ||
79 | clk_enable(audmux_clk); | ||
80 | |||
81 | ptcr = readl(audmux_base + MXC_AUDMUX_V2_PTCR(port)); | ||
82 | pdcr = readl(audmux_base + MXC_AUDMUX_V2_PDCR(port)); | ||
83 | |||
84 | if (audmux_clk) | ||
85 | clk_disable(audmux_clk); | ||
86 | |||
87 | ret = snprintf(buf, PAGE_SIZE, "PDCR: %08x\nPTCR: %08x\n", | ||
88 | pdcr, ptcr); | ||
89 | |||
90 | if (ptcr & MXC_AUDMUX_V2_PTCR_TFSDIR) | ||
91 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
92 | "TxFS output from %s, ", | ||
93 | audmux_port_string((ptcr >> 27) & 0x7)); | ||
94 | else | ||
95 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
96 | "TxFS input, "); | ||
97 | |||
98 | if (ptcr & MXC_AUDMUX_V2_PTCR_TCLKDIR) | ||
99 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
100 | "TxClk output from %s", | ||
101 | audmux_port_string((ptcr >> 22) & 0x7)); | ||
102 | else | ||
103 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
104 | "TxClk input"); | ||
105 | |||
106 | ret += snprintf(buf + ret, PAGE_SIZE - ret, "\n"); | ||
107 | |||
108 | if (ptcr & MXC_AUDMUX_V2_PTCR_SYN) { | ||
109 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
110 | "Port is symmetric"); | ||
111 | } else { | ||
112 | if (ptcr & MXC_AUDMUX_V2_PTCR_RFSDIR) | ||
113 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
114 | "RxFS output from %s, ", | ||
115 | audmux_port_string((ptcr >> 17) & 0x7)); | ||
116 | else | ||
117 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
118 | "RxFS input, "); | ||
119 | |||
120 | if (ptcr & MXC_AUDMUX_V2_PTCR_RCLKDIR) | ||
121 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
122 | "RxClk output from %s", | ||
123 | audmux_port_string((ptcr >> 12) & 0x7)); | ||
124 | else | ||
125 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
126 | "RxClk input"); | ||
127 | } | ||
128 | |||
129 | ret += snprintf(buf + ret, PAGE_SIZE - ret, | ||
130 | "\nData received from %s\n", | ||
131 | audmux_port_string((pdcr >> 13) & 0x7)); | ||
132 | |||
133 | ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret); | ||
134 | |||
135 | kfree(buf); | ||
136 | |||
137 | return ret; | ||
138 | } | ||
139 | |||
140 | static const struct file_operations audmux_debugfs_fops = { | ||
141 | .open = audmux_open_file, | ||
142 | .read = audmux_read_file, | ||
143 | }; | ||
144 | |||
145 | static void audmux_debugfs_init(void) | ||
146 | { | ||
147 | int i; | ||
148 | char buf[20]; | ||
149 | |||
150 | audmux_debugfs_root = debugfs_create_dir("audmux", NULL); | ||
151 | if (!audmux_debugfs_root) { | ||
152 | pr_warning("Failed to create AUDMUX debugfs root\n"); | ||
153 | return; | ||
154 | } | ||
155 | |||
156 | for (i = 1; i < 8; i++) { | ||
157 | snprintf(buf, sizeof(buf), "ssi%d", i); | ||
158 | if (!debugfs_create_file(buf, 0444, audmux_debugfs_root, | ||
159 | (void *)i, &audmux_debugfs_fops)) | ||
160 | pr_warning("Failed to create AUDMUX port %d debugfs file\n", | ||
161 | i); | ||
162 | } | ||
163 | } | ||
164 | #else | ||
165 | static inline void audmux_debugfs_init(void) | ||
166 | { | ||
167 | } | ||
168 | #endif | ||
169 | |||
35 | int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr, | 170 | int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr, |
36 | unsigned int pdcr) | 171 | unsigned int pdcr) |
37 | { | 172 | { |
@@ -68,6 +203,8 @@ static int mxc_audmux_v2_init(void) | |||
68 | if (cpu_is_mx31() || cpu_is_mx35()) | 203 | if (cpu_is_mx31() || cpu_is_mx35()) |
69 | audmux_base = IO_ADDRESS(AUDMUX_BASE_ADDR); | 204 | audmux_base = IO_ADDRESS(AUDMUX_BASE_ADDR); |
70 | 205 | ||
206 | audmux_debugfs_init(); | ||
207 | |||
71 | return 0; | 208 | return 0; |
72 | } | 209 | } |
73 | 210 | ||
diff --git a/arch/arm/plat-mxc/include/mach/board-mx31lite.h b/arch/arm/plat-mxc/include/mach/board-mx31lite.h index 0184b638c268..2b2da0367578 100644 --- a/arch/arm/plat-mxc/include/mach/board-mx31lite.h +++ b/arch/arm/plat-mxc/include/mach/board-mx31lite.h | |||
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | #ifndef __ASSEMBLY__ | 26 | #ifndef __ASSEMBLY__ |
27 | 27 | ||
28 | enum mx31lilly_boards { | 28 | enum mx31lite_boards { |
29 | MX31LITE_NOBOARD = 0, | 29 | MX31LITE_NOBOARD = 0, |
30 | MX31LITE_DB = 1, | 30 | MX31LITE_DB = 1, |
31 | }; | 31 | }; |
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index 286cb9b0a25b..4bf1068ffad9 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -32,7 +32,7 @@ extern void mxc91231_init_irq(void); | |||
32 | extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int); | 32 | extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int); |
33 | extern int mx1_clocks_init(unsigned long fref); | 33 | extern int mx1_clocks_init(unsigned long fref); |
34 | extern int mx21_clocks_init(unsigned long lref, unsigned long fref); | 34 | extern int mx21_clocks_init(unsigned long lref, unsigned long fref); |
35 | extern int mx25_clocks_init(unsigned long fref); | 35 | extern int mx25_clocks_init(void); |
36 | extern int mx27_clocks_init(unsigned long fref); | 36 | extern int mx27_clocks_init(unsigned long fref); |
37 | extern int mx31_clocks_init(unsigned long fref); | 37 | extern int mx31_clocks_init(unsigned long fref); |
38 | extern int mx35_clocks_init(void); | 38 | extern int mx35_clocks_init(void); |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx35.h b/arch/arm/plat-mxc/include/mach/iomux-mx35.h index 00b0ac1db225..c88d40795f7a 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx35.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx35.h | |||
@@ -671,7 +671,7 @@ | |||
671 | #define MX35_PAD_LD8__SDMA_SDMA_DEBUG_PC_8 IOMUX_PAD(0x634, 0x1d0, 6, 0x0, 0, NO_PAD_CTRL) | 671 | #define MX35_PAD_LD8__SDMA_SDMA_DEBUG_PC_8 IOMUX_PAD(0x634, 0x1d0, 6, 0x0, 0, NO_PAD_CTRL) |
672 | 672 | ||
673 | #define MX35_PAD_LD9__IPU_DISPB_DAT_9 IOMUX_PAD(0x638, 0x1d4, 0, 0x0, 0, NO_PAD_CTRL) | 673 | #define MX35_PAD_LD9__IPU_DISPB_DAT_9 IOMUX_PAD(0x638, 0x1d4, 0, 0x0, 0, NO_PAD_CTRL) |
674 | #define MX35_PAD_LD9__GPIO2_9 IOMUX_PAD(0x638, 0x1d4, 5, 0x8e4 0, NO_PAD_CTRL) | 674 | #define MX35_PAD_LD9__GPIO2_9 IOMUX_PAD(0x638, 0x1d4, 5, 0x8e4, 0, NO_PAD_CTRL) |
675 | #define MX35_PAD_LD9__SDMA_SDMA_DEBUG_PC_9 IOMUX_PAD(0x638, 0x1d4, 6, 0x0, 0, NO_PAD_CTRL) | 675 | #define MX35_PAD_LD9__SDMA_SDMA_DEBUG_PC_9 IOMUX_PAD(0x638, 0x1d4, 6, 0x0, 0, NO_PAD_CTRL) |
676 | 676 | ||
677 | #define MX35_PAD_LD10__IPU_DISPB_DAT_10 IOMUX_PAD(0x63c, 0x1d8, 0, 0x0, 0, NO_PAD_CTRL) | 677 | #define MX35_PAD_LD10__IPU_DISPB_DAT_10 IOMUX_PAD(0x63c, 0x1d8, 0, 0x0, 0, NO_PAD_CTRL) |
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index ead9d592168d..0cb347645db4 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h | |||
@@ -37,7 +37,12 @@ | |||
37 | * within sensible limits. | 37 | * within sensible limits. |
38 | */ | 38 | */ |
39 | #define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS) | 39 | #define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS) |
40 | |||
41 | #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 | ||
42 | #define MXC_BOARD_IRQS 80 | ||
43 | #else | ||
40 | #define MXC_BOARD_IRQS 16 | 44 | #define MXC_BOARD_IRQS 16 |
45 | #endif | ||
41 | 46 | ||
42 | #define MXC_IPU_IRQ_START (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS) | 47 | #define MXC_IPU_IRQ_START (MXC_BOARD_IRQ_START + MXC_BOARD_IRQS) |
43 | 48 | ||
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index d9f8c844c385..4becbdd1935c 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c | |||
@@ -391,7 +391,7 @@ static struct dentry *clk_debugfs_root; | |||
391 | static int clk_debugfs_register_one(struct clk *c) | 391 | static int clk_debugfs_register_one(struct clk *c) |
392 | { | 392 | { |
393 | int err; | 393 | int err; |
394 | struct dentry *d, *child; | 394 | struct dentry *d, *child, *child_tmp; |
395 | struct clk *pa = c->parent; | 395 | struct clk *pa = c->parent; |
396 | char s[255]; | 396 | char s[255]; |
397 | char *p = s; | 397 | char *p = s; |
@@ -423,7 +423,7 @@ static int clk_debugfs_register_one(struct clk *c) | |||
423 | 423 | ||
424 | err_out: | 424 | err_out: |
425 | d = c->dent; | 425 | d = c->dent; |
426 | list_for_each_entry(child, &d->d_subdirs, d_u.d_child) | 426 | list_for_each_entry_safe(child, child_tmp, &d->d_subdirs, d_u.d_child) |
427 | debugfs_remove(child); | 427 | debugfs_remove(child); |
428 | debugfs_remove(c->dent); | 428 | debugfs_remove(c->dent); |
429 | return err; | 429 | return err; |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index d17620c50c28..d2422c766cca 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -750,6 +750,7 @@ static inline void set_24xx_gpio_triggering(struct gpio_bank *bank, int gpio, | |||
750 | } | 750 | } |
751 | #endif | 751 | #endif |
752 | 752 | ||
753 | #ifdef CONFIG_ARCH_OMAP1 | ||
753 | /* | 754 | /* |
754 | * This only applies to chips that can't do both rising and falling edge | 755 | * This only applies to chips that can't do both rising and falling edge |
755 | * detection at once. For all other chips, this function is a noop. | 756 | * detection at once. For all other chips, this function is a noop. |
@@ -760,11 +761,9 @@ static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio) | |||
760 | u32 l = 0; | 761 | u32 l = 0; |
761 | 762 | ||
762 | switch (bank->method) { | 763 | switch (bank->method) { |
763 | #ifdef CONFIG_ARCH_OMAP1 | ||
764 | case METHOD_MPUIO: | 764 | case METHOD_MPUIO: |
765 | reg += OMAP_MPUIO_GPIO_INT_EDGE; | 765 | reg += OMAP_MPUIO_GPIO_INT_EDGE; |
766 | break; | 766 | break; |
767 | #endif | ||
768 | #ifdef CONFIG_ARCH_OMAP15XX | 767 | #ifdef CONFIG_ARCH_OMAP15XX |
769 | case METHOD_GPIO_1510: | 768 | case METHOD_GPIO_1510: |
770 | reg += OMAP1510_GPIO_INT_CONTROL; | 769 | reg += OMAP1510_GPIO_INT_CONTROL; |
@@ -787,6 +786,7 @@ static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio) | |||
787 | 786 | ||
788 | __raw_writel(l, reg); | 787 | __raw_writel(l, reg); |
789 | } | 788 | } |
789 | #endif | ||
790 | 790 | ||
791 | static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | 791 | static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) |
792 | { | 792 | { |
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c index 1e5648d3e3d8..2ed72013c2e2 100644 --- a/arch/arm/plat-omap/omap_device.c +++ b/arch/arm/plat-omap/omap_device.c | |||
@@ -89,16 +89,6 @@ | |||
89 | #define USE_WAKEUP_LAT 0 | 89 | #define USE_WAKEUP_LAT 0 |
90 | #define IGNORE_WAKEUP_LAT 1 | 90 | #define IGNORE_WAKEUP_LAT 1 |
91 | 91 | ||
92 | /* XXX this should be moved into a separate file */ | ||
93 | #if defined(CONFIG_ARCH_OMAP2420) | ||
94 | # define OMAP_32KSYNCT_BASE 0x48004000 | ||
95 | #elif defined(CONFIG_ARCH_OMAP2430) | ||
96 | # define OMAP_32KSYNCT_BASE 0x49020000 | ||
97 | #elif defined(CONFIG_ARCH_OMAP3430) | ||
98 | # define OMAP_32KSYNCT_BASE 0x48320000 | ||
99 | #else | ||
100 | # error Unknown OMAP device | ||
101 | #endif | ||
102 | 92 | ||
103 | /* Private functions */ | 93 | /* Private functions */ |
104 | 94 | ||
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index f60a5400a25b..a63c4be99b36 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -197,10 +197,13 @@ static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_ | |||
197 | } | 197 | } |
198 | 198 | ||
199 | /* | 199 | /* |
200 | * Update the FPSCR with the additional exception flags. | 200 | * If any of the status flags are set, update the FPSCR. |
201 | * Comparison instructions always return at least one of | 201 | * Comparison instructions always return at least one of |
202 | * these flags set. | 202 | * these flags set. |
203 | */ | 203 | */ |
204 | if (exceptions & (FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V)) | ||
205 | fpscr &= ~(FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V); | ||
206 | |||
204 | fpscr |= exceptions; | 207 | fpscr |= exceptions; |
205 | 208 | ||
206 | fmxr(FPSCR, fpscr); | 209 | fmxr(FPSCR, fpscr); |
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index bb7c374713ad..6fced1fe3bf0 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31 | 3 | # Linux kernel version: 2.6.33-rc6 |
4 | # Thu Sep 24 10:28:50 2009 | 4 | # Wed Feb 3 10:02:59 2010 |
5 | # | 5 | # |
6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
@@ -19,8 +19,12 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
20 | CONFIG_GENERIC_GPIO=y | 20 | CONFIG_GENERIC_GPIO=y |
21 | CONFIG_GENERIC_CSUM=y | 21 | CONFIG_GENERIC_CSUM=y |
22 | CONFIG_STACKTRACE_SUPPORT=y | ||
23 | CONFIG_LOCKDEP_SUPPORT=y | ||
24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
22 | # CONFIG_PCI is not set | 25 | # CONFIG_PCI is not set |
23 | CONFIG_NO_DMA=y | 26 | CONFIG_NO_DMA=y |
27 | CONFIG_DTC=y | ||
24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
25 | CONFIG_CONSTRUCTORS=y | 29 | CONFIG_CONSTRUCTORS=y |
26 | 30 | ||
@@ -44,6 +48,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
44 | # | 48 | # |
45 | CONFIG_TREE_RCU=y | 49 | CONFIG_TREE_RCU=y |
46 | # CONFIG_TREE_PREEMPT_RCU is not set | 50 | # CONFIG_TREE_PREEMPT_RCU is not set |
51 | # CONFIG_TINY_RCU is not set | ||
47 | # CONFIG_RCU_TRACE is not set | 52 | # CONFIG_RCU_TRACE is not set |
48 | CONFIG_RCU_FANOUT=32 | 53 | CONFIG_RCU_FANOUT=32 |
49 | # CONFIG_RCU_FANOUT_EXACT is not set | 54 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -64,10 +69,12 @@ CONFIG_INITRAMFS_ROOT_GID=0 | |||
64 | CONFIG_RD_GZIP=y | 69 | CONFIG_RD_GZIP=y |
65 | # CONFIG_RD_BZIP2 is not set | 70 | # CONFIG_RD_BZIP2 is not set |
66 | # CONFIG_RD_LZMA is not set | 71 | # CONFIG_RD_LZMA is not set |
72 | # CONFIG_RD_LZO is not set | ||
67 | # CONFIG_INITRAMFS_COMPRESSION_NONE is not set | 73 | # CONFIG_INITRAMFS_COMPRESSION_NONE is not set |
68 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y | 74 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y |
69 | # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set | 75 | # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set |
70 | # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set | 76 | # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set |
77 | # CONFIG_INITRAMFS_COMPRESSION_LZO is not set | ||
71 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 78 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
72 | CONFIG_SYSCTL=y | 79 | CONFIG_SYSCTL=y |
73 | CONFIG_ANON_INODES=y | 80 | CONFIG_ANON_INODES=y |
@@ -90,21 +97,20 @@ CONFIG_EVENTFD=y | |||
90 | CONFIG_AIO=y | 97 | CONFIG_AIO=y |
91 | 98 | ||
92 | # | 99 | # |
93 | # Performance Counters | 100 | # Kernel Performance Events And Counters |
94 | # | 101 | # |
95 | CONFIG_VM_EVENT_COUNTERS=y | 102 | CONFIG_VM_EVENT_COUNTERS=y |
96 | # CONFIG_STRIP_ASM_SYMS is not set | ||
97 | CONFIG_COMPAT_BRK=y | 103 | CONFIG_COMPAT_BRK=y |
98 | CONFIG_SLAB=y | 104 | CONFIG_SLAB=y |
99 | # CONFIG_SLUB is not set | 105 | # CONFIG_SLUB is not set |
100 | # CONFIG_SLOB is not set | 106 | # CONFIG_SLOB is not set |
101 | # CONFIG_PROFILING is not set | 107 | # CONFIG_PROFILING is not set |
102 | # CONFIG_MARKERS is not set | 108 | CONFIG_HAVE_OPROFILE=y |
103 | 109 | ||
104 | # | 110 | # |
105 | # GCOV-based kernel profiling | 111 | # GCOV-based kernel profiling |
106 | # | 112 | # |
107 | # CONFIG_SLOW_WORK is not set | 113 | CONFIG_SLOW_WORK=y |
108 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 114 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
109 | CONFIG_SLABINFO=y | 115 | CONFIG_SLABINFO=y |
110 | CONFIG_BASE_SMALL=1 | 116 | CONFIG_BASE_SMALL=1 |
@@ -123,14 +129,41 @@ CONFIG_LBDAF=y | |||
123 | # IO Schedulers | 129 | # IO Schedulers |
124 | # | 130 | # |
125 | CONFIG_IOSCHED_NOOP=y | 131 | CONFIG_IOSCHED_NOOP=y |
126 | CONFIG_IOSCHED_AS=y | ||
127 | CONFIG_IOSCHED_DEADLINE=y | 132 | CONFIG_IOSCHED_DEADLINE=y |
128 | CONFIG_IOSCHED_CFQ=y | 133 | CONFIG_IOSCHED_CFQ=y |
129 | # CONFIG_DEFAULT_AS is not set | ||
130 | # CONFIG_DEFAULT_DEADLINE is not set | 134 | # CONFIG_DEFAULT_DEADLINE is not set |
131 | CONFIG_DEFAULT_CFQ=y | 135 | CONFIG_DEFAULT_CFQ=y |
132 | # CONFIG_DEFAULT_NOOP is not set | 136 | # CONFIG_DEFAULT_NOOP is not set |
133 | CONFIG_DEFAULT_IOSCHED="cfq" | 137 | CONFIG_DEFAULT_IOSCHED="cfq" |
138 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
139 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
140 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
141 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
142 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
143 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
144 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
145 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
146 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
147 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
148 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
149 | # CONFIG_INLINE_READ_LOCK is not set | ||
150 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
151 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
152 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
153 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
154 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
155 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
156 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
157 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
159 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
162 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
163 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
164 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
165 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
134 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
135 | 168 | ||
136 | # | 169 | # |
@@ -139,11 +172,6 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
139 | CONFIG_PLATFORM_GENERIC=y | 172 | CONFIG_PLATFORM_GENERIC=y |
140 | CONFIG_OPT_LIB_FUNCTION=y | 173 | CONFIG_OPT_LIB_FUNCTION=y |
141 | CONFIG_OPT_LIB_ASM=y | 174 | CONFIG_OPT_LIB_ASM=y |
142 | CONFIG_ALLOW_EDIT_AUTO=y | ||
143 | |||
144 | # | ||
145 | # Automatic platform settings from Kconfig.auto | ||
146 | # | ||
147 | 175 | ||
148 | # | 176 | # |
149 | # Definitions for MICROBLAZE0 | 177 | # Definitions for MICROBLAZE0 |
@@ -203,12 +231,11 @@ CONFIG_FLATMEM_MANUAL=y | |||
203 | CONFIG_FLATMEM=y | 231 | CONFIG_FLATMEM=y |
204 | CONFIG_FLAT_NODE_MEM_MAP=y | 232 | CONFIG_FLAT_NODE_MEM_MAP=y |
205 | CONFIG_PAGEFLAGS_EXTENDED=y | 233 | CONFIG_PAGEFLAGS_EXTENDED=y |
206 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 234 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
207 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 235 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
208 | CONFIG_ZONE_DMA_FLAG=0 | 236 | CONFIG_ZONE_DMA_FLAG=0 |
209 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
210 | CONFIG_HAVE_MLOCK=y | 238 | # CONFIG_KSM is not set |
211 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
212 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 239 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
213 | 240 | ||
214 | # | 241 | # |
@@ -289,7 +316,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
289 | # CONFIG_IRDA is not set | 316 | # CONFIG_IRDA is not set |
290 | # CONFIG_BT is not set | 317 | # CONFIG_BT is not set |
291 | # CONFIG_AF_RXRPC is not set | 318 | # CONFIG_AF_RXRPC is not set |
292 | # CONFIG_WIRELESS is not set | 319 | CONFIG_WIRELESS=y |
320 | # CONFIG_CFG80211 is not set | ||
321 | # CONFIG_LIB80211 is not set | ||
322 | |||
323 | # | ||
324 | # CFG80211 needs to be enabled for MAC80211 | ||
325 | # | ||
293 | # CONFIG_WIMAX is not set | 326 | # CONFIG_WIMAX is not set |
294 | # CONFIG_RFKILL is not set | 327 | # CONFIG_RFKILL is not set |
295 | # CONFIG_NET_9P is not set | 328 | # CONFIG_NET_9P is not set |
@@ -313,6 +346,10 @@ CONFIG_OF_DEVICE=y | |||
313 | CONFIG_BLK_DEV=y | 346 | CONFIG_BLK_DEV=y |
314 | # CONFIG_BLK_DEV_COW_COMMON is not set | 347 | # CONFIG_BLK_DEV_COW_COMMON is not set |
315 | # CONFIG_BLK_DEV_LOOP is not set | 348 | # CONFIG_BLK_DEV_LOOP is not set |
349 | |||
350 | # | ||
351 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
352 | # | ||
316 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set |
317 | CONFIG_BLK_DEV_RAM=y | 354 | CONFIG_BLK_DEV_RAM=y |
318 | CONFIG_BLK_DEV_RAM_COUNT=16 | 355 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -349,7 +386,6 @@ CONFIG_NETDEVICES=y | |||
349 | # CONFIG_PHYLIB is not set | 386 | # CONFIG_PHYLIB is not set |
350 | CONFIG_NET_ETHERNET=y | 387 | CONFIG_NET_ETHERNET=y |
351 | # CONFIG_MII is not set | 388 | # CONFIG_MII is not set |
352 | # CONFIG_ETHOC is not set | ||
353 | # CONFIG_DNET is not set | 389 | # CONFIG_DNET is not set |
354 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 390 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
355 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 391 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
@@ -359,12 +395,12 @@ CONFIG_NET_ETHERNET=y | |||
359 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 395 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
360 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 396 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
361 | # CONFIG_KS8842 is not set | 397 | # CONFIG_KS8842 is not set |
398 | # CONFIG_KS8851_MLL is not set | ||
362 | CONFIG_XILINX_EMACLITE=y | 399 | CONFIG_XILINX_EMACLITE=y |
363 | CONFIG_NETDEV_1000=y | 400 | CONFIG_NETDEV_1000=y |
364 | CONFIG_NETDEV_10000=y | 401 | CONFIG_NETDEV_10000=y |
365 | CONFIG_WLAN=y | 402 | CONFIG_WLAN=y |
366 | # CONFIG_WLAN_PRE80211 is not set | 403 | # CONFIG_HOSTAP is not set |
367 | # CONFIG_WLAN_80211 is not set | ||
368 | 404 | ||
369 | # | 405 | # |
370 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 406 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -408,6 +444,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
408 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 444 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
409 | CONFIG_SERIAL_CORE=y | 445 | CONFIG_SERIAL_CORE=y |
410 | CONFIG_SERIAL_CORE_CONSOLE=y | 446 | CONFIG_SERIAL_CORE_CONSOLE=y |
447 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
411 | CONFIG_UNIX98_PTYS=y | 448 | CONFIG_UNIX98_PTYS=y |
412 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 449 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
413 | CONFIG_LEGACY_PTYS=y | 450 | CONFIG_LEGACY_PTYS=y |
@@ -433,7 +470,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
433 | # CONFIG_POWER_SUPPLY is not set | 470 | # CONFIG_POWER_SUPPLY is not set |
434 | # CONFIG_HWMON is not set | 471 | # CONFIG_HWMON is not set |
435 | # CONFIG_THERMAL is not set | 472 | # CONFIG_THERMAL is not set |
436 | # CONFIG_THERMAL_HWMON is not set | ||
437 | # CONFIG_WATCHDOG is not set | 473 | # CONFIG_WATCHDOG is not set |
438 | 474 | ||
439 | # | 475 | # |
@@ -526,8 +562,6 @@ CONFIG_PROC_FS=y | |||
526 | CONFIG_PROC_SYSCTL=y | 562 | CONFIG_PROC_SYSCTL=y |
527 | CONFIG_PROC_PAGE_MONITOR=y | 563 | CONFIG_PROC_PAGE_MONITOR=y |
528 | CONFIG_SYSFS=y | 564 | CONFIG_SYSFS=y |
529 | CONFIG_TMPFS=y | ||
530 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
531 | # CONFIG_HUGETLB_PAGE is not set | 565 | # CONFIG_HUGETLB_PAGE is not set |
532 | # CONFIG_CONFIGFS_FS is not set | 566 | # CONFIG_CONFIGFS_FS is not set |
533 | CONFIG_MISC_FILESYSTEMS=y | 567 | CONFIG_MISC_FILESYSTEMS=y |
@@ -638,11 +672,13 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
638 | # | 672 | # |
639 | # Kernel hacking | 673 | # Kernel hacking |
640 | # | 674 | # |
675 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
641 | # CONFIG_PRINTK_TIME is not set | 676 | # CONFIG_PRINTK_TIME is not set |
642 | CONFIG_ENABLE_WARN_DEPRECATED=y | 677 | CONFIG_ENABLE_WARN_DEPRECATED=y |
643 | CONFIG_ENABLE_MUST_CHECK=y | 678 | CONFIG_ENABLE_MUST_CHECK=y |
644 | CONFIG_FRAME_WARN=1024 | 679 | CONFIG_FRAME_WARN=1024 |
645 | # CONFIG_MAGIC_SYSRQ is not set | 680 | # CONFIG_MAGIC_SYSRQ is not set |
681 | # CONFIG_STRIP_ASM_SYMS is not set | ||
646 | # CONFIG_UNUSED_SYMBOLS is not set | 682 | # CONFIG_UNUSED_SYMBOLS is not set |
647 | # CONFIG_DEBUG_FS is not set | 683 | # CONFIG_DEBUG_FS is not set |
648 | # CONFIG_HEADERS_CHECK is not set | 684 | # CONFIG_HEADERS_CHECK is not set |
@@ -662,6 +698,9 @@ CONFIG_DEBUG_SLAB=y | |||
662 | # CONFIG_DEBUG_SLAB_LEAK is not set | 698 | # CONFIG_DEBUG_SLAB_LEAK is not set |
663 | CONFIG_DEBUG_SPINLOCK=y | 699 | CONFIG_DEBUG_SPINLOCK=y |
664 | # CONFIG_DEBUG_MUTEXES is not set | 700 | # CONFIG_DEBUG_MUTEXES is not set |
701 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
702 | # CONFIG_PROVE_LOCKING is not set | ||
703 | # CONFIG_LOCK_STAT is not set | ||
665 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 704 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
666 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 705 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
667 | # CONFIG_DEBUG_KOBJECT is not set | 706 | # CONFIG_DEBUG_KOBJECT is not set |
@@ -680,10 +719,29 @@ CONFIG_DEBUG_INFO=y | |||
680 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 719 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
681 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 720 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
682 | # CONFIG_FAULT_INJECTION is not set | 721 | # CONFIG_FAULT_INJECTION is not set |
722 | # CONFIG_LATENCYTOP is not set | ||
683 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 723 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
684 | # CONFIG_PAGE_POISONING is not set | 724 | # CONFIG_PAGE_POISONING is not set |
725 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
726 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
727 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
728 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
729 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
730 | CONFIG_TRACING_SUPPORT=y | ||
731 | CONFIG_FTRACE=y | ||
732 | # CONFIG_FUNCTION_TRACER is not set | ||
733 | # CONFIG_IRQSOFF_TRACER is not set | ||
734 | # CONFIG_SCHED_TRACER is not set | ||
735 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
736 | # CONFIG_BOOT_TRACER is not set | ||
737 | CONFIG_BRANCH_PROFILE_NONE=y | ||
738 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
739 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
740 | # CONFIG_STACK_TRACER is not set | ||
741 | # CONFIG_KMEMTRACE is not set | ||
742 | # CONFIG_WORKQUEUE_TRACER is not set | ||
743 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
685 | # CONFIG_SAMPLES is not set | 744 | # CONFIG_SAMPLES is not set |
686 | # CONFIG_KMEMCHECK is not set | ||
687 | CONFIG_EARLY_PRINTK=y | 745 | CONFIG_EARLY_PRINTK=y |
688 | # CONFIG_HEART_BEAT is not set | 746 | # CONFIG_HEART_BEAT is not set |
689 | CONFIG_DEBUG_BOOTMEM=y | 747 | CONFIG_DEBUG_BOOTMEM=y |
@@ -694,7 +752,11 @@ CONFIG_DEBUG_BOOTMEM=y | |||
694 | # CONFIG_KEYS is not set | 752 | # CONFIG_KEYS is not set |
695 | # CONFIG_SECURITY is not set | 753 | # CONFIG_SECURITY is not set |
696 | # CONFIG_SECURITYFS is not set | 754 | # CONFIG_SECURITYFS is not set |
697 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 755 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
756 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
757 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
758 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
759 | CONFIG_DEFAULT_SECURITY="" | ||
698 | CONFIG_CRYPTO=y | 760 | CONFIG_CRYPTO=y |
699 | 761 | ||
700 | # | 762 | # |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index adb839bab704..ce2da535246a 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.31 | 3 | # Linux kernel version: 2.6.33-rc6 |
4 | # Thu Sep 24 10:29:43 2009 | 4 | # Wed Feb 3 10:03:21 2010 |
5 | # | 5 | # |
6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
@@ -19,8 +19,12 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
20 | CONFIG_GENERIC_GPIO=y | 20 | CONFIG_GENERIC_GPIO=y |
21 | CONFIG_GENERIC_CSUM=y | 21 | CONFIG_GENERIC_CSUM=y |
22 | CONFIG_STACKTRACE_SUPPORT=y | ||
23 | CONFIG_LOCKDEP_SUPPORT=y | ||
24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
22 | # CONFIG_PCI is not set | 25 | # CONFIG_PCI is not set |
23 | CONFIG_NO_DMA=y | 26 | CONFIG_NO_DMA=y |
27 | CONFIG_DTC=y | ||
24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
25 | CONFIG_CONSTRUCTORS=y | 29 | CONFIG_CONSTRUCTORS=y |
26 | 30 | ||
@@ -46,6 +50,7 @@ CONFIG_BSD_PROCESS_ACCT_V3=y | |||
46 | # | 50 | # |
47 | CONFIG_TREE_RCU=y | 51 | CONFIG_TREE_RCU=y |
48 | # CONFIG_TREE_PREEMPT_RCU is not set | 52 | # CONFIG_TREE_PREEMPT_RCU is not set |
53 | # CONFIG_TINY_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | 54 | # CONFIG_RCU_TRACE is not set |
50 | CONFIG_RCU_FANOUT=32 | 55 | CONFIG_RCU_FANOUT=32 |
51 | # CONFIG_RCU_FANOUT_EXACT is not set | 56 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -81,16 +86,16 @@ CONFIG_EVENTFD=y | |||
81 | CONFIG_AIO=y | 86 | CONFIG_AIO=y |
82 | 87 | ||
83 | # | 88 | # |
84 | # Performance Counters | 89 | # Kernel Performance Events And Counters |
85 | # | 90 | # |
86 | CONFIG_VM_EVENT_COUNTERS=y | 91 | CONFIG_VM_EVENT_COUNTERS=y |
87 | # CONFIG_STRIP_ASM_SYMS is not set | ||
88 | CONFIG_COMPAT_BRK=y | 92 | CONFIG_COMPAT_BRK=y |
89 | CONFIG_SLAB=y | 93 | CONFIG_SLAB=y |
90 | # CONFIG_SLUB is not set | 94 | # CONFIG_SLUB is not set |
91 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
96 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
92 | # CONFIG_PROFILING is not set | 97 | # CONFIG_PROFILING is not set |
93 | # CONFIG_MARKERS is not set | 98 | CONFIG_HAVE_OPROFILE=y |
94 | 99 | ||
95 | # | 100 | # |
96 | # GCOV-based kernel profiling | 101 | # GCOV-based kernel profiling |
@@ -116,14 +121,41 @@ CONFIG_LBDAF=y | |||
116 | # IO Schedulers | 121 | # IO Schedulers |
117 | # | 122 | # |
118 | CONFIG_IOSCHED_NOOP=y | 123 | CONFIG_IOSCHED_NOOP=y |
119 | CONFIG_IOSCHED_AS=y | ||
120 | CONFIG_IOSCHED_DEADLINE=y | 124 | CONFIG_IOSCHED_DEADLINE=y |
121 | CONFIG_IOSCHED_CFQ=y | 125 | CONFIG_IOSCHED_CFQ=y |
122 | # CONFIG_DEFAULT_AS is not set | ||
123 | # CONFIG_DEFAULT_DEADLINE is not set | 126 | # CONFIG_DEFAULT_DEADLINE is not set |
124 | CONFIG_DEFAULT_CFQ=y | 127 | CONFIG_DEFAULT_CFQ=y |
125 | # CONFIG_DEFAULT_NOOP is not set | 128 | # CONFIG_DEFAULT_NOOP is not set |
126 | CONFIG_DEFAULT_IOSCHED="cfq" | 129 | CONFIG_DEFAULT_IOSCHED="cfq" |
130 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
131 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
132 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
133 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
134 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
135 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
136 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
137 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
138 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
139 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
140 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
141 | # CONFIG_INLINE_READ_LOCK is not set | ||
142 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
143 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
144 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
145 | CONFIG_INLINE_READ_UNLOCK=y | ||
146 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
147 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
148 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
149 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
150 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
151 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
152 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
153 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
154 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
155 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
156 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
157 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
158 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
127 | # CONFIG_FREEZER is not set | 159 | # CONFIG_FREEZER is not set |
128 | 160 | ||
129 | # | 161 | # |
@@ -132,7 +164,10 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
132 | CONFIG_PLATFORM_GENERIC=y | 164 | CONFIG_PLATFORM_GENERIC=y |
133 | # CONFIG_SELFMOD is not set | 165 | # CONFIG_SELFMOD is not set |
134 | # CONFIG_OPT_LIB_FUNCTION is not set | 166 | # CONFIG_OPT_LIB_FUNCTION is not set |
135 | # CONFIG_ALLOW_EDIT_AUTO is not set | 167 | |
168 | # | ||
169 | # Definitions for MICROBLAZE0 | ||
170 | # | ||
136 | CONFIG_KERNEL_BASE_ADDR=0x90000000 | 171 | CONFIG_KERNEL_BASE_ADDR=0x90000000 |
137 | CONFIG_XILINX_MICROBLAZE0_FAMILY="virtex5" | 172 | CONFIG_XILINX_MICROBLAZE0_FAMILY="virtex5" |
138 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 | 173 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 |
@@ -190,7 +225,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
190 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 225 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
191 | CONFIG_ZONE_DMA_FLAG=0 | 226 | CONFIG_ZONE_DMA_FLAG=0 |
192 | CONFIG_VIRT_TO_BUS=y | 227 | CONFIG_VIRT_TO_BUS=y |
193 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
194 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 228 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
195 | 229 | ||
196 | # | 230 | # |
@@ -274,9 +308,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
274 | # CONFIG_AF_RXRPC is not set | 308 | # CONFIG_AF_RXRPC is not set |
275 | CONFIG_WIRELESS=y | 309 | CONFIG_WIRELESS=y |
276 | # CONFIG_CFG80211 is not set | 310 | # CONFIG_CFG80211 is not set |
277 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
278 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
279 | # CONFIG_WIRELESS_EXT is not set | ||
280 | # CONFIG_LIB80211 is not set | 311 | # CONFIG_LIB80211 is not set |
281 | 312 | ||
282 | # | 313 | # |
@@ -301,9 +332,9 @@ CONFIG_STANDALONE=y | |||
301 | # CONFIG_CONNECTOR is not set | 332 | # CONFIG_CONNECTOR is not set |
302 | CONFIG_MTD=y | 333 | CONFIG_MTD=y |
303 | # CONFIG_MTD_DEBUG is not set | 334 | # CONFIG_MTD_DEBUG is not set |
335 | # CONFIG_MTD_TESTS is not set | ||
304 | CONFIG_MTD_CONCAT=y | 336 | CONFIG_MTD_CONCAT=y |
305 | CONFIG_MTD_PARTITIONS=y | 337 | CONFIG_MTD_PARTITIONS=y |
306 | # CONFIG_MTD_TESTS is not set | ||
307 | # CONFIG_MTD_REDBOOT_PARTS is not set | 338 | # CONFIG_MTD_REDBOOT_PARTS is not set |
308 | CONFIG_MTD_CMDLINE_PARTS=y | 339 | CONFIG_MTD_CMDLINE_PARTS=y |
309 | # CONFIG_MTD_OF_PARTS is not set | 340 | # CONFIG_MTD_OF_PARTS is not set |
@@ -387,6 +418,10 @@ CONFIG_OF_DEVICE=y | |||
387 | CONFIG_BLK_DEV=y | 418 | CONFIG_BLK_DEV=y |
388 | # CONFIG_BLK_DEV_COW_COMMON is not set | 419 | # CONFIG_BLK_DEV_COW_COMMON is not set |
389 | # CONFIG_BLK_DEV_LOOP is not set | 420 | # CONFIG_BLK_DEV_LOOP is not set |
421 | |||
422 | # | ||
423 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
424 | # | ||
390 | CONFIG_BLK_DEV_NBD=y | 425 | CONFIG_BLK_DEV_NBD=y |
391 | CONFIG_BLK_DEV_RAM=y | 426 | CONFIG_BLK_DEV_RAM=y |
392 | CONFIG_BLK_DEV_RAM_COUNT=16 | 427 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -423,7 +458,6 @@ CONFIG_NETDEVICES=y | |||
423 | # CONFIG_PHYLIB is not set | 458 | # CONFIG_PHYLIB is not set |
424 | CONFIG_NET_ETHERNET=y | 459 | CONFIG_NET_ETHERNET=y |
425 | # CONFIG_MII is not set | 460 | # CONFIG_MII is not set |
426 | # CONFIG_ETHOC is not set | ||
427 | # CONFIG_DNET is not set | 461 | # CONFIG_DNET is not set |
428 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 462 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
429 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 463 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
@@ -433,12 +467,12 @@ CONFIG_NET_ETHERNET=y | |||
433 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 467 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
434 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 468 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
435 | # CONFIG_KS8842 is not set | 469 | # CONFIG_KS8842 is not set |
470 | # CONFIG_KS8851_MLL is not set | ||
436 | # CONFIG_XILINX_EMACLITE is not set | 471 | # CONFIG_XILINX_EMACLITE is not set |
437 | CONFIG_NETDEV_1000=y | 472 | CONFIG_NETDEV_1000=y |
438 | CONFIG_NETDEV_10000=y | 473 | CONFIG_NETDEV_10000=y |
439 | CONFIG_WLAN=y | 474 | CONFIG_WLAN=y |
440 | # CONFIG_WLAN_PRE80211 is not set | 475 | # CONFIG_HOSTAP is not set |
441 | # CONFIG_WLAN_80211 is not set | ||
442 | 476 | ||
443 | # | 477 | # |
444 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 478 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -482,6 +516,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
482 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 516 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
483 | CONFIG_SERIAL_CORE=y | 517 | CONFIG_SERIAL_CORE=y |
484 | CONFIG_SERIAL_CORE_CONSOLE=y | 518 | CONFIG_SERIAL_CORE_CONSOLE=y |
519 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
485 | CONFIG_UNIX98_PTYS=y | 520 | CONFIG_UNIX98_PTYS=y |
486 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 521 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
487 | CONFIG_LEGACY_PTYS=y | 522 | CONFIG_LEGACY_PTYS=y |
@@ -508,7 +543,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
508 | # CONFIG_POWER_SUPPLY is not set | 543 | # CONFIG_POWER_SUPPLY is not set |
509 | # CONFIG_HWMON is not set | 544 | # CONFIG_HWMON is not set |
510 | # CONFIG_THERMAL is not set | 545 | # CONFIG_THERMAL is not set |
511 | # CONFIG_THERMAL_HWMON is not set | ||
512 | # CONFIG_WATCHDOG is not set | 546 | # CONFIG_WATCHDOG is not set |
513 | 547 | ||
514 | # | 548 | # |
@@ -616,7 +650,6 @@ CONFIG_INOTIFY_USER=y | |||
616 | CONFIG_PROC_FS=y | 650 | CONFIG_PROC_FS=y |
617 | CONFIG_PROC_SYSCTL=y | 651 | CONFIG_PROC_SYSCTL=y |
618 | CONFIG_SYSFS=y | 652 | CONFIG_SYSFS=y |
619 | # CONFIG_TMPFS is not set | ||
620 | # CONFIG_HUGETLB_PAGE is not set | 653 | # CONFIG_HUGETLB_PAGE is not set |
621 | # CONFIG_CONFIGFS_FS is not set | 654 | # CONFIG_CONFIGFS_FS is not set |
622 | CONFIG_MISC_FILESYSTEMS=y | 655 | CONFIG_MISC_FILESYSTEMS=y |
@@ -672,11 +705,13 @@ CONFIG_MSDOS_PARTITION=y | |||
672 | # | 705 | # |
673 | # Kernel hacking | 706 | # Kernel hacking |
674 | # | 707 | # |
708 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
675 | # CONFIG_PRINTK_TIME is not set | 709 | # CONFIG_PRINTK_TIME is not set |
676 | CONFIG_ENABLE_WARN_DEPRECATED=y | 710 | CONFIG_ENABLE_WARN_DEPRECATED=y |
677 | CONFIG_ENABLE_MUST_CHECK=y | 711 | CONFIG_ENABLE_MUST_CHECK=y |
678 | CONFIG_FRAME_WARN=1024 | 712 | CONFIG_FRAME_WARN=1024 |
679 | # CONFIG_MAGIC_SYSRQ is not set | 713 | # CONFIG_MAGIC_SYSRQ is not set |
714 | # CONFIG_STRIP_ASM_SYMS is not set | ||
680 | CONFIG_UNUSED_SYMBOLS=y | 715 | CONFIG_UNUSED_SYMBOLS=y |
681 | CONFIG_DEBUG_FS=y | 716 | CONFIG_DEBUG_FS=y |
682 | # CONFIG_HEADERS_CHECK is not set | 717 | # CONFIG_HEADERS_CHECK is not set |
@@ -695,12 +730,16 @@ CONFIG_DEBUG_OBJECTS=y | |||
695 | CONFIG_DEBUG_OBJECTS_SELFTEST=y | 730 | CONFIG_DEBUG_OBJECTS_SELFTEST=y |
696 | CONFIG_DEBUG_OBJECTS_FREE=y | 731 | CONFIG_DEBUG_OBJECTS_FREE=y |
697 | CONFIG_DEBUG_OBJECTS_TIMERS=y | 732 | CONFIG_DEBUG_OBJECTS_TIMERS=y |
733 | # CONFIG_DEBUG_OBJECTS_WORK is not set | ||
698 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 | 734 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 |
699 | # CONFIG_DEBUG_SLAB is not set | 735 | # CONFIG_DEBUG_SLAB is not set |
700 | # CONFIG_DEBUG_RT_MUTEXES is not set | 736 | # CONFIG_DEBUG_RT_MUTEXES is not set |
701 | # CONFIG_RT_MUTEX_TESTER is not set | 737 | # CONFIG_RT_MUTEX_TESTER is not set |
702 | # CONFIG_DEBUG_SPINLOCK is not set | 738 | # CONFIG_DEBUG_SPINLOCK is not set |
703 | # CONFIG_DEBUG_MUTEXES is not set | 739 | # CONFIG_DEBUG_MUTEXES is not set |
740 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
741 | # CONFIG_PROVE_LOCKING is not set | ||
742 | # CONFIG_LOCK_STAT is not set | ||
704 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 743 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
705 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 744 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
706 | # CONFIG_DEBUG_KOBJECT is not set | 745 | # CONFIG_DEBUG_KOBJECT is not set |
@@ -720,8 +759,28 @@ CONFIG_DEBUG_SG=y | |||
720 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 759 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
721 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 760 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
722 | # CONFIG_FAULT_INJECTION is not set | 761 | # CONFIG_FAULT_INJECTION is not set |
762 | # CONFIG_LATENCYTOP is not set | ||
723 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 763 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
724 | # CONFIG_PAGE_POISONING is not set | 764 | # CONFIG_PAGE_POISONING is not set |
765 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
766 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
767 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
768 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
769 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
770 | CONFIG_TRACING_SUPPORT=y | ||
771 | CONFIG_FTRACE=y | ||
772 | # CONFIG_FUNCTION_TRACER is not set | ||
773 | # CONFIG_IRQSOFF_TRACER is not set | ||
774 | # CONFIG_SCHED_TRACER is not set | ||
775 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
776 | # CONFIG_BOOT_TRACER is not set | ||
777 | CONFIG_BRANCH_PROFILE_NONE=y | ||
778 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
779 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
780 | # CONFIG_STACK_TRACER is not set | ||
781 | # CONFIG_KMEMTRACE is not set | ||
782 | # CONFIG_WORKQUEUE_TRACER is not set | ||
783 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
725 | # CONFIG_DYNAMIC_DEBUG is not set | 784 | # CONFIG_DYNAMIC_DEBUG is not set |
726 | # CONFIG_SAMPLES is not set | 785 | # CONFIG_SAMPLES is not set |
727 | CONFIG_EARLY_PRINTK=y | 786 | CONFIG_EARLY_PRINTK=y |
@@ -734,7 +793,11 @@ CONFIG_EARLY_PRINTK=y | |||
734 | # CONFIG_KEYS is not set | 793 | # CONFIG_KEYS is not set |
735 | # CONFIG_SECURITY is not set | 794 | # CONFIG_SECURITY is not set |
736 | # CONFIG_SECURITYFS is not set | 795 | # CONFIG_SECURITYFS is not set |
737 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 796 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
797 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
798 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
799 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
800 | CONFIG_DEFAULT_SECURITY="" | ||
738 | CONFIG_CRYPTO=y | 801 | CONFIG_CRYPTO=y |
739 | 802 | ||
740 | # | 803 | # |
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 95b0855802df..391d6197fc3b 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
@@ -122,7 +122,7 @@ ENTRY(_interrupt) | |||
122 | 122 | ||
123 | ret_from_intr: | 123 | ret_from_intr: |
124 | lwi r11, r1, PT_MODE | 124 | lwi r11, r1, PT_MODE |
125 | bneid r11, 3f | 125 | bneid r11, no_intr_resched |
126 | 126 | ||
127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ | 127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ |
128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ | 128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ |
@@ -133,16 +133,18 @@ ret_from_intr: | |||
133 | bralid r15, schedule | 133 | bralid r15, schedule |
134 | nop | 134 | nop |
135 | 1: andi r11, r19, _TIF_SIGPENDING | 135 | 1: andi r11, r19, _TIF_SIGPENDING |
136 | beqid r11, no_intr_reshed | 136 | beqid r11, no_intr_resched |
137 | addk r5, r1, r0 | 137 | addk r5, r1, r0 |
138 | addk r7, r0, r0 | 138 | addk r7, r0, r0 |
139 | bralid r15, do_signal | 139 | bralid r15, do_signal |
140 | addk r6, r0, r0 | 140 | addk r6, r0, r0 |
141 | 141 | ||
142 | no_intr_reshed: | 142 | no_intr_resched: |
143 | /* Disable interrupts, we are now committed to the state restore */ | ||
144 | disable_irq | ||
145 | |||
143 | /* save mode indicator */ | 146 | /* save mode indicator */ |
144 | lwi r11, r1, PT_MODE | 147 | lwi r11, r1, PT_MODE |
145 | 3: | ||
146 | swi r11, r0, PER_CPU(KM) | 148 | swi r11, r0, PER_CPU(KM) |
147 | 149 | ||
148 | /* save r31 */ | 150 | /* save r31 */ |
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index 3f7e2a22c7c2..f6a389c996cb 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S | |||
@@ -132,7 +132,6 @@ ENTRY(tlb_protection_violation_store) | |||
132 | mov #1, r5 | 132 | mov #1, r5 |
133 | 133 | ||
134 | call_handle_tlbmiss: | 134 | call_handle_tlbmiss: |
135 | setup_frame_reg | ||
136 | mov.l 1f, r0 | 135 | mov.l 1f, r0 |
137 | mov r5, r8 | 136 | mov r5, r8 |
138 | mov.l @r0, r6 | 137 | mov.l @r0, r6 |
@@ -365,6 +364,8 @@ handle_exception: | |||
365 | mov.l @k2, k2 ! read out vector and keep in k2 | 364 | mov.l @k2, k2 ! read out vector and keep in k2 |
366 | 365 | ||
367 | handle_exception_special: | 366 | handle_exception_special: |
367 | setup_frame_reg | ||
368 | |||
368 | ! Setup return address and jump to exception handler | 369 | ! Setup return address and jump to exception handler |
369 | mov.l 7f, r9 ! fetch return address | 370 | mov.l 7f, r9 ! fetch return address |
370 | stc r2_bank, r0 ! k2 (vector) | 371 | stc r2_bank, r0 ! k2 (vector) |
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c index 88d28ec3780a..e51168064e56 100644 --- a/arch/sh/kernel/dwarf.c +++ b/arch/sh/kernel/dwarf.c | |||
@@ -540,6 +540,8 @@ void dwarf_free_frame(struct dwarf_frame *frame) | |||
540 | mempool_free(frame, dwarf_frame_pool); | 540 | mempool_free(frame, dwarf_frame_pool); |
541 | } | 541 | } |
542 | 542 | ||
543 | extern void ret_from_irq(void); | ||
544 | |||
543 | /** | 545 | /** |
544 | * dwarf_unwind_stack - unwind the stack | 546 | * dwarf_unwind_stack - unwind the stack |
545 | * | 547 | * |
@@ -678,6 +680,24 @@ struct dwarf_frame * dwarf_unwind_stack(unsigned long pc, | |||
678 | addr = frame->cfa + reg->addr; | 680 | addr = frame->cfa + reg->addr; |
679 | frame->return_addr = __raw_readl(addr); | 681 | frame->return_addr = __raw_readl(addr); |
680 | 682 | ||
683 | /* | ||
684 | * Ah, the joys of unwinding through interrupts. | ||
685 | * | ||
686 | * Interrupts are tricky - the DWARF info needs to be _really_ | ||
687 | * accurate and unfortunately I'm seeing a lot of bogus DWARF | ||
688 | * info. For example, I've seen interrupts occur in epilogues | ||
689 | * just after the frame pointer (r14) had been restored. The | ||
690 | * problem was that the DWARF info claimed that the CFA could be | ||
691 | * reached by using the value of the frame pointer before it was | ||
692 | * restored. | ||
693 | * | ||
694 | * So until the compiler can be trusted to produce reliable | ||
695 | * DWARF info when it really matters, let's stop unwinding once | ||
696 | * we've calculated the function that was interrupted. | ||
697 | */ | ||
698 | if (prev && prev->pc == (unsigned long)ret_from_irq) | ||
699 | frame->return_addr = 0; | ||
700 | |||
681 | return frame; | 701 | return frame; |
682 | 702 | ||
683 | bail: | 703 | bail: |
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index f0abd58c3a69..2b15ae60c3a0 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -70,8 +70,14 @@ ret_from_exception: | |||
70 | CFI_STARTPROC simple | 70 | CFI_STARTPROC simple |
71 | CFI_DEF_CFA r14, 0 | 71 | CFI_DEF_CFA r14, 0 |
72 | CFI_REL_OFFSET 17, 64 | 72 | CFI_REL_OFFSET 17, 64 |
73 | CFI_REL_OFFSET 15, 0 | 73 | CFI_REL_OFFSET 15, 60 |
74 | CFI_REL_OFFSET 14, 56 | 74 | CFI_REL_OFFSET 14, 56 |
75 | CFI_REL_OFFSET 13, 52 | ||
76 | CFI_REL_OFFSET 12, 48 | ||
77 | CFI_REL_OFFSET 11, 44 | ||
78 | CFI_REL_OFFSET 10, 40 | ||
79 | CFI_REL_OFFSET 9, 36 | ||
80 | CFI_REL_OFFSET 8, 32 | ||
75 | preempt_stop() | 81 | preempt_stop() |
76 | ENTRY(ret_from_irq) | 82 | ENTRY(ret_from_irq) |
77 | ! | 83 | ! |
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 5198b9bb34ef..69ddfbd91135 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include <asm/numa.h> | 49 | #include <asm/numa.h> |
50 | #include <asm/cacheflush.h> | 50 | #include <asm/cacheflush.h> |
51 | #include <asm/init.h> | 51 | #include <asm/init.h> |
52 | #include <linux/bootmem.h> | ||
52 | 53 | ||
53 | static unsigned long dma_reserve __initdata; | 54 | static unsigned long dma_reserve __initdata; |
54 | 55 | ||
@@ -616,6 +617,21 @@ void __init paging_init(void) | |||
616 | */ | 617 | */ |
617 | #ifdef CONFIG_MEMORY_HOTPLUG | 618 | #ifdef CONFIG_MEMORY_HOTPLUG |
618 | /* | 619 | /* |
620 | * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need | ||
621 | * updating. | ||
622 | */ | ||
623 | static void update_end_of_memory_vars(u64 start, u64 size) | ||
624 | { | ||
625 | unsigned long end_pfn = PFN_UP(start + size); | ||
626 | |||
627 | if (end_pfn > max_pfn) { | ||
628 | max_pfn = end_pfn; | ||
629 | max_low_pfn = end_pfn; | ||
630 | high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1; | ||
631 | } | ||
632 | } | ||
633 | |||
634 | /* | ||
619 | * Memory is added always to NORMAL zone. This means you will never get | 635 | * Memory is added always to NORMAL zone. This means you will never get |
620 | * additional DMA/DMA32 memory. | 636 | * additional DMA/DMA32 memory. |
621 | */ | 637 | */ |
@@ -634,6 +650,9 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
634 | ret = __add_pages(nid, zone, start_pfn, nr_pages); | 650 | ret = __add_pages(nid, zone, start_pfn, nr_pages); |
635 | WARN_ON_ONCE(ret); | 651 | WARN_ON_ONCE(ret); |
636 | 652 | ||
653 | /* update max_pfn, max_low_pfn and high_memory */ | ||
654 | update_end_of_memory_vars(start, size); | ||
655 | |||
637 | return ret; | 656 | return ret; |
638 | } | 657 | } |
639 | EXPORT_SYMBOL_GPL(arch_add_memory); | 658 | EXPORT_SYMBOL_GPL(arch_add_memory); |