diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/include/asm/cacheflush.h | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-gemini/gpio.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/mux.c | 12 | ||||
| -rw-r--r-- | arch/arm/mm/alignment.c | 3 | ||||
| -rw-r--r-- | arch/arm/tools/mach-types | 46 | ||||
| -rw-r--r-- | arch/ia64/include/asm/acpi.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/platforms/85xx/mpc85xx_mds.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/platforms/85xx/smp.c | 21 | ||||
| -rw-r--r-- | arch/x86/kernel/acpi/boot.c | 8 |
10 files changed, 79 insertions, 23 deletions
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index c77d2fa1f6e5..8113bb5fb66e 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h | |||
| @@ -42,7 +42,8 @@ | |||
| 42 | #endif | 42 | #endif |
| 43 | 43 | ||
| 44 | #if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \ | 44 | #if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \ |
| 45 | defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) | 45 | defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) || \ |
| 46 | defined(CONFIG_CPU_ARM1026) | ||
| 46 | # define MULTI_CACHE 1 | 47 | # define MULTI_CACHE 1 |
| 47 | #endif | 48 | #endif |
| 48 | 49 | ||
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index c6c57b640b6b..621acad8ea43 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
| @@ -102,6 +102,7 @@ struct cpu_cache_fns cpu_cache; | |||
| 102 | #endif | 102 | #endif |
| 103 | #ifdef CONFIG_OUTER_CACHE | 103 | #ifdef CONFIG_OUTER_CACHE |
| 104 | struct outer_cache_fns outer_cache; | 104 | struct outer_cache_fns outer_cache; |
| 105 | EXPORT_SYMBOL(outer_cache); | ||
| 105 | #endif | 106 | #endif |
| 106 | 107 | ||
| 107 | struct stack { | 108 | struct stack { |
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c index e7263854bc7b..fe3bd5ac8b10 100644 --- a/arch/arm/mach-gemini/gpio.c +++ b/arch/arm/mach-gemini/gpio.c | |||
| @@ -86,7 +86,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) | |||
| 86 | unsigned int reg_both, reg_level, reg_type; | 86 | unsigned int reg_both, reg_level, reg_type; |
| 87 | 87 | ||
| 88 | reg_type = __raw_readl(base + GPIO_INT_TYPE); | 88 | reg_type = __raw_readl(base + GPIO_INT_TYPE); |
| 89 | reg_level = __raw_readl(base + GPIO_INT_BOTH_EDGE); | 89 | reg_level = __raw_readl(base + GPIO_INT_LEVEL); |
| 90 | reg_both = __raw_readl(base + GPIO_INT_BOTH_EDGE); | 90 | reg_both = __raw_readl(base + GPIO_INT_BOTH_EDGE); |
| 91 | 91 | ||
| 92 | switch (type) { | 92 | switch (type) { |
| @@ -117,7 +117,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) | |||
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | __raw_writel(reg_type, base + GPIO_INT_TYPE); | 119 | __raw_writel(reg_type, base + GPIO_INT_TYPE); |
| 120 | __raw_writel(reg_level, base + GPIO_INT_BOTH_EDGE); | 120 | __raw_writel(reg_level, base + GPIO_INT_LEVEL); |
| 121 | __raw_writel(reg_both, base + GPIO_INT_BOTH_EDGE); | 121 | __raw_writel(reg_both, base + GPIO_INT_BOTH_EDGE); |
| 122 | 122 | ||
| 123 | gpio_ack_irq(irq); | 123 | gpio_ack_irq(irq); |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 5fedc50c58e4..5fef73f4743d 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
| @@ -961,16 +961,14 @@ static void __init omap_mux_init_list(struct omap_mux *superset) | |||
| 961 | while (superset->reg_offset != OMAP_MUX_TERMINATOR) { | 961 | while (superset->reg_offset != OMAP_MUX_TERMINATOR) { |
| 962 | struct omap_mux *entry; | 962 | struct omap_mux *entry; |
| 963 | 963 | ||
| 964 | #ifndef CONFIG_OMAP_MUX | 964 | #ifdef CONFIG_OMAP_MUX |
| 965 | /* Skip pins that are not muxed as GPIO by bootloader */ | 965 | if (!superset->muxnames || !superset->muxnames[0]) { |
| 966 | if (!OMAP_MODE_GPIO(omap_mux_read(superset->reg_offset))) { | ||
| 967 | superset++; | 966 | superset++; |
| 968 | continue; | 967 | continue; |
| 969 | } | 968 | } |
| 970 | #endif | 969 | #else |
| 971 | 970 | /* Skip pins that are not muxed as GPIO by bootloader */ | |
| 972 | #if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) | 971 | if (!OMAP_MODE_GPIO(omap_mux_read(superset->reg_offset))) { |
| 973 | if (!superset->muxnames || !superset->muxnames[0]) { | ||
| 974 | superset++; | 972 | superset++; |
| 975 | continue; | 973 | continue; |
| 976 | } | 974 | } |
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index b270d6228fe2..62820eda84d9 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | * it under the terms of the GNU General Public License version 2 as | 11 | * it under the terms of the GNU General Public License version 2 as |
| 12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
| 13 | */ | 13 | */ |
| 14 | #include <linux/moduleparam.h> | ||
| 14 | #include <linux/compiler.h> | 15 | #include <linux/compiler.h> |
| 15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 16 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
| @@ -77,6 +78,8 @@ static unsigned long ai_dword; | |||
| 77 | static unsigned long ai_multi; | 78 | static unsigned long ai_multi; |
| 78 | static int ai_usermode; | 79 | static int ai_usermode; |
| 79 | 80 | ||
| 81 | core_param(alignment, ai_usermode, int, 0600); | ||
| 82 | |||
| 80 | #define UM_WARN (1 << 0) | 83 | #define UM_WARN (1 << 0) |
| 81 | #define UM_FIXUP (1 << 1) | 84 | #define UM_FIXUP (1 << 1) |
| 82 | #define UM_SIGNAL (1 << 2) | 85 | #define UM_SIGNAL (1 << 2) |
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index 5a79fc6ee818..31c2f4c30a95 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | # | 12 | # |
| 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new | 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new |
| 14 | # | 14 | # |
| 15 | # Last update: Thu Jan 28 22:15:54 2010 | 15 | # Last update: Sat Feb 20 14:16:15 2010 |
| 16 | # | 16 | # |
| 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number | 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number |
| 18 | # | 18 | # |
| @@ -2257,7 +2257,7 @@ oratisalog MACH_ORATISALOG ORATISALOG 2268 | |||
| 2257 | oratismadi MACH_ORATISMADI ORATISMADI 2269 | 2257 | oratismadi MACH_ORATISMADI ORATISMADI 2269 |
| 2258 | oratisot16 MACH_ORATISOT16 ORATISOT16 2270 | 2258 | oratisot16 MACH_ORATISOT16 ORATISOT16 2270 |
| 2259 | oratisdesk MACH_ORATISDESK ORATISDESK 2271 | 2259 | oratisdesk MACH_ORATISDESK ORATISDESK 2271 |
| 2260 | v2_ca9 MACH_V2P_CA9 V2P_CA9 2272 | 2260 | vexpress MACH_VEXPRESS VEXPRESS 2272 |
| 2261 | sintexo MACH_SINTEXO SINTEXO 2273 | 2261 | sintexo MACH_SINTEXO SINTEXO 2273 |
| 2262 | cm3389 MACH_CM3389 CM3389 2274 | 2262 | cm3389 MACH_CM3389 CM3389 2274 |
| 2263 | omap3_cio MACH_OMAP3_CIO OMAP3_CIO 2275 | 2263 | omap3_cio MACH_OMAP3_CIO OMAP3_CIO 2275 |
| @@ -2636,3 +2636,45 @@ hw90240 MACH_HW90240 HW90240 2648 | |||
| 2636 | dm365_leopard MACH_DM365_LEOPARD DM365_LEOPARD 2649 | 2636 | dm365_leopard MACH_DM365_LEOPARD DM365_LEOPARD 2649 |
| 2637 | mityomapl138 MACH_MITYOMAPL138 MITYOMAPL138 2650 | 2637 | mityomapl138 MACH_MITYOMAPL138 MITYOMAPL138 2650 |
| 2638 | scat110 MACH_SCAT110 SCAT110 2651 | 2638 | scat110 MACH_SCAT110 SCAT110 2651 |
| 2639 | acer_a1 MACH_ACER_A1 ACER_A1 2652 | ||
| 2640 | cmcontrol MACH_CMCONTROL CMCONTROL 2653 | ||
| 2641 | pelco_lamar MACH_PELCO_LAMAR PELCO_LAMAR 2654 | ||
| 2642 | rfp43 MACH_RFP43 RFP43 2655 | ||
| 2643 | sk86r0301 MACH_SK86R0301 SK86R0301 2656 | ||
| 2644 | ctpxa MACH_CTPXA CTPXA 2657 | ||
| 2645 | epb_arm9_a MACH_EPB_ARM9_A EPB_ARM9_A 2658 | ||
| 2646 | guruplug MACH_GURUPLUG GURUPLUG 2659 | ||
| 2647 | spear310 MACH_SPEAR310 SPEAR310 2660 | ||
| 2648 | spear320 MACH_SPEAR320 SPEAR320 2661 | ||
| 2649 | robotx MACH_ROBOTX ROBOTX 2662 | ||
| 2650 | lsxhl MACH_LSXHL LSXHL 2663 | ||
| 2651 | smartlite MACH_SMARTLITE SMARTLITE 2664 | ||
| 2652 | cws2 MACH_CWS2 CWS2 2665 | ||
| 2653 | m619 MACH_M619 M619 2666 | ||
| 2654 | smartview MACH_SMARTVIEW SMARTVIEW 2667 | ||
| 2655 | lsa_salsa MACH_LSA_SALSA LSA_SALSA 2668 | ||
| 2656 | kizbox MACH_KIZBOX KIZBOX 2669 | ||
| 2657 | htccharmer MACH_HTCCHARMER HTCCHARMER 2670 | ||
| 2658 | guf_neso_lt MACH_GUF_NESO_LT GUF_NESO_LT 2671 | ||
| 2659 | pm9g45 MACH_PM9G45 PM9G45 2672 | ||
| 2660 | htcpanther MACH_HTCPANTHER HTCPANTHER 2673 | ||
| 2661 | htcpanther_cdma MACH_HTCPANTHER_CDMA HTCPANTHER_CDMA 2674 | ||
| 2662 | reb01 MACH_REB01 REB01 2675 | ||
| 2663 | aquila MACH_AQUILA AQUILA 2676 | ||
| 2664 | spark_sls_hw2 MACH_SPARK_SLS_HW2 SPARK_SLS_HW2 2677 | ||
| 2665 | sheeva_esata MACH_ESATA_SHEEVAPLUG ESATA_SHEEVAPLUG 2678 | ||
| 2666 | surf7x30 MACH_SURF7X30 SURF7X30 2679 | ||
| 2667 | micro2440 MACH_MICRO2440 MICRO2440 2680 | ||
| 2668 | am2440 MACH_AM2440 AM2440 2681 | ||
| 2669 | tq2440 MACH_TQ2440 TQ2440 2682 | ||
| 2670 | lpc2478oem MACH_LPC2478OEM LPC2478OEM 2683 | ||
| 2671 | ak880x MACH_AK880X AK880X 2684 | ||
| 2672 | cobra3530 MACH_COBRA3530 COBRA3530 2685 | ||
| 2673 | pmppb MACH_PMPPB PMPPB 2686 | ||
| 2674 | u6715 MACH_U6715 U6715 2687 | ||
| 2675 | axar1500_sender MACH_AXAR1500_SENDER AXAR1500_SENDER 2688 | ||
| 2676 | g30_dvb MACH_G30_DVB G30_DVB 2689 | ||
| 2677 | vc088x MACH_VC088X VC088X 2690 | ||
| 2678 | mioa702 MACH_MIOA702 MIOA702 2691 | ||
| 2679 | hpmin MACH_HPMIN HPMIN 2692 | ||
| 2680 | ak880xak MACH_AK880XAK AK880XAK 2693 | ||
diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h index 7ae58892ba8d..e97b255d97bc 100644 --- a/arch/ia64/include/asm/acpi.h +++ b/arch/ia64/include/asm/acpi.h | |||
| @@ -94,6 +94,7 @@ ia64_acpi_release_global_lock (unsigned int *lock) | |||
| 94 | #define acpi_noirq 0 /* ACPI always enabled on IA64 */ | 94 | #define acpi_noirq 0 /* ACPI always enabled on IA64 */ |
| 95 | #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ | 95 | #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ |
| 96 | #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ | 96 | #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ |
| 97 | #define acpi_ht 0 /* no HT-only mode on IA64 */ | ||
| 97 | #endif | 98 | #endif |
| 98 | #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ | 99 | #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ |
| 99 | static inline void disable_acpi(void) { } | 100 | static inline void disable_acpi(void) { } |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index 21f61b8c445b..cc29c0f5300d 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c | |||
| @@ -338,7 +338,8 @@ static void __init mpc85xx_mds_pic_init(void) | |||
| 338 | } | 338 | } |
| 339 | 339 | ||
| 340 | mpic = mpic_alloc(np, r.start, | 340 | mpic = mpic_alloc(np, r.start, |
| 341 | MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, | 341 | MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN | |
| 342 | MPIC_BROKEN_FRR_NIRQS, | ||
| 342 | 0, 256, " OpenPIC "); | 343 | 0, 256, " OpenPIC "); |
| 343 | BUG_ON(mpic == NULL); | 344 | BUG_ON(mpic == NULL); |
| 344 | of_node_put(np); | 345 | of_node_put(np); |
diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c index 04160a4cc699..a15f582300d8 100644 --- a/arch/powerpc/platforms/85xx/smp.c +++ b/arch/powerpc/platforms/85xx/smp.c | |||
| @@ -46,6 +46,7 @@ smp_85xx_kick_cpu(int nr) | |||
| 46 | __iomem u32 *bptr_vaddr; | 46 | __iomem u32 *bptr_vaddr; |
| 47 | struct device_node *np; | 47 | struct device_node *np; |
| 48 | int n = 0; | 48 | int n = 0; |
| 49 | int ioremappable; | ||
| 49 | 50 | ||
| 50 | WARN_ON (nr < 0 || nr >= NR_CPUS); | 51 | WARN_ON (nr < 0 || nr >= NR_CPUS); |
| 51 | 52 | ||
| @@ -59,21 +60,37 @@ smp_85xx_kick_cpu(int nr) | |||
| 59 | return; | 60 | return; |
| 60 | } | 61 | } |
| 61 | 62 | ||
| 63 | /* | ||
| 64 | * A secondary core could be in a spinloop in the bootpage | ||
| 65 | * (0xfffff000), somewhere in highmem, or somewhere in lowmem. | ||
| 66 | * The bootpage and highmem can be accessed via ioremap(), but | ||
| 67 | * we need to directly access the spinloop if its in lowmem. | ||
| 68 | */ | ||
| 69 | ioremappable = *cpu_rel_addr > virt_to_phys(high_memory); | ||
| 70 | |||
| 62 | /* Map the spin table */ | 71 | /* Map the spin table */ |
| 63 | bptr_vaddr = ioremap(*cpu_rel_addr, SIZE_BOOT_ENTRY); | 72 | if (ioremappable) |
| 73 | bptr_vaddr = ioremap(*cpu_rel_addr, SIZE_BOOT_ENTRY); | ||
| 74 | else | ||
| 75 | bptr_vaddr = phys_to_virt(*cpu_rel_addr); | ||
| 64 | 76 | ||
| 65 | local_irq_save(flags); | 77 | local_irq_save(flags); |
| 66 | 78 | ||
| 67 | out_be32(bptr_vaddr + BOOT_ENTRY_PIR, nr); | 79 | out_be32(bptr_vaddr + BOOT_ENTRY_PIR, nr); |
| 68 | out_be32(bptr_vaddr + BOOT_ENTRY_ADDR_LOWER, __pa(__early_start)); | 80 | out_be32(bptr_vaddr + BOOT_ENTRY_ADDR_LOWER, __pa(__early_start)); |
| 69 | 81 | ||
| 82 | if (!ioremappable) | ||
| 83 | flush_dcache_range((ulong)bptr_vaddr, | ||
| 84 | (ulong)(bptr_vaddr + SIZE_BOOT_ENTRY)); | ||
| 85 | |||
| 70 | /* Wait a bit for the CPU to ack. */ | 86 | /* Wait a bit for the CPU to ack. */ |
| 71 | while ((__secondary_hold_acknowledge != nr) && (++n < 1000)) | 87 | while ((__secondary_hold_acknowledge != nr) && (++n < 1000)) |
| 72 | mdelay(1); | 88 | mdelay(1); |
| 73 | 89 | ||
| 74 | local_irq_restore(flags); | 90 | local_irq_restore(flags); |
| 75 | 91 | ||
| 76 | iounmap(bptr_vaddr); | 92 | if (ioremappable) |
| 93 | iounmap(bptr_vaddr); | ||
| 77 | 94 | ||
| 78 | pr_debug("waited %d msecs for CPU #%d.\n", n, nr); | 95 | pr_debug("waited %d msecs for CPU #%d.\n", n, nr); |
| 79 | } | 96 | } |
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 0acbcdfa5ca4..af1c5833ff23 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
| @@ -1344,14 +1344,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
| 1344 | }, | 1344 | }, |
| 1345 | { | 1345 | { |
| 1346 | .callback = force_acpi_ht, | 1346 | .callback = force_acpi_ht, |
| 1347 | .ident = "ASUS P2B-DS", | ||
| 1348 | .matches = { | ||
| 1349 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | ||
| 1350 | DMI_MATCH(DMI_BOARD_NAME, "P2B-DS"), | ||
| 1351 | }, | ||
| 1352 | }, | ||
| 1353 | { | ||
| 1354 | .callback = force_acpi_ht, | ||
| 1355 | .ident = "ASUS CUR-DLS", | 1347 | .ident = "ASUS CUR-DLS", |
| 1356 | .matches = { | 1348 | .matches = { |
| 1357 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | 1349 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), |
