diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-02-02 01:10:03 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-02-02 01:10:06 -0500 |
commit | 8104a4775ad8a7863af0b898224b15aa708582db (patch) | |
tree | 71380e4db36e9d91e521d0a98be74981e32a6700 /arch | |
parent | f6bbc1daac964da551130dbf01809d3fbd178b2d (diff) | |
parent | ebf53826e105f488f4f628703a108e98940d1dc5 (diff) |
Merge commit 'v2.6.38-rc3' into perf/core
Merge reason: Pick up latest fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
412 files changed, 1753 insertions, 1874 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index fc95ee1bcf6f..47f63d480141 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -8,6 +8,9 @@ config ALPHA | |||
8 | select HAVE_IRQ_WORK | 8 | select HAVE_IRQ_WORK |
9 | select HAVE_PERF_EVENTS | 9 | select HAVE_PERF_EVENTS |
10 | select HAVE_DMA_ATTRS | 10 | select HAVE_DMA_ATTRS |
11 | select HAVE_GENERIC_HARDIRQS | ||
12 | select GENERIC_IRQ_PROBE | ||
13 | select AUTO_IRQ_AFFINITY if SMP | ||
11 | help | 14 | help |
12 | The Alpha is a 64-bit general-purpose processor designed and | 15 | The Alpha is a 64-bit general-purpose processor designed and |
13 | marketed by the Digital Equipment Corporation of blessed memory, | 16 | marketed by the Digital Equipment Corporation of blessed memory, |
@@ -68,22 +71,6 @@ config GENERIC_IOMAP | |||
68 | bool | 71 | bool |
69 | default n | 72 | default n |
70 | 73 | ||
71 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
72 | def_bool y | ||
73 | |||
74 | config GENERIC_HARDIRQS | ||
75 | bool | ||
76 | default y | ||
77 | |||
78 | config GENERIC_IRQ_PROBE | ||
79 | bool | ||
80 | default y | ||
81 | |||
82 | config AUTO_IRQ_AFFINITY | ||
83 | bool | ||
84 | depends on SMP | ||
85 | default y | ||
86 | |||
87 | source "init/Kconfig" | 74 | source "init/Kconfig" |
88 | source "kernel/Kconfig.freezer" | 75 | source "kernel/Kconfig.freezer" |
89 | 76 | ||
diff --git a/arch/arm/configs/ag5evm_defconfig b/arch/arm/configs/ag5evm_defconfig index 2b9cf56db363..212ead354a6b 100644 --- a/arch/arm/configs/ag5evm_defconfig +++ b/arch/arm/configs/ag5evm_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_NAMESPACES=y | |||
10 | # CONFIG_PID_NS is not set | 10 | # CONFIG_PID_NS is not set |
11 | CONFIG_BLK_DEV_INITRD=y | 11 | CONFIG_BLK_DEV_INITRD=y |
12 | CONFIG_INITRAMFS_SOURCE="" | 12 | CONFIG_INITRAMFS_SOURCE="" |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | CONFIG_SLAB=y | 14 | CONFIG_SLAB=y |
15 | # CONFIG_BLK_DEV_BSG is not set | 15 | # CONFIG_BLK_DEV_BSG is not set |
16 | # CONFIG_IOSCHED_DEADLINE is not set | 16 | # CONFIG_IOSCHED_DEADLINE is not set |
diff --git a/arch/arm/configs/am200epdkit_defconfig b/arch/arm/configs/am200epdkit_defconfig index 5536c488dd01..f0dea52e49c4 100644 --- a/arch/arm/configs/am200epdkit_defconfig +++ b/arch/arm/configs/am200epdkit_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_LOCALVERSION="gum" | |||
3 | # CONFIG_SWAP is not set | 3 | # CONFIG_SWAP is not set |
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_EPOLL is not set | 8 | # CONFIG_EPOLL is not set |
9 | # CONFIG_SHMEM is not set | 9 | # CONFIG_SHMEM is not set |
diff --git a/arch/arm/configs/at572d940hfek_defconfig b/arch/arm/configs/at572d940hfek_defconfig index 695e32d4fb58..1b1158ae8f82 100644 --- a/arch/arm/configs/at572d940hfek_defconfig +++ b/arch/arm/configs/at572d940hfek_defconfig | |||
@@ -17,7 +17,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
17 | CONFIG_RELAY=y | 17 | CONFIG_RELAY=y |
18 | CONFIG_BLK_DEV_INITRD=y | 18 | CONFIG_BLK_DEV_INITRD=y |
19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
20 | CONFIG_EMBEDDED=y | 20 | CONFIG_EXPERT=y |
21 | CONFIG_SLAB=y | 21 | CONFIG_SLAB=y |
22 | CONFIG_PROFILING=y | 22 | CONFIG_PROFILING=y |
23 | CONFIG_OPROFILE=m | 23 | CONFIG_OPROFILE=m |
diff --git a/arch/arm/configs/badge4_defconfig b/arch/arm/configs/badge4_defconfig index 3a1ad15a779f..5b54abbeb0b3 100644 --- a/arch/arm/configs/badge4_defconfig +++ b/arch/arm/configs/badge4_defconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | CONFIG_EMBEDDED=y | 3 | CONFIG_EXPERT=y |
4 | CONFIG_MODULES=y | 4 | CONFIG_MODULES=y |
5 | CONFIG_MODVERSIONS=y | 5 | CONFIG_MODVERSIONS=y |
6 | CONFIG_ARCH_SA1100=y | 6 | CONFIG_ARCH_SA1100=y |
diff --git a/arch/arm/configs/bcmring_defconfig b/arch/arm/configs/bcmring_defconfig index 75984cd1e233..795374d48f81 100644 --- a/arch/arm/configs/bcmring_defconfig +++ b/arch/arm/configs/bcmring_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | # CONFIG_LOCALVERSION_AUTO is not set | 2 | # CONFIG_LOCALVERSION_AUTO is not set |
3 | # CONFIG_SWAP is not set | 3 | # CONFIG_SWAP is not set |
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_KALLSYMS_EXTRA_PASS=y | 6 | CONFIG_KALLSYMS_EXTRA_PASS=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_ELF_CORE is not set | 8 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/arm/configs/cm_x2xx_defconfig b/arch/arm/configs/cm_x2xx_defconfig index dcfbcf3b6c3e..a93ff8da5bab 100644 --- a/arch/arm/configs/cm_x2xx_defconfig +++ b/arch/arm/configs/cm_x2xx_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_SYSFS_DEPRECATED_V2=y | 7 | CONFIG_SYSFS_DEPRECATED_V2=y |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_VM_EVENT_COUNTERS is not set | 10 | # CONFIG_VM_EVENT_COUNTERS is not set |
11 | # CONFIG_SLUB_DEBUG is not set | 11 | # CONFIG_SLUB_DEBUG is not set |
12 | # CONFIG_COMPAT_BRK is not set | 12 | # CONFIG_COMPAT_BRK is not set |
diff --git a/arch/arm/configs/colibri_pxa270_defconfig b/arch/arm/configs/colibri_pxa270_defconfig index f52c64e36d8d..2ef2c5e8aaec 100644 --- a/arch/arm/configs/colibri_pxa270_defconfig +++ b/arch/arm/configs/colibri_pxa270_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y | |||
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | CONFIG_SYSFS_DEPRECATED_V2=y | 9 | CONFIG_SYSFS_DEPRECATED_V2=y |
10 | CONFIG_BLK_DEV_INITRD=y | 10 | CONFIG_BLK_DEV_INITRD=y |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | CONFIG_KALLSYMS_EXTRA_PASS=y | 12 | CONFIG_KALLSYMS_EXTRA_PASS=y |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
14 | CONFIG_MODULES=y | 14 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/collie_defconfig b/arch/arm/configs/collie_defconfig index 310f9a6270be..6c56ad086c7c 100644 --- a/arch/arm/configs/collie_defconfig +++ b/arch/arm/configs/collie_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BASE_FULL is not set | 8 | # CONFIG_BASE_FULL is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
10 | CONFIG_SLOB=y | 10 | CONFIG_SLOB=y |
diff --git a/arch/arm/configs/corgi_defconfig b/arch/arm/configs/corgi_defconfig index 4a1fa81ed37d..e53c47563845 100644 --- a/arch/arm/configs/corgi_defconfig +++ b/arch/arm/configs/corgi_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_PROFILING=y | 8 | CONFIG_PROFILING=y |
9 | CONFIG_OPROFILE=m | 9 | CONFIG_OPROFILE=m |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig index cdc40c4b8c48..88ccde058ba4 100644 --- a/arch/arm/configs/da8xx_omapl_defconfig +++ b/arch/arm/configs/da8xx_omapl_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y | |||
6 | CONFIG_IKCONFIG_PROC=y | 6 | CONFIG_IKCONFIG_PROC=y |
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
12 | CONFIG_MODULE_FORCE_UNLOAD=y | 12 | CONFIG_MODULE_FORCE_UNLOAD=y |
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig index 2519cc5a5f8f..889922ad229c 100644 --- a/arch/arm/configs/davinci_all_defconfig +++ b/arch/arm/configs/davinci_all_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y | |||
6 | CONFIG_IKCONFIG_PROC=y | 6 | CONFIG_IKCONFIG_PROC=y |
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
12 | CONFIG_MODULE_FORCE_UNLOAD=y | 12 | CONFIG_MODULE_FORCE_UNLOAD=y |
diff --git a/arch/arm/configs/dove_defconfig b/arch/arm/configs/dove_defconfig index 9359e1bf32c1..54bf5eec8016 100644 --- a/arch/arm/configs/dove_defconfig +++ b/arch/arm/configs/dove_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | CONFIG_SLAB=y | 5 | CONFIG_SLAB=y |
6 | CONFIG_MODULES=y | 6 | CONFIG_MODULES=y |
7 | CONFIG_MODULE_UNLOAD=y | 7 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/ebsa110_defconfig b/arch/arm/configs/ebsa110_defconfig index c3194186920c..14559dbb4c2c 100644 --- a/arch/arm/configs/ebsa110_defconfig +++ b/arch/arm/configs/ebsa110_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_BSD_PROCESS_ACCT=y | 3 | CONFIG_BSD_PROCESS_ACCT=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_MODULES=y | 6 | CONFIG_MODULES=y |
7 | CONFIG_ARCH_EBSA110=y | 7 | CONFIG_ARCH_EBSA110=y |
8 | CONFIG_PCCARD=m | 8 | CONFIG_PCCARD=m |
diff --git a/arch/arm/configs/edb7211_defconfig b/arch/arm/configs/edb7211_defconfig index 7b62be1561ea..d52ded350a12 100644 --- a/arch/arm/configs/edb7211_defconfig +++ b/arch/arm/configs/edb7211_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | CONFIG_ARCH_CLPS711X=y | 7 | CONFIG_ARCH_CLPS711X=y |
8 | CONFIG_ARCH_EDB7211=y | 8 | CONFIG_ARCH_EDB7211=y |
diff --git a/arch/arm/configs/em_x270_defconfig b/arch/arm/configs/em_x270_defconfig index d7db34f79702..60a21e01eb70 100644 --- a/arch/arm/configs/em_x270_defconfig +++ b/arch/arm/configs/em_x270_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_SYSFS_DEPRECATED_V2=y | 7 | CONFIG_SYSFS_DEPRECATED_V2=y |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_VM_EVENT_COUNTERS is not set | 10 | # CONFIG_VM_EVENT_COUNTERS is not set |
11 | # CONFIG_SLUB_DEBUG is not set | 11 | # CONFIG_SLUB_DEBUG is not set |
12 | # CONFIG_COMPAT_BRK is not set | 12 | # CONFIG_COMPAT_BRK is not set |
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig index 6d6689cdf398..8e97b2f7ceec 100644 --- a/arch/arm/configs/ep93xx_defconfig +++ b/arch/arm/configs/ep93xx_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y | |||
4 | CONFIG_IKCONFIG_PROC=y | 4 | CONFIG_IKCONFIG_PROC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/eseries_pxa_defconfig b/arch/arm/configs/eseries_pxa_defconfig index 1691dea582fe..d68ac67c201c 100644 --- a/arch/arm/configs/eseries_pxa_defconfig +++ b/arch/arm/configs/eseries_pxa_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_KALLSYMS is not set | 6 | # CONFIG_KALLSYMS is not set |
7 | # CONFIG_COMPAT_BRK is not set | 7 | # CONFIG_COMPAT_BRK is not set |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
diff --git a/arch/arm/configs/ezx_defconfig b/arch/arm/configs/ezx_defconfig index c4eeb6d1cbf0..227a477346ed 100644 --- a/arch/arm/configs/ezx_defconfig +++ b/arch/arm/configs/ezx_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_RD_BZIP2=y | 8 | CONFIG_RD_BZIP2=y |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | # CONFIG_COMPAT_BRK is not set | 11 | # CONFIG_COMPAT_BRK is not set |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
13 | CONFIG_MODULES=y | 13 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/footbridge_defconfig b/arch/arm/configs/footbridge_defconfig index 4f925ead2617..038518ab39a8 100644 --- a/arch/arm/configs/footbridge_defconfig +++ b/arch/arm/configs/footbridge_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_BSD_PROCESS_ACCT=y | 3 | CONFIG_BSD_PROCESS_ACCT=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_ARCH_FOOTBRIDGE=y | 9 | CONFIG_ARCH_FOOTBRIDGE=y |
diff --git a/arch/arm/configs/fortunet_defconfig b/arch/arm/configs/fortunet_defconfig index e11c7eab8ed0..840fced7529f 100644 --- a/arch/arm/configs/fortunet_defconfig +++ b/arch/arm/configs/fortunet_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | CONFIG_ARCH_CLPS711X=y | 7 | CONFIG_ARCH_CLPS711X=y |
8 | CONFIG_ARCH_FORTUNET=y | 8 | CONFIG_ARCH_FORTUNET=y |
diff --git a/arch/arm/configs/h5000_defconfig b/arch/arm/configs/h5000_defconfig index ac336f10000c..37903e3f0efc 100644 --- a/arch/arm/configs/h5000_defconfig +++ b/arch/arm/configs/h5000_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y | |||
4 | CONFIG_IKCONFIG_PROC=y | 4 | CONFIG_IKCONFIG_PROC=y |
5 | CONFIG_LOG_BUF_SHIFT=16 | 5 | CONFIG_LOG_BUF_SHIFT=16 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_UID16 is not set | 8 | # CONFIG_UID16 is not set |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/imote2_defconfig b/arch/arm/configs/imote2_defconfig index ade55c8c408b..176ec22af034 100644 --- a/arch/arm/configs/imote2_defconfig +++ b/arch/arm/configs/imote2_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | CONFIG_RD_BZIP2=y | 7 | CONFIG_RD_BZIP2=y |
8 | CONFIG_RD_LZMA=y | 8 | CONFIG_RD_LZMA=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_COMPAT_BRK is not set | 10 | # CONFIG_COMPAT_BRK is not set |
11 | CONFIG_SLAB=y | 11 | CONFIG_SLAB=y |
12 | CONFIG_MODULES=y | 12 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig index 908324684549..8405aded97a3 100644 --- a/arch/arm/configs/ixp2000_defconfig +++ b/arch/arm/configs/ixp2000_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_BSD_PROCESS_ACCT=y | 3 | CONFIG_BSD_PROCESS_ACCT=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig index 7fc056a8569c..688717612e91 100644 --- a/arch/arm/configs/ixp23xx_defconfig +++ b/arch/arm/configs/ixp23xx_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_BSD_PROCESS_ACCT=y | 3 | CONFIG_BSD_PROCESS_ACCT=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_SLAB=y | 7 | CONFIG_SLAB=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/ixp4xx_defconfig b/arch/arm/configs/ixp4xx_defconfig index 5c5023934001..063e2ab2c8f1 100644 --- a/arch/arm/configs/ixp4xx_defconfig +++ b/arch/arm/configs/ixp4xx_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_BSD_PROCESS_ACCT=y | 3 | CONFIG_BSD_PROCESS_ACCT=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_MODULES=y | 7 | CONFIG_MODULES=y |
8 | CONFIG_MODVERSIONS=y | 8 | CONFIG_MODVERSIONS=y |
9 | # CONFIG_BLK_DEV_BSG is not set | 9 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/arm/configs/loki_defconfig b/arch/arm/configs/loki_defconfig index e1eaff7f5536..1ba752b2dc6d 100644 --- a/arch/arm/configs/loki_defconfig +++ b/arch/arm/configs/loki_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | CONFIG_SLAB=y | 5 | CONFIG_SLAB=y |
6 | CONFIG_MODULES=y | 6 | CONFIG_MODULES=y |
7 | CONFIG_MODULE_UNLOAD=y | 7 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/lpd7a400_defconfig b/arch/arm/configs/lpd7a400_defconfig index 20caaaba4a04..5a48f171204c 100644 --- a/arch/arm/configs/lpd7a400_defconfig +++ b/arch/arm/configs/lpd7a400_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_IKCONFIG=y | 4 | CONFIG_IKCONFIG=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_EPOLL is not set | 8 | # CONFIG_EPOLL is not set |
9 | # CONFIG_IOSCHED_DEADLINE is not set | 9 | # CONFIG_IOSCHED_DEADLINE is not set |
diff --git a/arch/arm/configs/lpd7a404_defconfig b/arch/arm/configs/lpd7a404_defconfig index 1efcce97b4a7..22d0631de009 100644 --- a/arch/arm/configs/lpd7a404_defconfig +++ b/arch/arm/configs/lpd7a404_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_IKCONFIG=y | 4 | CONFIG_IKCONFIG=y |
5 | CONFIG_LOG_BUF_SHIFT=16 | 5 | CONFIG_LOG_BUF_SHIFT=16 |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_EPOLL is not set | 8 | # CONFIG_EPOLL is not set |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
diff --git a/arch/arm/configs/magician_defconfig b/arch/arm/configs/magician_defconfig index af805e8fd03d..a88e64d4e9a5 100644 --- a/arch/arm/configs/magician_defconfig +++ b/arch/arm/configs/magician_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y | |||
4 | CONFIG_IKCONFIG_PROC=y | 4 | CONFIG_IKCONFIG_PROC=y |
5 | CONFIG_LOG_BUF_SHIFT=16 | 5 | CONFIG_LOG_BUF_SHIFT=16 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_UID16 is not set | 8 | # CONFIG_UID16 is not set |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/mv78xx0_defconfig b/arch/arm/configs/mv78xx0_defconfig index b0d082422d46..7305ebddb510 100644 --- a/arch/arm/configs/mv78xx0_defconfig +++ b/arch/arm/configs/mv78xx0_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_SYSFS_DEPRECATED_V2=y | 4 | CONFIG_SYSFS_DEPRECATED_V2=y |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_KALLSYMS_ALL=y | 6 | CONFIG_KALLSYMS_ALL=y |
7 | # CONFIG_SLUB_DEBUG is not set | 7 | # CONFIG_SLUB_DEBUG is not set |
8 | CONFIG_PROFILING=y | 8 | CONFIG_PROFILING=y |
diff --git a/arch/arm/configs/mx1_defconfig b/arch/arm/configs/mx1_defconfig index 2f38d9715437..b39b5ced8a10 100644 --- a/arch/arm/configs/mx1_defconfig +++ b/arch/arm/configs/mx1_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y | |||
4 | CONFIG_IKCONFIG_PROC=y | 4 | CONFIG_IKCONFIG_PROC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/mx21_defconfig b/arch/arm/configs/mx21_defconfig index 6454e18e2abe..411f88dd4402 100644 --- a/arch/arm/configs/mx21_defconfig +++ b/arch/arm/configs/mx21_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_KALLSYMS_EXTRA_PASS=y | 8 | CONFIG_KALLSYMS_EXTRA_PASS=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/mx27_defconfig b/arch/arm/configs/mx27_defconfig index 813cfb366c18..9ad4c656c9bd 100644 --- a/arch/arm/configs/mx27_defconfig +++ b/arch/arm/configs/mx27_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_POSIX_MQUEUE=y | 4 | CONFIG_POSIX_MQUEUE=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_KALLSYMS_EXTRA_PASS=y | 8 | CONFIG_KALLSYMS_EXTRA_PASS=y |
9 | # CONFIG_COMPAT_BRK is not set | 9 | # CONFIG_COMPAT_BRK is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig index e648ea3429be..7c4b30b34952 100644 --- a/arch/arm/configs/mx3_defconfig +++ b/arch/arm/configs/mx3_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y | |||
4 | CONFIG_IKCONFIG_PROC=y | 4 | CONFIG_IKCONFIG_PROC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/mx51_defconfig b/arch/arm/configs/mx51_defconfig index 5c7a87260fab..9cba68cfa51a 100644 --- a/arch/arm/configs/mx51_defconfig +++ b/arch/arm/configs/mx51_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_LOG_BUF_SHIFT=18 | 4 | CONFIG_LOG_BUF_SHIFT=18 |
5 | CONFIG_RELAY=y | 5 | CONFIG_RELAY=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SLUB_DEBUG is not set | 7 | # CONFIG_SLUB_DEBUG is not set |
8 | # CONFIG_COMPAT_BRK is not set | 8 | # CONFIG_COMPAT_BRK is not set |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig index 0e2dc26ebe66..37207d1bf44b 100644 --- a/arch/arm/configs/nhk8815_defconfig +++ b/arch/arm/configs/nhk8815_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG_PROC=y | |||
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_SYSFS_DEPRECATED_V2=y | 8 | CONFIG_SYSFS_DEPRECATED_V2=y |
9 | CONFIG_BLK_DEV_INITRD=y | 9 | CONFIG_BLK_DEV_INITRD=y |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_KALLSYMS_ALL=y | 11 | CONFIG_KALLSYMS_ALL=y |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
13 | CONFIG_MODULES=y | 13 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/omap1_defconfig b/arch/arm/configs/omap1_defconfig index a350cc6bfe6a..7b63462b349d 100644 --- a/arch/arm/configs/omap1_defconfig +++ b/arch/arm/configs/omap1_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
6 | CONFIG_IKCONFIG=y | 6 | CONFIG_IKCONFIG=y |
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_KALLSYMS is not set | 10 | # CONFIG_KALLSYMS is not set |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
12 | # CONFIG_BASE_FULL is not set | 12 | # CONFIG_BASE_FULL is not set |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index ccedde1371c3..ae890caa17a7 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y | |||
6 | CONFIG_IKCONFIG_PROC=y | 6 | CONFIG_IKCONFIG_PROC=y |
7 | CONFIG_LOG_BUF_SHIFT=16 | 7 | CONFIG_LOG_BUF_SHIFT=16 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_SYSCTL_SYSCALL is not set | 10 | # CONFIG_SYSCTL_SYSCALL is not set |
11 | CONFIG_KALLSYMS_EXTRA_PASS=y | 11 | CONFIG_KALLSYMS_EXTRA_PASS=y |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig index 439323b3b0ed..a288d7033950 100644 --- a/arch/arm/configs/orion5x_defconfig +++ b/arch/arm/configs/orion5x_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_SYSFS_DEPRECATED_V2=y | 4 | CONFIG_SYSFS_DEPRECATED_V2=y |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_SLUB_DEBUG is not set | 6 | # CONFIG_SLUB_DEBUG is not set |
7 | CONFIG_PROFILING=y | 7 | CONFIG_PROFILING=y |
8 | CONFIG_OPROFILE=y | 8 | CONFIG_OPROFILE=y |
diff --git a/arch/arm/configs/pcm027_defconfig b/arch/arm/configs/pcm027_defconfig index 583a0610bd00..2f136c30a989 100644 --- a/arch/arm/configs/pcm027_defconfig +++ b/arch/arm/configs/pcm027_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y | |||
7 | CONFIG_IKCONFIG_PROC=y | 7 | CONFIG_IKCONFIG_PROC=y |
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | # CONFIG_KALLSYMS is not set | 11 | # CONFIG_KALLSYMS is not set |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
13 | CONFIG_MODULES=y | 13 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/pcontrol_g20_defconfig b/arch/arm/configs/pcontrol_g20_defconfig index b42ee62c4d77..c75c9fcede58 100644 --- a/arch/arm/configs/pcontrol_g20_defconfig +++ b/arch/arm/configs/pcontrol_g20_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_NAMESPACES=y | 11 | CONFIG_NAMESPACES=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | # CONFIG_SYSCTL_SYSCALL is not set | 14 | # CONFIG_SYSCTL_SYSCALL is not set |
15 | # CONFIG_KALLSYMS is not set | 15 | # CONFIG_KALLSYMS is not set |
16 | # CONFIG_VM_EVENT_COUNTERS is not set | 16 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/arm/configs/pleb_defconfig b/arch/arm/configs/pleb_defconfig index d1efbdc1e6dc..cb08cc561da5 100644 --- a/arch/arm/configs/pleb_defconfig +++ b/arch/arm/configs/pleb_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_SHMEM is not set | 8 | # CONFIG_SHMEM is not set |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/pnx4008_defconfig b/arch/arm/configs/pnx4008_defconfig index bd481f04276f..35a31ccacc32 100644 --- a/arch/arm/configs/pnx4008_defconfig +++ b/arch/arm/configs/pnx4008_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
5 | CONFIG_AUDIT=y | 5 | CONFIG_AUDIT=y |
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/simpad_defconfig b/arch/arm/configs/simpad_defconfig index af3b12e3b464..d3358155bf8a 100644 --- a/arch/arm/configs/simpad_defconfig +++ b/arch/arm/configs/simpad_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_LOCALVERSION="oe1" | 2 | CONFIG_LOCALVERSION="oe1" |
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_KALLSYMS_ALL=y | 6 | CONFIG_KALLSYMS_ALL=y |
7 | CONFIG_KALLSYMS_EXTRA_PASS=y | 7 | CONFIG_KALLSYMS_EXTRA_PASS=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/spitz_defconfig b/arch/arm/configs/spitz_defconfig index aebd4bb0ad01..70158273c6dd 100644 --- a/arch/arm/configs/spitz_defconfig +++ b/arch/arm/configs/spitz_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_PROFILING=y | 8 | CONFIG_PROFILING=y |
9 | CONFIG_OPROFILE=m | 9 | CONFIG_OPROFILE=m |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/stmp378x_defconfig b/arch/arm/configs/stmp378x_defconfig index 94a2d904bf94..1079c2b6eb3a 100644 --- a/arch/arm/configs/stmp378x_defconfig +++ b/arch/arm/configs/stmp378x_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_BSD_PROCESS_ACCT=y | 5 | CONFIG_BSD_PROCESS_ACCT=y |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/stmp37xx_defconfig b/arch/arm/configs/stmp37xx_defconfig index d8ee58cfa872..564a5cc44085 100644 --- a/arch/arm/configs/stmp37xx_defconfig +++ b/arch/arm/configs/stmp37xx_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_BSD_PROCESS_ACCT=y | 5 | CONFIG_BSD_PROCESS_ACCT=y |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/arm/configs/tct_hammer_defconfig b/arch/arm/configs/tct_hammer_defconfig index e89ca19489c2..95c0f0d63db6 100644 --- a/arch/arm/configs/tct_hammer_defconfig +++ b/arch/arm/configs/tct_hammer_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_BUG is not set | 10 | # CONFIG_BUG is not set |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/arm/configs/trizeps4_defconfig b/arch/arm/configs/trizeps4_defconfig index 37f48342827c..3162173fa75a 100644 --- a/arch/arm/configs/trizeps4_defconfig +++ b/arch/arm/configs/trizeps4_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y | |||
7 | CONFIG_IKCONFIG_PROC=y | 7 | CONFIG_IKCONFIG_PROC=y |
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | CONFIG_BLK_DEV_INITRD=y | 9 | CONFIG_BLK_DEV_INITRD=y |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_KALLSYMS_EXTRA_PASS=y | 11 | CONFIG_KALLSYMS_EXTRA_PASS=y |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
13 | CONFIG_MODULES=y | 13 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/u300_defconfig b/arch/arm/configs/u300_defconfig index c1c252cdca60..4a5a12681be2 100644 --- a/arch/arm/configs/u300_defconfig +++ b/arch/arm/configs/u300_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | # CONFIG_SWAP is not set | 3 | # CONFIG_SWAP is not set |
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_AIO is not set | 7 | # CONFIG_AIO is not set |
8 | # CONFIG_VM_EVENT_COUNTERS is not set | 8 | # CONFIG_VM_EVENT_COUNTERS is not set |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/arm/configs/viper_defconfig b/arch/arm/configs/viper_defconfig index 9d7bf5e0d0f5..8b0c717378fa 100644 --- a/arch/arm/configs/viper_defconfig +++ b/arch/arm/configs/viper_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_LOG_BUF_SHIFT=13 | 4 | CONFIG_LOG_BUF_SHIFT=13 |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_ELF_CORE is not set | 7 | # CONFIG_ELF_CORE is not set |
8 | # CONFIG_SHMEM is not set | 8 | # CONFIG_SHMEM is not set |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
diff --git a/arch/arm/configs/xcep_defconfig b/arch/arm/configs/xcep_defconfig index 70d47dbae6db..5b5504143647 100644 --- a/arch/arm/configs/xcep_defconfig +++ b/arch/arm/configs/xcep_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y | |||
8 | CONFIG_LOG_BUF_SHIFT=16 | 8 | CONFIG_LOG_BUF_SHIFT=16 |
9 | CONFIG_SYSFS_DEPRECATED_V2=y | 9 | CONFIG_SYSFS_DEPRECATED_V2=y |
10 | CONFIG_BLK_DEV_INITRD=y | 10 | CONFIG_BLK_DEV_INITRD=y |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SHMEM is not set | 13 | # CONFIG_SHMEM is not set |
14 | # CONFIG_VM_EVENT_COUNTERS is not set | 14 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/arm/include/asm/hardware/sp810.h b/arch/arm/include/asm/hardware/sp810.h index a101f10bb5b1..721847dc68ab 100644 --- a/arch/arm/include/asm/hardware/sp810.h +++ b/arch/arm/include/asm/hardware/sp810.h | |||
@@ -50,6 +50,12 @@ | |||
50 | #define SCPCELLID2 0xFF8 | 50 | #define SCPCELLID2 0xFF8 |
51 | #define SCPCELLID3 0xFFC | 51 | #define SCPCELLID3 0xFFC |
52 | 52 | ||
53 | #define SCCTRL_TIMEREN0SEL_REFCLK (0 << 15) | ||
54 | #define SCCTRL_TIMEREN0SEL_TIMCLK (1 << 15) | ||
55 | |||
56 | #define SCCTRL_TIMEREN1SEL_REFCLK (0 << 17) | ||
57 | #define SCCTRL_TIMEREN1SEL_TIMCLK (1 << 17) | ||
58 | |||
53 | static inline void sysctl_soft_reset(void __iomem *base) | 59 | static inline void sysctl_soft_reset(void __iomem *base) |
54 | { | 60 | { |
55 | /* writing any value to SCSYSSTAT reg will reset system */ | 61 | /* writing any value to SCSYSSTAT reg will reset system */ |
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h index 20e0f7c9e03e..d66605dea55a 100644 --- a/arch/arm/include/asm/io.h +++ b/arch/arm/include/asm/io.h | |||
@@ -95,6 +95,15 @@ static inline void __iomem *__typesafe_io(unsigned long addr) | |||
95 | return (void __iomem *)addr; | 95 | return (void __iomem *)addr; |
96 | } | 96 | } |
97 | 97 | ||
98 | /* IO barriers */ | ||
99 | #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE | ||
100 | #define __iormb() rmb() | ||
101 | #define __iowmb() wmb() | ||
102 | #else | ||
103 | #define __iormb() do { } while (0) | ||
104 | #define __iowmb() do { } while (0) | ||
105 | #endif | ||
106 | |||
98 | /* | 107 | /* |
99 | * Now, pick up the machine-defined IO definitions | 108 | * Now, pick up the machine-defined IO definitions |
100 | */ | 109 | */ |
@@ -125,17 +134,17 @@ static inline void __iomem *__typesafe_io(unsigned long addr) | |||
125 | * The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space. | 134 | * The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space. |
126 | */ | 135 | */ |
127 | #ifdef __io | 136 | #ifdef __io |
128 | #define outb(v,p) __raw_writeb(v,__io(p)) | 137 | #define outb(v,p) ({ __iowmb(); __raw_writeb(v,__io(p)); }) |
129 | #define outw(v,p) __raw_writew((__force __u16) \ | 138 | #define outw(v,p) ({ __iowmb(); __raw_writew((__force __u16) \ |
130 | cpu_to_le16(v),__io(p)) | 139 | cpu_to_le16(v),__io(p)); }) |
131 | #define outl(v,p) __raw_writel((__force __u32) \ | 140 | #define outl(v,p) ({ __iowmb(); __raw_writel((__force __u32) \ |
132 | cpu_to_le32(v),__io(p)) | 141 | cpu_to_le32(v),__io(p)); }) |
133 | 142 | ||
134 | #define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __v; }) | 143 | #define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __iormb(); __v; }) |
135 | #define inw(p) ({ __u16 __v = le16_to_cpu((__force __le16) \ | 144 | #define inw(p) ({ __u16 __v = le16_to_cpu((__force __le16) \ |
136 | __raw_readw(__io(p))); __v; }) | 145 | __raw_readw(__io(p))); __iormb(); __v; }) |
137 | #define inl(p) ({ __u32 __v = le32_to_cpu((__force __le32) \ | 146 | #define inl(p) ({ __u32 __v = le32_to_cpu((__force __le32) \ |
138 | __raw_readl(__io(p))); __v; }) | 147 | __raw_readl(__io(p))); __iormb(); __v; }) |
139 | 148 | ||
140 | #define outsb(p,d,l) __raw_writesb(__io(p),d,l) | 149 | #define outsb(p,d,l) __raw_writesb(__io(p),d,l) |
141 | #define outsw(p,d,l) __raw_writesw(__io(p),d,l) | 150 | #define outsw(p,d,l) __raw_writesw(__io(p),d,l) |
@@ -192,14 +201,6 @@ extern void _memset_io(volatile void __iomem *, int, size_t); | |||
192 | #define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \ | 201 | #define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \ |
193 | cpu_to_le32(v),__mem_pci(c))) | 202 | cpu_to_le32(v),__mem_pci(c))) |
194 | 203 | ||
195 | #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE | ||
196 | #define __iormb() rmb() | ||
197 | #define __iowmb() wmb() | ||
198 | #else | ||
199 | #define __iormb() do { } while (0) | ||
200 | #define __iowmb() do { } while (0) | ||
201 | #endif | ||
202 | |||
203 | #define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) | 204 | #define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) |
204 | #define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) | 205 | #define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) |
205 | #define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; }) | 206 | #define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; }) |
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 23c2e8e5c0fa..d0ee74b7cf86 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -188,7 +188,7 @@ | |||
188 | * translation for translating DMA addresses. Use the driver | 188 | * translation for translating DMA addresses. Use the driver |
189 | * DMA support - see dma-mapping.h. | 189 | * DMA support - see dma-mapping.h. |
190 | */ | 190 | */ |
191 | static inline unsigned long virt_to_phys(void *x) | 191 | static inline unsigned long virt_to_phys(const volatile void *x) |
192 | { | 192 | { |
193 | return __virt_to_phys((unsigned long)(x)); | 193 | return __virt_to_phys((unsigned long)(x)); |
194 | } | 194 | } |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index f17d9a09e8fb..c0225da3fb21 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -392,24 +392,22 @@ ENDPROC(__turn_mmu_on) | |||
392 | 392 | ||
393 | #ifdef CONFIG_SMP_ON_UP | 393 | #ifdef CONFIG_SMP_ON_UP |
394 | __fixup_smp: | 394 | __fixup_smp: |
395 | mov r4, #0x00070000 | 395 | and r3, r9, #0x000f0000 @ architecture version |
396 | orr r3, r4, #0xff000000 @ mask 0xff070000 | 396 | teq r3, #0x000f0000 @ CPU ID supported? |
397 | orr r4, r4, #0x41000000 @ val 0x41070000 | ||
398 | and r0, r9, r3 | ||
399 | teq r0, r4 @ ARM CPU and ARMv6/v7? | ||
400 | bne __fixup_smp_on_up @ no, assume UP | 397 | bne __fixup_smp_on_up @ no, assume UP |
401 | 398 | ||
402 | orr r3, r3, #0x0000ff00 | 399 | bic r3, r9, #0x00ff0000 |
403 | orr r3, r3, #0x000000f0 @ mask 0xff07fff0 | 400 | bic r3, r3, #0x0000000f @ mask 0xff00fff0 |
401 | mov r4, #0x41000000 | ||
404 | orr r4, r4, #0x0000b000 | 402 | orr r4, r4, #0x0000b000 |
405 | orr r4, r4, #0x00000020 @ val 0x4107b020 | 403 | orr r4, r4, #0x00000020 @ val 0x4100b020 |
406 | and r0, r9, r3 | 404 | teq r3, r4 @ ARM 11MPCore? |
407 | teq r0, r4 @ ARM 11MPCore? | ||
408 | moveq pc, lr @ yes, assume SMP | 405 | moveq pc, lr @ yes, assume SMP |
409 | 406 | ||
410 | mrc p15, 0, r0, c0, c0, 5 @ read MPIDR | 407 | mrc p15, 0, r0, c0, c0, 5 @ read MPIDR |
411 | tst r0, #1 << 31 | 408 | and r0, r0, #0xc0000000 @ multiprocessing extensions and |
412 | movne pc, lr @ bit 31 => SMP | 409 | teq r0, #0x80000000 @ not part of a uniprocessor system? |
410 | moveq pc, lr @ yes, assume SMP | ||
413 | 411 | ||
414 | __fixup_smp_on_up: | 412 | __fixup_smp_on_up: |
415 | adr r0, 1f | 413 | adr r0, 1f |
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index fd9156698ab9..60636f499cb3 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c | |||
@@ -36,6 +36,7 @@ static void twd_set_mode(enum clock_event_mode mode, | |||
36 | /* timer load already set up */ | 36 | /* timer load already set up */ |
37 | ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE | 37 | ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE |
38 | | TWD_TIMER_CONTROL_PERIODIC; | 38 | | TWD_TIMER_CONTROL_PERIODIC; |
39 | __raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD); | ||
39 | break; | 40 | break; |
40 | case CLOCK_EVT_MODE_ONESHOT: | 41 | case CLOCK_EVT_MODE_ONESHOT: |
41 | /* period set, and timer enabled in 'next_event' hook */ | 42 | /* period set, and timer enabled in 'next_event' hook */ |
@@ -81,7 +82,7 @@ int twd_timer_ack(void) | |||
81 | 82 | ||
82 | static void __cpuinit twd_calibrate_rate(void) | 83 | static void __cpuinit twd_calibrate_rate(void) |
83 | { | 84 | { |
84 | unsigned long load, count; | 85 | unsigned long count; |
85 | u64 waitjiffies; | 86 | u64 waitjiffies; |
86 | 87 | ||
87 | /* | 88 | /* |
@@ -116,10 +117,6 @@ static void __cpuinit twd_calibrate_rate(void) | |||
116 | printk("%lu.%02luMHz.\n", twd_timer_rate / 1000000, | 117 | printk("%lu.%02luMHz.\n", twd_timer_rate / 1000000, |
117 | (twd_timer_rate / 1000000) % 100); | 118 | (twd_timer_rate / 1000000) % 100); |
118 | } | 119 | } |
119 | |||
120 | load = twd_timer_rate / HZ; | ||
121 | |||
122 | __raw_writel(load, twd_base + TWD_TIMER_LOAD); | ||
123 | } | 120 | } |
124 | 121 | ||
125 | /* | 122 | /* |
diff --git a/arch/arm/mach-ep93xx/gpio.c b/arch/arm/mach-ep93xx/gpio.c index f3dc76fdcea8..bec34b834958 100644 --- a/arch/arm/mach-ep93xx/gpio.c +++ b/arch/arm/mach-ep93xx/gpio.c | |||
@@ -427,6 +427,13 @@ void __init ep93xx_gpio_init(void) | |||
427 | { | 427 | { |
428 | int i; | 428 | int i; |
429 | 429 | ||
430 | /* Set Ports C, D, E, G, and H for GPIO use */ | ||
431 | ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS | | ||
432 | EP93XX_SYSCON_DEVCFG_GONK | | ||
433 | EP93XX_SYSCON_DEVCFG_EONIDE | | ||
434 | EP93XX_SYSCON_DEVCFG_GONIDE | | ||
435 | EP93XX_SYSCON_DEVCFG_HONIDE); | ||
436 | |||
430 | for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) | 437 | for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) |
431 | gpiochip_add(&ep93xx_gpio_banks[i].chip); | 438 | gpiochip_add(&ep93xx_gpio_banks[i].chip); |
432 | } | 439 | } |
diff --git a/arch/arm/mach-footbridge/include/mach/debug-macro.S b/arch/arm/mach-footbridge/include/mach/debug-macro.S index 3c9e0c40c679..30b971d65815 100644 --- a/arch/arm/mach-footbridge/include/mach/debug-macro.S +++ b/arch/arm/mach-footbridge/include/mach/debug-macro.S | |||
@@ -17,8 +17,8 @@ | |||
17 | /* For NetWinder debugging */ | 17 | /* For NetWinder debugging */ |
18 | .macro addruart, rp, rv | 18 | .macro addruart, rp, rv |
19 | mov \rp, #0x000003f8 | 19 | mov \rp, #0x000003f8 |
20 | orr \rv, \rp, #0x7c000000 @ physical | 20 | orr \rv, \rp, #0xff000000 @ virtual |
21 | orr \rp, \rp, #0xff000000 @ virtual | 21 | orr \rp, \rp, #0x7c000000 @ physical |
22 | .endm | 22 | .endm |
23 | 23 | ||
24 | #define UART_SHIFT 0 | 24 | #define UART_SHIFT 0 |
diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c index 2e8391307f55..6dde8185205f 100644 --- a/arch/arm/mach-msm/board-qsd8x50.c +++ b/arch/arm/mach-msm/board-qsd8x50.c | |||
@@ -43,7 +43,7 @@ static const unsigned qsd8x50_surf_smc91x_gpio __initdata = 156; | |||
43 | * at run-time: they vary from board to board, and the true | 43 | * at run-time: they vary from board to board, and the true |
44 | * configuration won't be known until boot. | 44 | * configuration won't be known until boot. |
45 | */ | 45 | */ |
46 | static struct resource smc91x_resources[] __initdata = { | 46 | static struct resource smc91x_resources[] = { |
47 | [0] = { | 47 | [0] = { |
48 | .flags = IORESOURCE_MEM, | 48 | .flags = IORESOURCE_MEM, |
49 | }, | 49 | }, |
@@ -52,7 +52,7 @@ static struct resource smc91x_resources[] __initdata = { | |||
52 | }, | 52 | }, |
53 | }; | 53 | }; |
54 | 54 | ||
55 | static struct platform_device smc91x_device __initdata = { | 55 | static struct platform_device smc91x_device = { |
56 | .name = "smc91x", | 56 | .name = "smc91x", |
57 | .id = 0, | 57 | .id = 0, |
58 | .num_resources = ARRAY_SIZE(smc91x_resources), | 58 | .num_resources = ARRAY_SIZE(smc91x_resources), |
diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig index 8d2f2daba0c0..e0a028161dde 100644 --- a/arch/arm/mach-omap1/Kconfig +++ b/arch/arm/mach-omap1/Kconfig | |||
@@ -9,6 +9,7 @@ config ARCH_OMAP730 | |||
9 | depends on ARCH_OMAP1 | 9 | depends on ARCH_OMAP1 |
10 | bool "OMAP730 Based System" | 10 | bool "OMAP730 Based System" |
11 | select CPU_ARM926T | 11 | select CPU_ARM926T |
12 | select OMAP_MPU_TIMER | ||
12 | select ARCH_OMAP_OTG | 13 | select ARCH_OMAP_OTG |
13 | 14 | ||
14 | config ARCH_OMAP850 | 15 | config ARCH_OMAP850 |
@@ -22,6 +23,7 @@ config ARCH_OMAP15XX | |||
22 | default y | 23 | default y |
23 | bool "OMAP15xx Based System" | 24 | bool "OMAP15xx Based System" |
24 | select CPU_ARM925T | 25 | select CPU_ARM925T |
26 | select OMAP_MPU_TIMER | ||
25 | 27 | ||
26 | config ARCH_OMAP16XX | 28 | config ARCH_OMAP16XX |
27 | depends on ARCH_OMAP1 | 29 | depends on ARCH_OMAP1 |
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile index 6ee19504845f..ba6009f27677 100644 --- a/arch/arm/mach-omap1/Makefile +++ b/arch/arm/mach-omap1/Makefile | |||
@@ -3,12 +3,11 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | # Common support | 5 | # Common support |
6 | obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o dma.o | 6 | obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o |
7 | obj-y += clock.o clock_data.o opp_data.o | 7 | obj-y += clock.o clock_data.o opp_data.o |
8 | 8 | ||
9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o | 9 | obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o |
10 | 10 | ||
11 | obj-$(CONFIG_OMAP_MPU_TIMER) += time.o | ||
12 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o | 11 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o |
13 | 12 | ||
14 | # Power Management | 13 | # Power Management |
diff --git a/arch/arm/mach-omap1/include/mach/entry-macro.S b/arch/arm/mach-omap1/include/mach/entry-macro.S index c9be6d4d83e2..bfb4fb1d7382 100644 --- a/arch/arm/mach-omap1/include/mach/entry-macro.S +++ b/arch/arm/mach-omap1/include/mach/entry-macro.S | |||
@@ -14,19 +14,6 @@ | |||
14 | #include <mach/irqs.h> | 14 | #include <mach/irqs.h> |
15 | #include <asm/hardware/gic.h> | 15 | #include <asm/hardware/gic.h> |
16 | 16 | ||
17 | /* | ||
18 | * We use __glue to avoid errors with multiple definitions of | ||
19 | * .globl omap_irq_flags as it's included from entry-armv.S but not | ||
20 | * from entry-common.S. | ||
21 | */ | ||
22 | #ifdef __glue | ||
23 | .pushsection .data | ||
24 | .globl omap_irq_flags | ||
25 | omap_irq_flags: | ||
26 | .word 0 | ||
27 | .popsection | ||
28 | #endif | ||
29 | |||
30 | .macro disable_fiq | 17 | .macro disable_fiq |
31 | .endm | 18 | .endm |
32 | 19 | ||
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 47701584df35..731dd33bff51 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c | |||
@@ -57,6 +57,7 @@ struct omap_irq_bank { | |||
57 | unsigned long wake_enable; | 57 | unsigned long wake_enable; |
58 | }; | 58 | }; |
59 | 59 | ||
60 | u32 omap_irq_flags; | ||
60 | static unsigned int irq_bank_count; | 61 | static unsigned int irq_bank_count; |
61 | static struct omap_irq_bank *irq_banks; | 62 | static struct omap_irq_bank *irq_banks; |
62 | 63 | ||
@@ -176,7 +177,6 @@ static struct irq_chip omap_irq_chip = { | |||
176 | 177 | ||
177 | void __init omap_init_irq(void) | 178 | void __init omap_init_irq(void) |
178 | { | 179 | { |
179 | extern unsigned int omap_irq_flags; | ||
180 | int i, j; | 180 | int i, j; |
181 | 181 | ||
182 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) | 182 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) |
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c index ed7a61ff916a..f83fc335c613 100644 --- a/arch/arm/mach-omap1/time.c +++ b/arch/arm/mach-omap1/time.c | |||
@@ -44,16 +44,21 @@ | |||
44 | #include <linux/clocksource.h> | 44 | #include <linux/clocksource.h> |
45 | #include <linux/clockchips.h> | 45 | #include <linux/clockchips.h> |
46 | #include <linux/io.h> | 46 | #include <linux/io.h> |
47 | #include <linux/sched.h> | ||
47 | 48 | ||
48 | #include <asm/system.h> | 49 | #include <asm/system.h> |
49 | #include <mach/hardware.h> | 50 | #include <mach/hardware.h> |
50 | #include <asm/leds.h> | 51 | #include <asm/leds.h> |
51 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
53 | #include <asm/sched_clock.h> | ||
54 | |||
52 | #include <asm/mach/irq.h> | 55 | #include <asm/mach/irq.h> |
53 | #include <asm/mach/time.h> | 56 | #include <asm/mach/time.h> |
54 | 57 | ||
55 | #include <plat/common.h> | 58 | #include <plat/common.h> |
56 | 59 | ||
60 | #ifdef CONFIG_OMAP_MPU_TIMER | ||
61 | |||
57 | #define OMAP_MPU_TIMER_BASE OMAP_MPU_TIMER1_BASE | 62 | #define OMAP_MPU_TIMER_BASE OMAP_MPU_TIMER1_BASE |
58 | #define OMAP_MPU_TIMER_OFFSET 0x100 | 63 | #define OMAP_MPU_TIMER_OFFSET 0x100 |
59 | 64 | ||
@@ -67,7 +72,7 @@ typedef struct { | |||
67 | ((volatile omap_mpu_timer_regs_t*)OMAP1_IO_ADDRESS(OMAP_MPU_TIMER_BASE + \ | 72 | ((volatile omap_mpu_timer_regs_t*)OMAP1_IO_ADDRESS(OMAP_MPU_TIMER_BASE + \ |
68 | (n)*OMAP_MPU_TIMER_OFFSET)) | 73 | (n)*OMAP_MPU_TIMER_OFFSET)) |
69 | 74 | ||
70 | static inline unsigned long omap_mpu_timer_read(int nr) | 75 | static inline unsigned long notrace omap_mpu_timer_read(int nr) |
71 | { | 76 | { |
72 | volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr); | 77 | volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr); |
73 | return timer->read_tim; | 78 | return timer->read_tim; |
@@ -212,6 +217,32 @@ static struct clocksource clocksource_mpu = { | |||
212 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 217 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
213 | }; | 218 | }; |
214 | 219 | ||
220 | static DEFINE_CLOCK_DATA(cd); | ||
221 | |||
222 | static inline unsigned long long notrace _omap_mpu_sched_clock(void) | ||
223 | { | ||
224 | u32 cyc = mpu_read(&clocksource_mpu); | ||
225 | return cyc_to_sched_clock(&cd, cyc, (u32)~0); | ||
226 | } | ||
227 | |||
228 | #ifndef CONFIG_OMAP_32K_TIMER | ||
229 | unsigned long long notrace sched_clock(void) | ||
230 | { | ||
231 | return _omap_mpu_sched_clock(); | ||
232 | } | ||
233 | #else | ||
234 | static unsigned long long notrace omap_mpu_sched_clock(void) | ||
235 | { | ||
236 | return _omap_mpu_sched_clock(); | ||
237 | } | ||
238 | #endif | ||
239 | |||
240 | static void notrace mpu_update_sched_clock(void) | ||
241 | { | ||
242 | u32 cyc = mpu_read(&clocksource_mpu); | ||
243 | update_sched_clock(&cd, cyc, (u32)~0); | ||
244 | } | ||
245 | |||
215 | static void __init omap_init_clocksource(unsigned long rate) | 246 | static void __init omap_init_clocksource(unsigned long rate) |
216 | { | 247 | { |
217 | static char err[] __initdata = KERN_ERR | 248 | static char err[] __initdata = KERN_ERR |
@@ -219,17 +250,13 @@ static void __init omap_init_clocksource(unsigned long rate) | |||
219 | 250 | ||
220 | setup_irq(INT_TIMER2, &omap_mpu_timer2_irq); | 251 | setup_irq(INT_TIMER2, &omap_mpu_timer2_irq); |
221 | omap_mpu_timer_start(1, ~0, 1); | 252 | omap_mpu_timer_start(1, ~0, 1); |
253 | init_sched_clock(&cd, mpu_update_sched_clock, 32, rate); | ||
222 | 254 | ||
223 | if (clocksource_register_hz(&clocksource_mpu, rate)) | 255 | if (clocksource_register_hz(&clocksource_mpu, rate)) |
224 | printk(err, clocksource_mpu.name); | 256 | printk(err, clocksource_mpu.name); |
225 | } | 257 | } |
226 | 258 | ||
227 | /* | 259 | static void __init omap_mpu_timer_init(void) |
228 | * --------------------------------------------------------------------------- | ||
229 | * Timer initialization | ||
230 | * --------------------------------------------------------------------------- | ||
231 | */ | ||
232 | static void __init omap_timer_init(void) | ||
233 | { | 260 | { |
234 | struct clk *ck_ref = clk_get(NULL, "ck_ref"); | 261 | struct clk *ck_ref = clk_get(NULL, "ck_ref"); |
235 | unsigned long rate; | 262 | unsigned long rate; |
@@ -246,6 +273,66 @@ static void __init omap_timer_init(void) | |||
246 | omap_init_clocksource(rate); | 273 | omap_init_clocksource(rate); |
247 | } | 274 | } |
248 | 275 | ||
276 | #else | ||
277 | static inline void omap_mpu_timer_init(void) | ||
278 | { | ||
279 | pr_err("Bogus timer, should not happen\n"); | ||
280 | } | ||
281 | #endif /* CONFIG_OMAP_MPU_TIMER */ | ||
282 | |||
283 | #if defined(CONFIG_OMAP_MPU_TIMER) && defined(CONFIG_OMAP_32K_TIMER) | ||
284 | static unsigned long long (*preferred_sched_clock)(void); | ||
285 | |||
286 | unsigned long long notrace sched_clock(void) | ||
287 | { | ||
288 | if (!preferred_sched_clock) | ||
289 | return 0; | ||
290 | |||
291 | return preferred_sched_clock(); | ||
292 | } | ||
293 | |||
294 | static inline void preferred_sched_clock_init(bool use_32k_sched_clock) | ||
295 | { | ||
296 | if (use_32k_sched_clock) | ||
297 | preferred_sched_clock = omap_32k_sched_clock; | ||
298 | else | ||
299 | preferred_sched_clock = omap_mpu_sched_clock; | ||
300 | } | ||
301 | #else | ||
302 | static inline void preferred_sched_clock_init(bool use_32k_sched_clcok) | ||
303 | { | ||
304 | } | ||
305 | #endif | ||
306 | |||
307 | static inline int omap_32k_timer_usable(void) | ||
308 | { | ||
309 | int res = false; | ||
310 | |||
311 | if (cpu_is_omap730() || cpu_is_omap15xx()) | ||
312 | return res; | ||
313 | |||
314 | #ifdef CONFIG_OMAP_32K_TIMER | ||
315 | res = omap_32k_timer_init(); | ||
316 | #endif | ||
317 | |||
318 | return res; | ||
319 | } | ||
320 | |||
321 | /* | ||
322 | * --------------------------------------------------------------------------- | ||
323 | * Timer initialization | ||
324 | * --------------------------------------------------------------------------- | ||
325 | */ | ||
326 | static void __init omap_timer_init(void) | ||
327 | { | ||
328 | if (omap_32k_timer_usable()) { | ||
329 | preferred_sched_clock_init(1); | ||
330 | } else { | ||
331 | omap_mpu_timer_init(); | ||
332 | preferred_sched_clock_init(0); | ||
333 | } | ||
334 | } | ||
335 | |||
249 | struct sys_timer omap_timer = { | 336 | struct sys_timer omap_timer = { |
250 | .init = omap_timer_init, | 337 | .init = omap_timer_init, |
251 | }; | 338 | }; |
diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c index 20cfbcc6c60c..13d7b8f145bd 100644 --- a/arch/arm/mach-omap1/timer32k.c +++ b/arch/arm/mach-omap1/timer32k.c | |||
@@ -52,10 +52,9 @@ | |||
52 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
53 | #include <asm/mach/irq.h> | 53 | #include <asm/mach/irq.h> |
54 | #include <asm/mach/time.h> | 54 | #include <asm/mach/time.h> |
55 | #include <plat/common.h> | ||
55 | #include <plat/dmtimer.h> | 56 | #include <plat/dmtimer.h> |
56 | 57 | ||
57 | struct sys_timer omap_timer; | ||
58 | |||
59 | /* | 58 | /* |
60 | * --------------------------------------------------------------------------- | 59 | * --------------------------------------------------------------------------- |
61 | * 32KHz OS timer | 60 | * 32KHz OS timer |
@@ -181,14 +180,14 @@ static __init void omap_init_32k_timer(void) | |||
181 | * Timer initialization | 180 | * Timer initialization |
182 | * --------------------------------------------------------------------------- | 181 | * --------------------------------------------------------------------------- |
183 | */ | 182 | */ |
184 | static void __init omap_timer_init(void) | 183 | bool __init omap_32k_timer_init(void) |
185 | { | 184 | { |
185 | omap_init_clocksource_32k(); | ||
186 | |||
186 | #ifdef CONFIG_OMAP_DM_TIMER | 187 | #ifdef CONFIG_OMAP_DM_TIMER |
187 | omap_dm_timer_init(); | 188 | omap_dm_timer_init(); |
188 | #endif | 189 | #endif |
189 | omap_init_32k_timer(); | 190 | omap_init_32k_timer(); |
190 | } | ||
191 | 191 | ||
192 | struct sys_timer omap_timer = { | 192 | return true; |
193 | .init = omap_timer_init, | 193 | } |
194 | }; | ||
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index 5b0c77732dfc..8f9a64d650ee 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c | |||
@@ -124,8 +124,9 @@ static inline void cm_t3517_init_hecc(void) {} | |||
124 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) | 124 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) |
125 | #define RTC_IO_GPIO (153) | 125 | #define RTC_IO_GPIO (153) |
126 | #define RTC_WR_GPIO (154) | 126 | #define RTC_WR_GPIO (154) |
127 | #define RTC_RD_GPIO (160) | 127 | #define RTC_RD_GPIO (53) |
128 | #define RTC_CS_GPIO (163) | 128 | #define RTC_CS_GPIO (163) |
129 | #define RTC_CS_EN_GPIO (160) | ||
129 | 130 | ||
130 | struct v3020_platform_data cm_t3517_v3020_pdata = { | 131 | struct v3020_platform_data cm_t3517_v3020_pdata = { |
131 | .use_gpio = 1, | 132 | .use_gpio = 1, |
@@ -145,6 +146,16 @@ static struct platform_device cm_t3517_rtc_device = { | |||
145 | 146 | ||
146 | static void __init cm_t3517_init_rtc(void) | 147 | static void __init cm_t3517_init_rtc(void) |
147 | { | 148 | { |
149 | int err; | ||
150 | |||
151 | err = gpio_request(RTC_CS_EN_GPIO, "rtc cs en"); | ||
152 | if (err) { | ||
153 | pr_err("CM-T3517: rtc cs en gpio request failed: %d\n", err); | ||
154 | return; | ||
155 | } | ||
156 | |||
157 | gpio_direction_output(RTC_CS_EN_GPIO, 1); | ||
158 | |||
148 | platform_device_register(&cm_t3517_rtc_device); | 159 | platform_device_register(&cm_t3517_rtc_device); |
149 | } | 160 | } |
150 | #else | 161 | #else |
@@ -214,12 +225,12 @@ static struct mtd_partition cm_t3517_nand_partitions[] = { | |||
214 | }, | 225 | }, |
215 | { | 226 | { |
216 | .name = "linux", | 227 | .name = "linux", |
217 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ | 228 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x2A0000 */ |
218 | .size = 32 * NAND_BLOCK_SIZE, | 229 | .size = 32 * NAND_BLOCK_SIZE, |
219 | }, | 230 | }, |
220 | { | 231 | { |
221 | .name = "rootfs", | 232 | .name = "rootfs", |
222 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */ | 233 | .offset = MTDPART_OFS_APPEND, /* Offset = 0x6A0000 */ |
223 | .size = MTDPART_SIZ_FULL, | 234 | .size = MTDPART_SIZ_FULL, |
224 | }, | 235 | }, |
225 | }; | 236 | }; |
@@ -256,11 +267,19 @@ static void __init cm_t3517_init_irq(void) | |||
256 | static struct omap_board_mux board_mux[] __initdata = { | 267 | static struct omap_board_mux board_mux[] __initdata = { |
257 | /* GPIO186 - Green LED */ | 268 | /* GPIO186 - Green LED */ |
258 | OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 269 | OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
259 | /* RTC GPIOs: IO, WR#, RD#, CS# */ | 270 | |
271 | /* RTC GPIOs: */ | ||
272 | /* IO - GPIO153 */ | ||
260 | OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | 273 | OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), |
274 | /* WR# - GPIO154 */ | ||
261 | OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | 275 | OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), |
262 | OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | 276 | /* RD# - GPIO53 */ |
277 | OMAP3_MUX(GPMC_NCS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | ||
278 | /* CS# - GPIO163 */ | ||
263 | OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | 279 | OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), |
280 | /* CS EN - GPIO160 */ | ||
281 | OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | ||
282 | |||
264 | /* HSUSB1 RESET */ | 283 | /* HSUSB1 RESET */ |
265 | OMAP3_MUX(UART2_TX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 284 | OMAP3_MUX(UART2_TX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
266 | /* HSUSB2 RESET */ | 285 | /* HSUSB2 RESET */ |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 00bb1fc5e017..e906e05bb41b 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -275,8 +275,7 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = { | |||
275 | .irq_base = TWL4030_GPIO_IRQ_BASE, | 275 | .irq_base = TWL4030_GPIO_IRQ_BASE, |
276 | .irq_end = TWL4030_GPIO_IRQ_END, | 276 | .irq_end = TWL4030_GPIO_IRQ_END, |
277 | .use_leds = true, | 277 | .use_leds = true, |
278 | .pullups = BIT(1), | 278 | .pulldowns = BIT(1) | BIT(2) | BIT(6) | BIT(8) | BIT(13) |
279 | .pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13) | ||
280 | | BIT(15) | BIT(16) | BIT(17), | 279 | | BIT(15) | BIT(16) | BIT(17), |
281 | .setup = devkit8000_twl_gpio_setup, | 280 | .setup = devkit8000_twl_gpio_setup, |
282 | }; | 281 | }; |
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index e8cb32fd7f13..de9ec8ddd2ae 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c | |||
@@ -34,7 +34,6 @@ | |||
34 | #include "cm2_44xx.h" | 34 | #include "cm2_44xx.h" |
35 | #include "cm-regbits-44xx.h" | 35 | #include "cm-regbits-44xx.h" |
36 | #include "prm44xx.h" | 36 | #include "prm44xx.h" |
37 | #include "prm44xx.h" | ||
38 | #include "prm-regbits-44xx.h" | 37 | #include "prm-regbits-44xx.h" |
39 | #include "control.h" | 38 | #include "control.h" |
40 | #include "scrm44xx.h" | 39 | #include "scrm44xx.h" |
diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c index e20b98636ab4..58e42f76603f 100644 --- a/arch/arm/mach-omap2/clockdomain.c +++ b/arch/arm/mach-omap2/clockdomain.c | |||
@@ -423,6 +423,12 @@ int clkdm_add_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) | |||
423 | { | 423 | { |
424 | struct clkdm_dep *cd; | 424 | struct clkdm_dep *cd; |
425 | 425 | ||
426 | if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { | ||
427 | pr_err("clockdomain: %s/%s: %s: not yet implemented\n", | ||
428 | clkdm1->name, clkdm2->name, __func__); | ||
429 | return -EINVAL; | ||
430 | } | ||
431 | |||
426 | if (!clkdm1 || !clkdm2) | 432 | if (!clkdm1 || !clkdm2) |
427 | return -EINVAL; | 433 | return -EINVAL; |
428 | 434 | ||
@@ -458,6 +464,12 @@ int clkdm_del_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) | |||
458 | { | 464 | { |
459 | struct clkdm_dep *cd; | 465 | struct clkdm_dep *cd; |
460 | 466 | ||
467 | if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { | ||
468 | pr_err("clockdomain: %s/%s: %s: not yet implemented\n", | ||
469 | clkdm1->name, clkdm2->name, __func__); | ||
470 | return -EINVAL; | ||
471 | } | ||
472 | |||
461 | if (!clkdm1 || !clkdm2) | 473 | if (!clkdm1 || !clkdm2) |
462 | return -EINVAL; | 474 | return -EINVAL; |
463 | 475 | ||
@@ -500,6 +512,12 @@ int clkdm_read_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) | |||
500 | if (!clkdm1 || !clkdm2) | 512 | if (!clkdm1 || !clkdm2) |
501 | return -EINVAL; | 513 | return -EINVAL; |
502 | 514 | ||
515 | if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { | ||
516 | pr_err("clockdomain: %s/%s: %s: not yet implemented\n", | ||
517 | clkdm1->name, clkdm2->name, __func__); | ||
518 | return -EINVAL; | ||
519 | } | ||
520 | |||
503 | cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs); | 521 | cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs); |
504 | if (IS_ERR(cd)) { | 522 | if (IS_ERR(cd)) { |
505 | pr_debug("clockdomain: hardware cannot set/clear wake up of " | 523 | pr_debug("clockdomain: hardware cannot set/clear wake up of " |
@@ -527,6 +545,12 @@ int clkdm_clear_all_wkdeps(struct clockdomain *clkdm) | |||
527 | struct clkdm_dep *cd; | 545 | struct clkdm_dep *cd; |
528 | u32 mask = 0; | 546 | u32 mask = 0; |
529 | 547 | ||
548 | if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { | ||
549 | pr_err("clockdomain: %s: %s: not yet implemented\n", | ||
550 | clkdm->name, __func__); | ||
551 | return -EINVAL; | ||
552 | } | ||
553 | |||
530 | if (!clkdm) | 554 | if (!clkdm) |
531 | return -EINVAL; | 555 | return -EINVAL; |
532 | 556 | ||
@@ -830,8 +854,7 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm) | |||
830 | * dependency code and data for OMAP4. | 854 | * dependency code and data for OMAP4. |
831 | */ | 855 | */ |
832 | if (cpu_is_omap44xx()) { | 856 | if (cpu_is_omap44xx()) { |
833 | WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " | 857 | pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name); |
834 | "support is not yet implemented\n"); | ||
835 | } else { | 858 | } else { |
836 | if (atomic_read(&clkdm->usecount) > 0) | 859 | if (atomic_read(&clkdm->usecount) > 0) |
837 | _clkdm_add_autodeps(clkdm); | 860 | _clkdm_add_autodeps(clkdm); |
@@ -872,8 +895,7 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm) | |||
872 | * dependency code and data for OMAP4. | 895 | * dependency code and data for OMAP4. |
873 | */ | 896 | */ |
874 | if (cpu_is_omap44xx()) { | 897 | if (cpu_is_omap44xx()) { |
875 | WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " | 898 | pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name); |
876 | "support is not yet implemented\n"); | ||
877 | } else { | 899 | } else { |
878 | if (atomic_read(&clkdm->usecount) > 0) | 900 | if (atomic_read(&clkdm->usecount) > 0) |
879 | _clkdm_del_autodeps(clkdm); | 901 | _clkdm_del_autodeps(clkdm); |
diff --git a/arch/arm/mach-omap2/clockdomains44xx_data.c b/arch/arm/mach-omap2/clockdomains44xx_data.c index 51920fc7fc52..10622c914abc 100644 --- a/arch/arm/mach-omap2/clockdomains44xx_data.c +++ b/arch/arm/mach-omap2/clockdomains44xx_data.c | |||
@@ -30,8 +30,6 @@ | |||
30 | #include "cm1_44xx.h" | 30 | #include "cm1_44xx.h" |
31 | #include "cm2_44xx.h" | 31 | #include "cm2_44xx.h" |
32 | 32 | ||
33 | #include "cm1_44xx.h" | ||
34 | #include "cm2_44xx.h" | ||
35 | #include "cm-regbits-44xx.h" | 33 | #include "cm-regbits-44xx.h" |
36 | #include "prm44xx.h" | 34 | #include "prm44xx.h" |
37 | #include "prcm44xx.h" | 35 | #include "prcm44xx.h" |
diff --git a/arch/arm/mach-omap2/dma.c b/arch/arm/mach-omap2/dma.c index d2f15f5cfd36..34922b2d2e3f 100644 --- a/arch/arm/mach-omap2/dma.c +++ b/arch/arm/mach-omap2/dma.c | |||
@@ -264,7 +264,7 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused) | |||
264 | if (IS_ERR(od)) { | 264 | if (IS_ERR(od)) { |
265 | pr_err("%s: Cant build omap_device for %s:%s.\n", | 265 | pr_err("%s: Cant build omap_device for %s:%s.\n", |
266 | __func__, name, oh->name); | 266 | __func__, name, oh->name); |
267 | return IS_ERR(od); | 267 | return PTR_ERR(od); |
268 | } | 268 | } |
269 | 269 | ||
270 | mem = platform_get_resource(&od->pdev, IORESOURCE_MEM, 0); | 270 | mem = platform_get_resource(&od->pdev, IORESOURCE_MEM, 0); |
diff --git a/arch/arm/mach-omap2/include/mach/entry-macro.S b/arch/arm/mach-omap2/include/mach/entry-macro.S index befa321c4c13..81985a665cb3 100644 --- a/arch/arm/mach-omap2/include/mach/entry-macro.S +++ b/arch/arm/mach-omap2/include/mach/entry-macro.S | |||
@@ -38,20 +38,6 @@ | |||
38 | */ | 38 | */ |
39 | 39 | ||
40 | #ifdef MULTI_OMAP2 | 40 | #ifdef MULTI_OMAP2 |
41 | |||
42 | /* | ||
43 | * We use __glue to avoid errors with multiple definitions of | ||
44 | * .globl omap_irq_base as it's included from entry-armv.S but not | ||
45 | * from entry-common.S. | ||
46 | */ | ||
47 | #ifdef __glue | ||
48 | .pushsection .data | ||
49 | .globl omap_irq_base | ||
50 | omap_irq_base: | ||
51 | .word 0 | ||
52 | .popsection | ||
53 | #endif | ||
54 | |||
55 | /* | 41 | /* |
56 | * Configure the interrupt base on the first interrupt. | 42 | * Configure the interrupt base on the first interrupt. |
57 | * See also omap_irq_base_init for setting omap_irq_base. | 43 | * See also omap_irq_base_init for setting omap_irq_base. |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index e66687b0b9de..c2032041d26f 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -314,14 +314,13 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data) | |||
314 | return omap_hwmod_set_postsetup_state(oh, *(u8 *)data); | 314 | return omap_hwmod_set_postsetup_state(oh, *(u8 *)data); |
315 | } | 315 | } |
316 | 316 | ||
317 | void __iomem *omap_irq_base; | ||
318 | |||
317 | /* | 319 | /* |
318 | * Initialize asm_irq_base for entry-macro.S | 320 | * Initialize asm_irq_base for entry-macro.S |
319 | */ | 321 | */ |
320 | static inline void omap_irq_base_init(void) | 322 | static inline void omap_irq_base_init(void) |
321 | { | 323 | { |
322 | extern void __iomem *omap_irq_base; | ||
323 | |||
324 | #ifdef MULTI_OMAP2 | ||
325 | if (cpu_is_omap24xx()) | 324 | if (cpu_is_omap24xx()) |
326 | omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE); | 325 | omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE); |
327 | else if (cpu_is_omap34xx()) | 326 | else if (cpu_is_omap34xx()) |
@@ -330,7 +329,6 @@ static inline void omap_irq_base_init(void) | |||
330 | omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE); | 329 | omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE); |
331 | else | 330 | else |
332 | pr_err("Could not initialize omap_irq_base\n"); | 331 | pr_err("Could not initialize omap_irq_base\n"); |
333 | #endif | ||
334 | } | 332 | } |
335 | 333 | ||
336 | void __init omap2_init_common_infrastructure(void) | 334 | void __init omap2_init_common_infrastructure(void) |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index df8d2f2872c6..fae49d12bc76 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -160,7 +160,7 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition, | |||
160 | struct omap_mux *mux = NULL; | 160 | struct omap_mux *mux = NULL; |
161 | struct omap_mux_entry *e; | 161 | struct omap_mux_entry *e; |
162 | const char *mode_name; | 162 | const char *mode_name; |
163 | int found = 0, found_mode, mode0_len = 0; | 163 | int found = 0, found_mode = 0, mode0_len = 0; |
164 | struct list_head *muxmodes = &partition->muxmodes; | 164 | struct list_head *muxmodes = &partition->muxmodes; |
165 | 165 | ||
166 | mode_name = strchr(muxname, '.'); | 166 | mode_name = strchr(muxname, '.'); |
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c index 9e5dc8ed51e9..97feb3ab6a69 100644 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c | |||
@@ -134,7 +134,7 @@ static void omap2_enter_full_retention(void) | |||
134 | 134 | ||
135 | /* Block console output in case it is on one of the OMAP UARTs */ | 135 | /* Block console output in case it is on one of the OMAP UARTs */ |
136 | if (!is_suspending()) | 136 | if (!is_suspending()) |
137 | if (try_acquire_console_sem()) | 137 | if (!console_trylock()) |
138 | goto no_sleep; | 138 | goto no_sleep; |
139 | 139 | ||
140 | omap_uart_prepare_idle(0); | 140 | omap_uart_prepare_idle(0); |
@@ -151,7 +151,7 @@ static void omap2_enter_full_retention(void) | |||
151 | omap_uart_resume_idle(0); | 151 | omap_uart_resume_idle(0); |
152 | 152 | ||
153 | if (!is_suspending()) | 153 | if (!is_suspending()) |
154 | release_console_sem(); | 154 | console_unlock(); |
155 | 155 | ||
156 | no_sleep: | 156 | no_sleep: |
157 | if (omap2_pm_debug) { | 157 | if (omap2_pm_debug) { |
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 8cbbeade4b8a..a4aa1920a75c 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
@@ -398,7 +398,7 @@ void omap_sram_idle(void) | |||
398 | if (!is_suspending()) | 398 | if (!is_suspending()) |
399 | if (per_next_state < PWRDM_POWER_ON || | 399 | if (per_next_state < PWRDM_POWER_ON || |
400 | core_next_state < PWRDM_POWER_ON) | 400 | core_next_state < PWRDM_POWER_ON) |
401 | if (try_acquire_console_sem()) | 401 | if (!console_trylock()) |
402 | goto console_still_active; | 402 | goto console_still_active; |
403 | 403 | ||
404 | /* PER */ | 404 | /* PER */ |
@@ -481,7 +481,7 @@ void omap_sram_idle(void) | |||
481 | } | 481 | } |
482 | 482 | ||
483 | if (!is_suspending()) | 483 | if (!is_suspending()) |
484 | release_console_sem(); | 484 | console_unlock(); |
485 | 485 | ||
486 | console_still_active: | 486 | console_still_active: |
487 | /* Disable IO-PAD and IO-CHAIN wakeup */ | 487 | /* Disable IO-PAD and IO-CHAIN wakeup */ |
diff --git a/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c b/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c index d5233890370c..cf600e22bf8e 100644 --- a/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c +++ b/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <plat/prcm.h> | 19 | #include <plat/prcm.h> |
20 | 20 | ||
21 | #include "powerdomain.h" | 21 | #include "powerdomain.h" |
22 | #include "prm-regbits-34xx.h" | ||
23 | #include "prm.h" | 22 | #include "prm.h" |
24 | #include "prm-regbits-24xx.h" | 23 | #include "prm-regbits-24xx.h" |
25 | #include "prm-regbits-34xx.h" | 24 | #include "prm-regbits-34xx.h" |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 302da7403a10..32e91a9c8b6b 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -812,7 +812,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) | |||
812 | 812 | ||
813 | oh->dev_attr = uart; | 813 | oh->dev_attr = uart; |
814 | 814 | ||
815 | acquire_console_sem(); /* in case the earlycon is on the UART */ | 815 | console_lock(); /* in case the earlycon is on the UART */ |
816 | 816 | ||
817 | /* | 817 | /* |
818 | * Because of early UART probing, UART did not get idled | 818 | * Because of early UART probing, UART did not get idled |
@@ -838,7 +838,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) | |||
838 | omap_uart_block_sleep(uart); | 838 | omap_uart_block_sleep(uart); |
839 | uart->timeout = DEFAULT_TIMEOUT; | 839 | uart->timeout = DEFAULT_TIMEOUT; |
840 | 840 | ||
841 | release_console_sem(); | 841 | console_unlock(); |
842 | 842 | ||
843 | if ((cpu_is_omap34xx() && uart->padconf) || | 843 | if ((cpu_is_omap34xx() && uart->padconf) || |
844 | (uart->wk_en && uart->wk_mask)) { | 844 | (uart->wk_en && uart->wk_mask)) { |
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c index 4e48e786bec7..7b7c2683ae7b 100644 --- a/arch/arm/mach-omap2/timer-gp.c +++ b/arch/arm/mach-omap2/timer-gp.c | |||
@@ -42,6 +42,8 @@ | |||
42 | 42 | ||
43 | #include "timer-gp.h" | 43 | #include "timer-gp.h" |
44 | 44 | ||
45 | #include <plat/common.h> | ||
46 | |||
45 | /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */ | 47 | /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */ |
46 | #define MAX_GPTIMER_ID 12 | 48 | #define MAX_GPTIMER_ID 12 |
47 | 49 | ||
@@ -176,10 +178,14 @@ static void __init omap2_gp_clockevent_init(void) | |||
176 | /* | 178 | /* |
177 | * When 32k-timer is enabled, don't use GPTimer for clocksource | 179 | * When 32k-timer is enabled, don't use GPTimer for clocksource |
178 | * instead, just leave default clocksource which uses the 32k | 180 | * instead, just leave default clocksource which uses the 32k |
179 | * sync counter. See clocksource setup in see plat-omap/common.c. | 181 | * sync counter. See clocksource setup in plat-omap/counter_32k.c |
180 | */ | 182 | */ |
181 | 183 | ||
182 | static inline void __init omap2_gp_clocksource_init(void) {} | 184 | static void __init omap2_gp_clocksource_init(void) |
185 | { | ||
186 | omap_init_clocksource_32k(); | ||
187 | } | ||
188 | |||
183 | #else | 189 | #else |
184 | /* | 190 | /* |
185 | * clocksource | 191 | * clocksource |
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index b4575ae9648e..7ca138a943a9 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -2,52 +2,56 @@ menu "RealView platform type" | |||
2 | depends on ARCH_REALVIEW | 2 | depends on ARCH_REALVIEW |
3 | 3 | ||
4 | config MACH_REALVIEW_EB | 4 | config MACH_REALVIEW_EB |
5 | bool "Support RealView/EB platform" | 5 | bool "Support RealView(R) Emulation Baseboard" |
6 | select ARM_GIC | 6 | select ARM_GIC |
7 | help | 7 | help |
8 | Include support for the ARM(R) RealView Emulation Baseboard platform. | 8 | Include support for the ARM(R) RealView(R) Emulation Baseboard |
9 | platform. | ||
9 | 10 | ||
10 | config REALVIEW_EB_A9MP | 11 | config REALVIEW_EB_A9MP |
11 | bool "Support Multicore Cortex-A9" | 12 | bool "Support Multicore Cortex-A9 Tile" |
12 | depends on MACH_REALVIEW_EB | 13 | depends on MACH_REALVIEW_EB |
13 | select CPU_V7 | 14 | select CPU_V7 |
14 | help | 15 | help |
15 | Enable support for the Cortex-A9MPCore tile on the Realview platform. | 16 | Enable support for the Cortex-A9MPCore tile fitted to the |
17 | Realview(R) Emulation Baseboard platform. | ||
16 | 18 | ||
17 | config REALVIEW_EB_ARM11MP | 19 | config REALVIEW_EB_ARM11MP |
18 | bool "Support ARM11MPCore tile" | 20 | bool "Support ARM11MPCore Tile" |
19 | depends on MACH_REALVIEW_EB | 21 | depends on MACH_REALVIEW_EB |
20 | select CPU_V6 | 22 | select CPU_V6 |
21 | select ARCH_HAS_BARRIERS if SMP | 23 | select ARCH_HAS_BARRIERS if SMP |
22 | help | 24 | help |
23 | Enable support for the ARM11MPCore tile on the Realview platform. | 25 | Enable support for the ARM11MPCore tile fitted to the Realview(R) |
26 | Emulation Baseboard platform. | ||
24 | 27 | ||
25 | config REALVIEW_EB_ARM11MP_REVB | 28 | config REALVIEW_EB_ARM11MP_REVB |
26 | bool "Support ARM11MPCore RevB tile" | 29 | bool "Support ARM11MPCore RevB Tile" |
27 | depends on REALVIEW_EB_ARM11MP | 30 | depends on REALVIEW_EB_ARM11MP |
28 | help | 31 | help |
29 | Enable support for the ARM11MPCore RevB tile on the Realview | 32 | Enable support for the ARM11MPCore Revision B tile on the |
30 | platform. Since there are device address differences, a | 33 | Realview(R) Emulation Baseboard platform. Since there are device |
31 | kernel built with this option enabled is not compatible with | 34 | address differences, a kernel built with this option enabled is |
32 | other revisions of the ARM11MPCore tile. | 35 | not compatible with other revisions of the ARM11MPCore tile. |
33 | 36 | ||
34 | config MACH_REALVIEW_PB11MP | 37 | config MACH_REALVIEW_PB11MP |
35 | bool "Support RealView/PB11MPCore platform" | 38 | bool "Support RealView(R) Platform Baseboard for ARM11MPCore" |
36 | select CPU_V6 | 39 | select CPU_V6 |
37 | select ARM_GIC | 40 | select ARM_GIC |
38 | select HAVE_PATA_PLATFORM | 41 | select HAVE_PATA_PLATFORM |
39 | select ARCH_HAS_BARRIERS if SMP | 42 | select ARCH_HAS_BARRIERS if SMP |
40 | help | 43 | help |
41 | Include support for the ARM(R) RealView MPCore Platform Baseboard. | 44 | Include support for the ARM(R) RealView(R) Platform Baseboard for |
42 | PB11MPCore is a platform with an on-board ARM11MPCore and has | 45 | the ARM11MPCore. This platform has an on-board ARM11MPCore and has |
43 | support for PCI-E and Compact Flash. | 46 | support for PCI-E and Compact Flash. |
44 | 47 | ||
45 | config MACH_REALVIEW_PB1176 | 48 | config MACH_REALVIEW_PB1176 |
46 | bool "Support RealView/PB1176 platform" | 49 | bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" |
47 | select CPU_V6 | 50 | select CPU_V6 |
48 | select ARM_GIC | 51 | select ARM_GIC |
49 | help | 52 | help |
50 | Include support for the ARM(R) RealView ARM1176 Platform Baseboard. | 53 | Include support for the ARM(R) RealView(R) Platform Baseboard for |
54 | ARM1176JZF-S. | ||
51 | 55 | ||
52 | config REALVIEW_PB1176_SECURE_FLASH | 56 | config REALVIEW_PB1176_SECURE_FLASH |
53 | bool "Allow access to the secure flash memory block" | 57 | bool "Allow access to the secure flash memory block" |
@@ -59,23 +63,24 @@ config REALVIEW_PB1176_SECURE_FLASH | |||
59 | block (64MB @ 0x3c000000) is required. | 63 | block (64MB @ 0x3c000000) is required. |
60 | 64 | ||
61 | config MACH_REALVIEW_PBA8 | 65 | config MACH_REALVIEW_PBA8 |
62 | bool "Support RealView/PB-A8 platform" | 66 | bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" |
63 | select CPU_V7 | 67 | select CPU_V7 |
64 | select ARM_GIC | 68 | select ARM_GIC |
65 | select HAVE_PATA_PLATFORM | 69 | select HAVE_PATA_PLATFORM |
66 | help | 70 | help |
67 | Include support for the ARM(R) RealView Cortex-A8 Platform Baseboard. | 71 | Include support for the ARM(R) RealView Platform Baseboard for |
68 | PB-A8 is a platform with an on-board Cortex-A8 and has support for | 72 | Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has |
69 | PCI-E and Compact Flash. | 73 | support for PCI-E and Compact Flash. |
70 | 74 | ||
71 | config MACH_REALVIEW_PBX | 75 | config MACH_REALVIEW_PBX |
72 | bool "Support RealView/PBX platform" | 76 | bool "Support RealView(R) Platform Baseboard Explore" |
73 | select ARM_GIC | 77 | select ARM_GIC |
74 | select HAVE_PATA_PLATFORM | 78 | select HAVE_PATA_PLATFORM |
75 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET | 79 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET |
76 | select ZONE_DMA if SPARSEMEM | 80 | select ZONE_DMA if SPARSEMEM |
77 | help | 81 | help |
78 | Include support for the ARM(R) RealView PBX platform. | 82 | Include support for the ARM(R) RealView(R) Platform Baseboard |
83 | Explore. | ||
79 | 84 | ||
80 | config REALVIEW_HIGH_PHYS_OFFSET | 85 | config REALVIEW_HIGH_PHYS_OFFSET |
81 | bool "High physical base address for the RealView platform" | 86 | bool "High physical base address for the RealView platform" |
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index a22bf67f2f78..6959d13d908a 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -41,7 +41,7 @@ volatile int __cpuinitdata pen_release = -1; | |||
41 | * observers, irrespective of whether they're taking part in coherency | 41 | * observers, irrespective of whether they're taking part in coherency |
42 | * or not. This is necessary for the hotplug code to work reliably. | 42 | * or not. This is necessary for the hotplug code to work reliably. |
43 | */ | 43 | */ |
44 | static void write_pen_release(int val) | 44 | static void __cpuinit write_pen_release(int val) |
45 | { | 45 | { |
46 | pen_release = val; | 46 | pen_release = val; |
47 | smp_wmb(); | 47 | smp_wmb(); |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 4d1b4c5c9389..0c8f6cf3e948 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -60,6 +60,8 @@ endchoice | |||
60 | 60 | ||
61 | config MACH_AG5EVM | 61 | config MACH_AG5EVM |
62 | bool "AG5EVM board" | 62 | bool "AG5EVM board" |
63 | select ARCH_REQUIRE_GPIOLIB | ||
64 | select SH_LCD_MIPI_DSI | ||
63 | depends on ARCH_SH73A0 | 65 | depends on ARCH_SH73A0 |
64 | 66 | ||
65 | config MACH_MACKEREL | 67 | config MACH_MACKEREL |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index c18a740a4159..2123b96b5638 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -34,9 +34,10 @@ | |||
34 | #include <linux/input/sh_keysc.h> | 34 | #include <linux/input/sh_keysc.h> |
35 | #include <linux/mmc/host.h> | 35 | #include <linux/mmc/host.h> |
36 | #include <linux/mmc/sh_mmcif.h> | 36 | #include <linux/mmc/sh_mmcif.h> |
37 | 37 | #include <linux/sh_clk.h> | |
38 | #include <video/sh_mobile_lcdc.h> | ||
39 | #include <video/sh_mipi_dsi.h> | ||
38 | #include <sound/sh_fsi.h> | 40 | #include <sound/sh_fsi.h> |
39 | |||
40 | #include <mach/hardware.h> | 41 | #include <mach/hardware.h> |
41 | #include <mach/sh73a0.h> | 42 | #include <mach/sh73a0.h> |
42 | #include <mach/common.h> | 43 | #include <mach/common.h> |
@@ -183,11 +184,165 @@ static struct platform_device mmc_device = { | |||
183 | .resource = sh_mmcif_resources, | 184 | .resource = sh_mmcif_resources, |
184 | }; | 185 | }; |
185 | 186 | ||
187 | /* IrDA */ | ||
188 | static struct resource irda_resources[] = { | ||
189 | [0] = { | ||
190 | .start = 0xE6D00000, | ||
191 | .end = 0xE6D01FD4 - 1, | ||
192 | .flags = IORESOURCE_MEM, | ||
193 | }, | ||
194 | [1] = { | ||
195 | .start = gic_spi(95), | ||
196 | .flags = IORESOURCE_IRQ, | ||
197 | }, | ||
198 | }; | ||
199 | |||
200 | static struct platform_device irda_device = { | ||
201 | .name = "sh_irda", | ||
202 | .id = 0, | ||
203 | .resource = irda_resources, | ||
204 | .num_resources = ARRAY_SIZE(irda_resources), | ||
205 | }; | ||
206 | |||
207 | static unsigned char lcd_backlight_seq[3][2] = { | ||
208 | { 0x04, 0x07 }, | ||
209 | { 0x23, 0x80 }, | ||
210 | { 0x03, 0x01 }, | ||
211 | }; | ||
212 | |||
213 | static void lcd_backlight_on(void) | ||
214 | { | ||
215 | struct i2c_adapter *a; | ||
216 | struct i2c_msg msg; | ||
217 | int k; | ||
218 | |||
219 | a = i2c_get_adapter(1); | ||
220 | for (k = 0; a && k < 3; k++) { | ||
221 | msg.addr = 0x6d; | ||
222 | msg.buf = &lcd_backlight_seq[k][0]; | ||
223 | msg.len = 2; | ||
224 | msg.flags = 0; | ||
225 | if (i2c_transfer(a, &msg, 1) != 1) | ||
226 | break; | ||
227 | } | ||
228 | } | ||
229 | |||
230 | static void lcd_backlight_reset(void) | ||
231 | { | ||
232 | gpio_set_value(GPIO_PORT235, 0); | ||
233 | mdelay(24); | ||
234 | gpio_set_value(GPIO_PORT235, 1); | ||
235 | } | ||
236 | |||
237 | static void lcd_on(void *board_data, struct fb_info *info) | ||
238 | { | ||
239 | lcd_backlight_on(); | ||
240 | } | ||
241 | |||
242 | static void lcd_off(void *board_data) | ||
243 | { | ||
244 | lcd_backlight_reset(); | ||
245 | } | ||
246 | |||
247 | /* LCDC0 */ | ||
248 | static const struct fb_videomode lcdc0_modes[] = { | ||
249 | { | ||
250 | .name = "R63302(QHD)", | ||
251 | .xres = 544, | ||
252 | .yres = 961, | ||
253 | .left_margin = 72, | ||
254 | .right_margin = 600, | ||
255 | .hsync_len = 16, | ||
256 | .upper_margin = 8, | ||
257 | .lower_margin = 8, | ||
258 | .vsync_len = 2, | ||
259 | .sync = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT, | ||
260 | }, | ||
261 | }; | ||
262 | |||
263 | static struct sh_mobile_lcdc_info lcdc0_info = { | ||
264 | .clock_source = LCDC_CLK_PERIPHERAL, | ||
265 | .ch[0] = { | ||
266 | .chan = LCDC_CHAN_MAINLCD, | ||
267 | .interface_type = RGB24, | ||
268 | .clock_divider = 1, | ||
269 | .flags = LCDC_FLAGS_DWPOL, | ||
270 | .lcd_size_cfg.width = 44, | ||
271 | .lcd_size_cfg.height = 79, | ||
272 | .bpp = 16, | ||
273 | .lcd_cfg = lcdc0_modes, | ||
274 | .num_cfg = ARRAY_SIZE(lcdc0_modes), | ||
275 | .board_cfg = { | ||
276 | .display_on = lcd_on, | ||
277 | .display_off = lcd_off, | ||
278 | }, | ||
279 | } | ||
280 | }; | ||
281 | |||
282 | static struct resource lcdc0_resources[] = { | ||
283 | [0] = { | ||
284 | .name = "LCDC0", | ||
285 | .start = 0xfe940000, /* P4-only space */ | ||
286 | .end = 0xfe943fff, | ||
287 | .flags = IORESOURCE_MEM, | ||
288 | }, | ||
289 | [1] = { | ||
290 | .start = intcs_evt2irq(0x580), | ||
291 | .flags = IORESOURCE_IRQ, | ||
292 | }, | ||
293 | }; | ||
294 | |||
295 | static struct platform_device lcdc0_device = { | ||
296 | .name = "sh_mobile_lcdc_fb", | ||
297 | .num_resources = ARRAY_SIZE(lcdc0_resources), | ||
298 | .resource = lcdc0_resources, | ||
299 | .id = 0, | ||
300 | .dev = { | ||
301 | .platform_data = &lcdc0_info, | ||
302 | .coherent_dma_mask = ~0, | ||
303 | }, | ||
304 | }; | ||
305 | |||
306 | /* MIPI-DSI */ | ||
307 | static struct resource mipidsi0_resources[] = { | ||
308 | [0] = { | ||
309 | .start = 0xfeab0000, | ||
310 | .end = 0xfeab3fff, | ||
311 | .flags = IORESOURCE_MEM, | ||
312 | }, | ||
313 | [1] = { | ||
314 | .start = 0xfeab4000, | ||
315 | .end = 0xfeab7fff, | ||
316 | .flags = IORESOURCE_MEM, | ||
317 | }, | ||
318 | }; | ||
319 | |||
320 | static struct sh_mipi_dsi_info mipidsi0_info = { | ||
321 | .data_format = MIPI_RGB888, | ||
322 | .lcd_chan = &lcdc0_info.ch[0], | ||
323 | .vsynw_offset = 20, | ||
324 | .clksrc = 1, | ||
325 | .flags = SH_MIPI_DSI_HSABM, | ||
326 | }; | ||
327 | |||
328 | static struct platform_device mipidsi0_device = { | ||
329 | .name = "sh-mipi-dsi", | ||
330 | .num_resources = ARRAY_SIZE(mipidsi0_resources), | ||
331 | .resource = mipidsi0_resources, | ||
332 | .id = 0, | ||
333 | .dev = { | ||
334 | .platform_data = &mipidsi0_info, | ||
335 | }, | ||
336 | }; | ||
337 | |||
186 | static struct platform_device *ag5evm_devices[] __initdata = { | 338 | static struct platform_device *ag5evm_devices[] __initdata = { |
187 | ð_device, | 339 | ð_device, |
188 | &keysc_device, | 340 | &keysc_device, |
189 | &fsi_device, | 341 | &fsi_device, |
190 | &mmc_device, | 342 | &mmc_device, |
343 | &irda_device, | ||
344 | &lcdc0_device, | ||
345 | &mipidsi0_device, | ||
191 | }; | 346 | }; |
192 | 347 | ||
193 | static struct map_desc ag5evm_io_desc[] __initdata = { | 348 | static struct map_desc ag5evm_io_desc[] __initdata = { |
@@ -224,6 +379,8 @@ void __init ag5evm_init_irq(void) | |||
224 | __raw_writew(__raw_readw(PINTCR0A) | (2<<10), PINTCR0A); | 379 | __raw_writew(__raw_readw(PINTCR0A) | (2<<10), PINTCR0A); |
225 | } | 380 | } |
226 | 381 | ||
382 | #define DSI0PHYCR 0xe615006c | ||
383 | |||
227 | static void __init ag5evm_init(void) | 384 | static void __init ag5evm_init(void) |
228 | { | 385 | { |
229 | sh73a0_pinmux_init(); | 386 | sh73a0_pinmux_init(); |
@@ -287,6 +444,25 @@ static void __init ag5evm_init(void) | |||
287 | gpio_request(GPIO_FN_FSIAISLD, NULL); | 444 | gpio_request(GPIO_FN_FSIAISLD, NULL); |
288 | gpio_request(GPIO_FN_FSIAOSLD, NULL); | 445 | gpio_request(GPIO_FN_FSIAOSLD, NULL); |
289 | 446 | ||
447 | /* IrDA */ | ||
448 | gpio_request(GPIO_FN_PORT241_IRDA_OUT, NULL); | ||
449 | gpio_request(GPIO_FN_PORT242_IRDA_IN, NULL); | ||
450 | gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); | ||
451 | |||
452 | /* LCD panel */ | ||
453 | gpio_request(GPIO_PORT217, NULL); /* RESET */ | ||
454 | gpio_direction_output(GPIO_PORT217, 0); | ||
455 | mdelay(1); | ||
456 | gpio_set_value(GPIO_PORT217, 1); | ||
457 | |||
458 | /* LCD backlight controller */ | ||
459 | gpio_request(GPIO_PORT235, NULL); /* RESET */ | ||
460 | gpio_direction_output(GPIO_PORT235, 0); | ||
461 | lcd_backlight_reset(); | ||
462 | |||
463 | /* MIPI-DSI clock setup */ | ||
464 | __raw_writel(0x2a809010, DSI0PHYCR); | ||
465 | |||
290 | #ifdef CONFIG_CACHE_L2X0 | 466 | #ifdef CONFIG_CACHE_L2X0 |
291 | /* Shared attribute override enable, 64K*8way */ | 467 | /* Shared attribute override enable, 64K*8way */ |
292 | l2x0_init(__io(0xf0100000), 0x00460000, 0xc2000fff); | 468 | l2x0_init(__io(0xf0100000), 0x00460000, 0xc2000fff); |
diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c index 686b304a7708..ef4613b993a2 100644 --- a/arch/arm/mach-shmobile/board-g3evm.c +++ b/arch/arm/mach-shmobile/board-g3evm.c | |||
@@ -347,7 +347,6 @@ static void __init g3evm_init(void) | |||
347 | gpio_request(GPIO_FN_IRDA_OUT, NULL); | 347 | gpio_request(GPIO_FN_IRDA_OUT, NULL); |
348 | gpio_request(GPIO_FN_IRDA_IN, NULL); | 348 | gpio_request(GPIO_FN_IRDA_IN, NULL); |
349 | gpio_request(GPIO_FN_IRDA_FIRSEL, NULL); | 349 | gpio_request(GPIO_FN_IRDA_FIRSEL, NULL); |
350 | set_irq_type(evt2irq(0x480), IRQ_TYPE_LEVEL_LOW); | ||
351 | 350 | ||
352 | sh7367_add_standard_devices(); | 351 | sh7367_add_standard_devices(); |
353 | 352 | ||
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index 7b15d21f0f68..fb4213a4e15a 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -169,9 +169,8 @@ | |||
169 | * SW1 | SW33 | 169 | * SW1 | SW33 |
170 | * | bit1 | bit2 | bit3 | bit4 | 170 | * | bit1 | bit2 | bit3 | bit4 |
171 | * -------------+------+------+------+------- | 171 | * -------------+------+------+------+------- |
172 | * MMC0 OFF | OFF | ON | ON | X | 172 | * MMC0 OFF | OFF | X | ON | X (Use MMCIF) |
173 | * MMC1 ON | OFF | ON | X | ON | 173 | * SDHI1 OFF | ON | X | OFF | X (Use MFD_SH_MOBILE_SDHI) |
174 | * SDHI1 OFF | ON | X | OFF | ON | ||
175 | * | 174 | * |
176 | */ | 175 | */ |
177 | 176 | ||
diff --git a/arch/arm/mach-shmobile/clock-sh7372.c b/arch/arm/mach-shmobile/clock-sh7372.c index 9aa8d68d1a9c..e9731b5a73ed 100644 --- a/arch/arm/mach-shmobile/clock-sh7372.c +++ b/arch/arm/mach-shmobile/clock-sh7372.c | |||
@@ -234,7 +234,9 @@ static int pllc2_set_rate(struct clk *clk, unsigned long rate) | |||
234 | 234 | ||
235 | value = __raw_readl(PLLC2CR) & ~(0x3f << 24); | 235 | value = __raw_readl(PLLC2CR) & ~(0x3f << 24); |
236 | 236 | ||
237 | __raw_writel((value & ~0x80000000) | ((idx + 19) << 24), PLLC2CR); | 237 | __raw_writel(value | ((idx + 19) << 24), PLLC2CR); |
238 | |||
239 | clk->rate = clk->freq_table[idx].frequency; | ||
238 | 240 | ||
239 | return 0; | 241 | return 0; |
240 | } | 242 | } |
diff --git a/arch/arm/mach-shmobile/clock-sh73a0.c b/arch/arm/mach-shmobile/clock-sh73a0.c index 720a71433be6..ddd4a1b775f0 100644 --- a/arch/arm/mach-shmobile/clock-sh73a0.c +++ b/arch/arm/mach-shmobile/clock-sh73a0.c | |||
@@ -118,8 +118,16 @@ static unsigned long pll_recalc(struct clk *clk) | |||
118 | { | 118 | { |
119 | unsigned long mult = 1; | 119 | unsigned long mult = 1; |
120 | 120 | ||
121 | if (__raw_readl(PLLECR) & (1 << clk->enable_bit)) | 121 | if (__raw_readl(PLLECR) & (1 << clk->enable_bit)) { |
122 | mult = (((__raw_readl(clk->enable_reg) >> 24) & 0x3f) + 1); | 122 | mult = (((__raw_readl(clk->enable_reg) >> 24) & 0x3f) + 1); |
123 | /* handle CFG bit for PLL1 and PLL2 */ | ||
124 | switch (clk->enable_bit) { | ||
125 | case 1: | ||
126 | case 2: | ||
127 | if (__raw_readl(clk->enable_reg) & (1 << 20)) | ||
128 | mult *= 2; | ||
129 | } | ||
130 | } | ||
123 | 131 | ||
124 | return clk->parent->rate * mult; | 132 | return clk->parent->rate * mult; |
125 | } | 133 | } |
@@ -212,7 +220,7 @@ enum { DIV4_I, DIV4_ZG, DIV4_M3, DIV4_B, DIV4_M1, DIV4_M2, | |||
212 | static struct clk div4_clks[DIV4_NR] = { | 220 | static struct clk div4_clks[DIV4_NR] = { |
213 | [DIV4_I] = DIV4(FRQCRA, 20, 0xfff, CLK_ENABLE_ON_INIT), | 221 | [DIV4_I] = DIV4(FRQCRA, 20, 0xfff, CLK_ENABLE_ON_INIT), |
214 | [DIV4_ZG] = DIV4(FRQCRA, 16, 0xbff, CLK_ENABLE_ON_INIT), | 222 | [DIV4_ZG] = DIV4(FRQCRA, 16, 0xbff, CLK_ENABLE_ON_INIT), |
215 | [DIV4_M3] = DIV4(FRQCRA, 8, 0xfff, CLK_ENABLE_ON_INIT), | 223 | [DIV4_M3] = DIV4(FRQCRA, 12, 0xfff, CLK_ENABLE_ON_INIT), |
216 | [DIV4_B] = DIV4(FRQCRA, 8, 0xfff, CLK_ENABLE_ON_INIT), | 224 | [DIV4_B] = DIV4(FRQCRA, 8, 0xfff, CLK_ENABLE_ON_INIT), |
217 | [DIV4_M1] = DIV4(FRQCRA, 4, 0xfff, 0), | 225 | [DIV4_M1] = DIV4(FRQCRA, 4, 0xfff, 0), |
218 | [DIV4_M2] = DIV4(FRQCRA, 0, 0xfff, 0), | 226 | [DIV4_M2] = DIV4(FRQCRA, 0, 0xfff, 0), |
@@ -255,10 +263,10 @@ static struct clk div6_clks[DIV6_NR] = { | |||
255 | }; | 263 | }; |
256 | 264 | ||
257 | enum { MSTP001, | 265 | enum { MSTP001, |
258 | MSTP125, MSTP116, | 266 | MSTP125, MSTP118, MSTP116, MSTP100, |
259 | MSTP219, | 267 | MSTP219, |
260 | MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200, | 268 | MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200, |
261 | MSTP331, MSTP329, MSTP323, MSTP312, | 269 | MSTP331, MSTP329, MSTP325, MSTP323, MSTP312, |
262 | MSTP411, MSTP410, MSTP403, | 270 | MSTP411, MSTP410, MSTP403, |
263 | MSTP_NR }; | 271 | MSTP_NR }; |
264 | 272 | ||
@@ -268,7 +276,9 @@ enum { MSTP001, | |||
268 | static struct clk mstp_clks[MSTP_NR] = { | 276 | static struct clk mstp_clks[MSTP_NR] = { |
269 | [MSTP001] = MSTP(&div4_clks[DIV4_HP], SMSTPCR0, 1, 0), /* IIC2 */ | 277 | [MSTP001] = MSTP(&div4_clks[DIV4_HP], SMSTPCR0, 1, 0), /* IIC2 */ |
270 | [MSTP125] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR1, 25, 0), /* TMU0 */ | 278 | [MSTP125] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR1, 25, 0), /* TMU0 */ |
279 | [MSTP118] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 18, 0), /* DSITX0 */ | ||
271 | [MSTP116] = MSTP(&div4_clks[DIV4_HP], SMSTPCR1, 16, 0), /* IIC0 */ | 280 | [MSTP116] = MSTP(&div4_clks[DIV4_HP], SMSTPCR1, 16, 0), /* IIC0 */ |
281 | [MSTP100] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 0, 0), /* LCDC0 */ | ||
272 | [MSTP219] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 19, 0), /* SCIFA7 */ | 282 | [MSTP219] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 19, 0), /* SCIFA7 */ |
273 | [MSTP207] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 7, 0), /* SCIFA5 */ | 283 | [MSTP207] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 7, 0), /* SCIFA5 */ |
274 | [MSTP206] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 6, 0), /* SCIFB */ | 284 | [MSTP206] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 6, 0), /* SCIFB */ |
@@ -279,6 +289,7 @@ static struct clk mstp_clks[MSTP_NR] = { | |||
279 | [MSTP200] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 0, 0), /* SCIFA4 */ | 289 | [MSTP200] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 0, 0), /* SCIFA4 */ |
280 | [MSTP331] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR3, 31, 0), /* SCIFA6 */ | 290 | [MSTP331] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR3, 31, 0), /* SCIFA6 */ |
281 | [MSTP329] = MSTP(&r_clk, SMSTPCR3, 29, 0), /* CMT10 */ | 291 | [MSTP329] = MSTP(&r_clk, SMSTPCR3, 29, 0), /* CMT10 */ |
292 | [MSTP325] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR3, 25, 0), /* IrDA */ | ||
282 | [MSTP323] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 23, 0), /* IIC1 */ | 293 | [MSTP323] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 23, 0), /* IIC1 */ |
283 | [MSTP312] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 12, 0), /* MMCIF0 */ | 294 | [MSTP312] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 12, 0), /* MMCIF0 */ |
284 | [MSTP411] = MSTP(&div4_clks[DIV4_HP], SMSTPCR4, 11, 0), /* IIC3 */ | 295 | [MSTP411] = MSTP(&div4_clks[DIV4_HP], SMSTPCR4, 11, 0), /* IIC3 */ |
@@ -288,16 +299,25 @@ static struct clk mstp_clks[MSTP_NR] = { | |||
288 | 299 | ||
289 | #define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } | 300 | #define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } |
290 | #define CLKDEV_DEV_ID(_id, _clk) { .dev_id = _id, .clk = _clk } | 301 | #define CLKDEV_DEV_ID(_id, _clk) { .dev_id = _id, .clk = _clk } |
302 | #define CLKDEV_ICK_ID(_cid, _did, _clk) { .con_id = _cid, .dev_id = _did, .clk = _clk } | ||
291 | 303 | ||
292 | static struct clk_lookup lookups[] = { | 304 | static struct clk_lookup lookups[] = { |
293 | /* main clocks */ | 305 | /* main clocks */ |
294 | CLKDEV_CON_ID("r_clk", &r_clk), | 306 | CLKDEV_CON_ID("r_clk", &r_clk), |
295 | 307 | ||
308 | /* DIV6 clocks */ | ||
309 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]), | ||
310 | CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]), | ||
311 | CLKDEV_ICK_ID("dsi0p_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]), | ||
312 | CLKDEV_ICK_ID("dsi1p_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]), | ||
313 | |||
296 | /* MSTP32 clocks */ | 314 | /* MSTP32 clocks */ |
297 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* I2C2 */ | 315 | CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* I2C2 */ |
316 | CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0", &mstp_clks[MSTP100]), /* LCDC0 */ | ||
298 | CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP125]), /* TMU00 */ | 317 | CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP125]), /* TMU00 */ |
299 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP125]), /* TMU01 */ | 318 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP125]), /* TMU01 */ |
300 | CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]), /* I2C0 */ | 319 | CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]), /* I2C0 */ |
320 | CLKDEV_DEV_ID("sh-mipi-dsi.0", &mstp_clks[MSTP118]), /* DSITX */ | ||
301 | CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP219]), /* SCIFA7 */ | 321 | CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP219]), /* SCIFA7 */ |
302 | CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP207]), /* SCIFA5 */ | 322 | CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP207]), /* SCIFA5 */ |
303 | CLKDEV_DEV_ID("sh-sci.8", &mstp_clks[MSTP206]), /* SCIFB */ | 323 | CLKDEV_DEV_ID("sh-sci.8", &mstp_clks[MSTP206]), /* SCIFB */ |
@@ -308,6 +328,7 @@ static struct clk_lookup lookups[] = { | |||
308 | CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP200]), /* SCIFA4 */ | 328 | CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP200]), /* SCIFA4 */ |
309 | CLKDEV_DEV_ID("sh-sci.6", &mstp_clks[MSTP331]), /* SCIFA6 */ | 329 | CLKDEV_DEV_ID("sh-sci.6", &mstp_clks[MSTP331]), /* SCIFA6 */ |
310 | CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), /* CMT10 */ | 330 | CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), /* CMT10 */ |
331 | CLKDEV_DEV_ID("sh_irda.0", &mstp_clks[MSTP325]), /* IrDA */ | ||
311 | CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), /* I2C1 */ | 332 | CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), /* I2C1 */ |
312 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP312]), /* MMCIF0 */ | 333 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP312]), /* MMCIF0 */ |
313 | CLKDEV_DEV_ID("i2c-sh_mobile.3", &mstp_clks[MSTP411]), /* I2C3 */ | 334 | CLKDEV_DEV_ID("i2c-sh_mobile.3", &mstp_clks[MSTP411]), /* I2C3 */ |
diff --git a/arch/arm/mach-shmobile/intc-sh7372.c b/arch/arm/mach-shmobile/intc-sh7372.c index f78a1ead71a5..ca5f9d17b39a 100644 --- a/arch/arm/mach-shmobile/intc-sh7372.c +++ b/arch/arm/mach-shmobile/intc-sh7372.c | |||
@@ -365,6 +365,7 @@ static struct intc_desc intca_desc __initdata = { | |||
365 | 365 | ||
366 | enum { | 366 | enum { |
367 | UNUSED_INTCS = 0, | 367 | UNUSED_INTCS = 0, |
368 | ENABLED_INTCS, | ||
368 | 369 | ||
369 | INTCS, | 370 | INTCS, |
370 | 371 | ||
@@ -413,7 +414,7 @@ enum { | |||
413 | CMT4, | 414 | CMT4, |
414 | DSITX1_DSITX1_0, | 415 | DSITX1_DSITX1_0, |
415 | DSITX1_DSITX1_1, | 416 | DSITX1_DSITX1_1, |
416 | /* MFIS2 */ | 417 | MFIS2_INTCS, /* Priority always enabled using ENABLED_INTCS */ |
417 | CPORTS2R, | 418 | CPORTS2R, |
418 | /* CEC */ | 419 | /* CEC */ |
419 | JPU6E, | 420 | JPU6E, |
@@ -477,7 +478,7 @@ static struct intc_vect intcs_vectors[] = { | |||
477 | INTCS_VECT(CMT4, 0x1980), | 478 | INTCS_VECT(CMT4, 0x1980), |
478 | INTCS_VECT(DSITX1_DSITX1_0, 0x19a0), | 479 | INTCS_VECT(DSITX1_DSITX1_0, 0x19a0), |
479 | INTCS_VECT(DSITX1_DSITX1_1, 0x19c0), | 480 | INTCS_VECT(DSITX1_DSITX1_1, 0x19c0), |
480 | /* MFIS2 */ | 481 | INTCS_VECT(MFIS2_INTCS, 0x1a00), |
481 | INTCS_VECT(CPORTS2R, 0x1a20), | 482 | INTCS_VECT(CPORTS2R, 0x1a20), |
482 | /* CEC */ | 483 | /* CEC */ |
483 | INTCS_VECT(JPU6E, 0x1a80), | 484 | INTCS_VECT(JPU6E, 0x1a80), |
@@ -543,7 +544,7 @@ static struct intc_mask_reg intcs_mask_registers[] = { | |||
543 | { 0, TMU1_TUNI2, TMU1_TUNI1, TMU1_TUNI0, | 544 | { 0, TMU1_TUNI2, TMU1_TUNI1, TMU1_TUNI0, |
544 | CMT4, DSITX1_DSITX1_0, DSITX1_DSITX1_1, 0 } }, | 545 | CMT4, DSITX1_DSITX1_0, DSITX1_DSITX1_1, 0 } }, |
545 | { 0xffd5019c, 0xffd501dc, 8, /* IMR7SA3 / IMCR7SA3 */ | 546 | { 0xffd5019c, 0xffd501dc, 8, /* IMR7SA3 / IMCR7SA3 */ |
546 | { 0, CPORTS2R, 0, 0, | 547 | { MFIS2_INTCS, CPORTS2R, 0, 0, |
547 | JPU6E, 0, 0, 0 } }, | 548 | JPU6E, 0, 0, 0 } }, |
548 | { 0xffd20104, 0, 16, /* INTAMASK */ | 549 | { 0xffd20104, 0, 16, /* INTAMASK */ |
549 | { 0, 0, 0, 0, 0, 0, 0, 0, | 550 | { 0, 0, 0, 0, 0, 0, 0, 0, |
@@ -571,7 +572,8 @@ static struct intc_prio_reg intcs_prio_registers[] = { | |||
571 | { 0xffd50030, 0, 16, 4, /* IPRMS3 */ { TMU1, 0, 0, 0 } }, | 572 | { 0xffd50030, 0, 16, 4, /* IPRMS3 */ { TMU1, 0, 0, 0 } }, |
572 | { 0xffd50034, 0, 16, 4, /* IPRNS3 */ { CMT4, DSITX1_DSITX1_0, | 573 | { 0xffd50034, 0, 16, 4, /* IPRNS3 */ { CMT4, DSITX1_DSITX1_0, |
573 | DSITX1_DSITX1_1, 0 } }, | 574 | DSITX1_DSITX1_1, 0 } }, |
574 | { 0xffd50038, 0, 16, 4, /* IPROS3 */ { 0, CPORTS2R, 0, 0 } }, | 575 | { 0xffd50038, 0, 16, 4, /* IPROS3 */ { ENABLED_INTCS, CPORTS2R, |
576 | 0, 0 } }, | ||
575 | { 0xffd5003c, 0, 16, 4, /* IPRPS3 */ { JPU6E, 0, 0, 0 } }, | 577 | { 0xffd5003c, 0, 16, 4, /* IPRPS3 */ { JPU6E, 0, 0, 0 } }, |
576 | }; | 578 | }; |
577 | 579 | ||
@@ -590,6 +592,7 @@ static struct resource intcs_resources[] __initdata = { | |||
590 | 592 | ||
591 | static struct intc_desc intcs_desc __initdata = { | 593 | static struct intc_desc intcs_desc __initdata = { |
592 | .name = "sh7372-intcs", | 594 | .name = "sh7372-intcs", |
595 | .force_enable = ENABLED_INTCS, | ||
593 | .resource = intcs_resources, | 596 | .resource = intcs_resources, |
594 | .num_resources = ARRAY_SIZE(intcs_resources), | 597 | .num_resources = ARRAY_SIZE(intcs_resources), |
595 | .hw = INTC_HW_DESC(intcs_vectors, intcs_groups, intcs_mask_registers, | 598 | .hw = INTC_HW_DESC(intcs_vectors, intcs_groups, intcs_mask_registers, |
diff --git a/arch/arm/mach-shmobile/intc-sh73a0.c b/arch/arm/mach-shmobile/intc-sh73a0.c index 322d8d57cbcf..5d0e1503ece6 100644 --- a/arch/arm/mach-shmobile/intc-sh73a0.c +++ b/arch/arm/mach-shmobile/intc-sh73a0.c | |||
@@ -252,10 +252,11 @@ static irqreturn_t sh73a0_intcs_demux(int irq, void *dev_id) | |||
252 | 252 | ||
253 | void __init sh73a0_init_irq(void) | 253 | void __init sh73a0_init_irq(void) |
254 | { | 254 | { |
255 | void __iomem *gic_base = __io(0xf0001000); | 255 | void __iomem *gic_dist_base = __io(0xf0001000); |
256 | void __iomem *gic_cpu_base = __io(0xf0000100); | ||
256 | void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE); | 257 | void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE); |
257 | 258 | ||
258 | gic_init(0, 29, gic_base, gic_base); | 259 | gic_init(0, 29, gic_dist_base, gic_cpu_base); |
259 | 260 | ||
260 | register_intc_controller(&intcs_desc); | 261 | register_intc_controller(&intcs_desc); |
261 | 262 | ||
diff --git a/arch/arm/mach-tegra/gpio.c b/arch/arm/mach-tegra/gpio.c index bd066206e110..ad8048801513 100644 --- a/arch/arm/mach-tegra/gpio.c +++ b/arch/arm/mach-tegra/gpio.c | |||
@@ -207,9 +207,9 @@ static int tegra_gpio_irq_set_type(struct irq_data *d, unsigned int type) | |||
207 | spin_unlock_irqrestore(&bank->lvl_lock[port], flags); | 207 | spin_unlock_irqrestore(&bank->lvl_lock[port], flags); |
208 | 208 | ||
209 | if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH)) | 209 | if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH)) |
210 | __set_irq_handler_unlocked(irq, handle_level_irq); | 210 | __set_irq_handler_unlocked(d->irq, handle_level_irq); |
211 | else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)) | 211 | else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)) |
212 | __set_irq_handler_unlocked(irq, handle_edge_irq); | 212 | __set_irq_handler_unlocked(d->irq, handle_edge_irq); |
213 | 213 | ||
214 | return 0; | 214 | return 0; |
215 | } | 215 | } |
diff --git a/arch/arm/mach-tegra/include/mach/clk.h b/arch/arm/mach-tegra/include/mach/clk.h index d7723955dac7..a217f68ba57c 100644 --- a/arch/arm/mach-tegra/include/mach/clk.h +++ b/arch/arm/mach-tegra/include/mach/clk.h | |||
@@ -20,6 +20,8 @@ | |||
20 | #ifndef __MACH_CLK_H | 20 | #ifndef __MACH_CLK_H |
21 | #define __MACH_CLK_H | 21 | #define __MACH_CLK_H |
22 | 22 | ||
23 | struct clk; | ||
24 | |||
23 | void tegra_periph_reset_deassert(struct clk *c); | 25 | void tegra_periph_reset_deassert(struct clk *c); |
24 | void tegra_periph_reset_assert(struct clk *c); | 26 | void tegra_periph_reset_assert(struct clk *c); |
25 | 27 | ||
diff --git a/arch/arm/mach-tegra/include/mach/clkdev.h b/arch/arm/mach-tegra/include/mach/clkdev.h index 412f5c63e65a..66cd3f4fc896 100644 --- a/arch/arm/mach-tegra/include/mach/clkdev.h +++ b/arch/arm/mach-tegra/include/mach/clkdev.h | |||
@@ -20,6 +20,8 @@ | |||
20 | #ifndef __MACH_CLKDEV_H | 20 | #ifndef __MACH_CLKDEV_H |
21 | #define __MACH_CLKDEV_H | 21 | #define __MACH_CLKDEV_H |
22 | 22 | ||
23 | struct clk; | ||
24 | |||
23 | static inline int __clk_get(struct clk *clk) | 25 | static inline int __clk_get(struct clk *clk) |
24 | { | 26 | { |
25 | return 1; | 27 | return 1; |
diff --git a/arch/arm/mach-tegra/include/mach/kbc.h b/arch/arm/mach-tegra/include/mach/kbc.h new file mode 100644 index 000000000000..66ad2760c621 --- /dev/null +++ b/arch/arm/mach-tegra/include/mach/kbc.h | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | * Platform definitions for tegra-kbc keyboard input driver | ||
3 | * | ||
4 | * Copyright (c) 2010-2011, NVIDIA Corporation. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
19 | */ | ||
20 | |||
21 | #ifndef ASMARM_ARCH_TEGRA_KBC_H | ||
22 | #define ASMARM_ARCH_TEGRA_KBC_H | ||
23 | |||
24 | #include <linux/types.h> | ||
25 | #include <linux/input/matrix_keypad.h> | ||
26 | |||
27 | #ifdef CONFIG_ARCH_TEGRA_2x_SOC | ||
28 | #define KBC_MAX_GPIO 24 | ||
29 | #define KBC_MAX_KPENT 8 | ||
30 | #else | ||
31 | #define KBC_MAX_GPIO 20 | ||
32 | #define KBC_MAX_KPENT 7 | ||
33 | #endif | ||
34 | |||
35 | #define KBC_MAX_ROW 16 | ||
36 | #define KBC_MAX_COL 8 | ||
37 | #define KBC_MAX_KEY (KBC_MAX_ROW * KBC_MAX_COL) | ||
38 | |||
39 | struct tegra_kbc_pin_cfg { | ||
40 | bool is_row; | ||
41 | unsigned char num; | ||
42 | }; | ||
43 | |||
44 | struct tegra_kbc_wake_key { | ||
45 | u8 row:4; | ||
46 | u8 col:4; | ||
47 | }; | ||
48 | |||
49 | struct tegra_kbc_platform_data { | ||
50 | unsigned int debounce_cnt; | ||
51 | unsigned int repeat_cnt; | ||
52 | |||
53 | unsigned int wake_cnt; /* 0:wake on any key >1:wake on wake_cfg */ | ||
54 | const struct tegra_kbc_wake_key *wake_cfg; | ||
55 | |||
56 | struct tegra_kbc_pin_cfg pin_cfg[KBC_MAX_GPIO]; | ||
57 | const struct matrix_keymap_data *keymap_data; | ||
58 | |||
59 | bool wakeup; | ||
60 | }; | ||
61 | #endif | ||
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c index de7dfad6f769..17c74d21077c 100644 --- a/arch/arm/mach-tegra/irq.c +++ b/arch/arm/mach-tegra/irq.c | |||
@@ -46,24 +46,24 @@ | |||
46 | #define ICTLR_COP_IER_CLR 0x38 | 46 | #define ICTLR_COP_IER_CLR 0x38 |
47 | #define ICTLR_COP_IEP_CLASS 0x3c | 47 | #define ICTLR_COP_IEP_CLASS 0x3c |
48 | 48 | ||
49 | static void (*gic_mask_irq)(struct irq_data *d); | 49 | static void (*tegra_gic_mask_irq)(struct irq_data *d); |
50 | static void (*gic_unmask_irq)(struct irq_data *d); | 50 | static void (*tegra_gic_unmask_irq)(struct irq_data *d); |
51 | 51 | ||
52 | #define irq_to_ictlr(irq) (((irq)-32) >> 5) | 52 | #define irq_to_ictlr(irq) (((irq) - 32) >> 5) |
53 | static void __iomem *tegra_ictlr_base = IO_ADDRESS(TEGRA_PRIMARY_ICTLR_BASE); | 53 | static void __iomem *tegra_ictlr_base = IO_ADDRESS(TEGRA_PRIMARY_ICTLR_BASE); |
54 | #define ictlr_to_virt(ictlr) (tegra_ictlr_base + (ictlr)*0x100) | 54 | #define ictlr_to_virt(ictlr) (tegra_ictlr_base + (ictlr) * 0x100) |
55 | 55 | ||
56 | static void tegra_mask(struct irq_data *d) | 56 | static void tegra_mask(struct irq_data *d) |
57 | { | 57 | { |
58 | void __iomem *addr = ictlr_to_virt(irq_to_ictlr(d->irq)); | 58 | void __iomem *addr = ictlr_to_virt(irq_to_ictlr(d->irq)); |
59 | gic_mask_irq(d); | 59 | tegra_gic_mask_irq(d); |
60 | writel(1<<(d->irq&31), addr+ICTLR_CPU_IER_CLR); | 60 | writel(1 << (d->irq & 31), addr+ICTLR_CPU_IER_CLR); |
61 | } | 61 | } |
62 | 62 | ||
63 | static void tegra_unmask(struct irq_data *d) | 63 | static void tegra_unmask(struct irq_data *d) |
64 | { | 64 | { |
65 | void __iomem *addr = ictlr_to_virt(irq_to_ictlr(d->irq)); | 65 | void __iomem *addr = ictlr_to_virt(irq_to_ictlr(d->irq)); |
66 | gic_unmask_irq(d); | 66 | tegra_gic_unmask_irq(d); |
67 | writel(1<<(d->irq&31), addr+ICTLR_CPU_IER_SET); | 67 | writel(1<<(d->irq&31), addr+ICTLR_CPU_IER_SET); |
68 | } | 68 | } |
69 | 69 | ||
@@ -98,8 +98,8 @@ void __init tegra_init_irq(void) | |||
98 | IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100)); | 98 | IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100)); |
99 | 99 | ||
100 | gic = get_irq_chip(29); | 100 | gic = get_irq_chip(29); |
101 | gic_unmask_irq = gic->irq_unmask; | 101 | tegra_gic_unmask_irq = gic->irq_unmask; |
102 | gic_mask_irq = gic->irq_mask; | 102 | tegra_gic_mask_irq = gic->irq_mask; |
103 | tegra_irq.irq_ack = gic->irq_ack; | 103 | tegra_irq.irq_ack = gic->irq_ack; |
104 | #ifdef CONFIG_SMP | 104 | #ifdef CONFIG_SMP |
105 | tegra_irq.irq_set_affinity = gic->irq_set_affinity; | 105 | tegra_irq.irq_set_affinity = gic->irq_set_affinity; |
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig index 3f7b5e9d83c5..9cdec5aa04a0 100644 --- a/arch/arm/mach-versatile/Kconfig +++ b/arch/arm/mach-versatile/Kconfig | |||
@@ -2,17 +2,19 @@ menu "Versatile platform type" | |||
2 | depends on ARCH_VERSATILE | 2 | depends on ARCH_VERSATILE |
3 | 3 | ||
4 | config ARCH_VERSATILE_PB | 4 | config ARCH_VERSATILE_PB |
5 | bool "Support Versatile/PB platform" | 5 | bool "Support Versatile Platform Baseboard for ARM926EJ-S" |
6 | select CPU_ARM926T | 6 | select CPU_ARM926T |
7 | select MIGHT_HAVE_PCI | 7 | select MIGHT_HAVE_PCI |
8 | default y | 8 | default y |
9 | help | 9 | help |
10 | Include support for the ARM(R) Versatile/PB platform. | 10 | Include support for the ARM(R) Versatile Platform Baseboard |
11 | for the ARM926EJ-S. | ||
11 | 12 | ||
12 | config MACH_VERSATILE_AB | 13 | config MACH_VERSATILE_AB |
13 | bool "Support Versatile/AB platform" | 14 | bool "Support Versatile Application Baseboard for ARM926EJ-S" |
14 | select CPU_ARM926T | 15 | select CPU_ARM926T |
15 | help | 16 | help |
16 | Include support for the ARM(R) Versatile/AP platform. | 17 | Include support for the ARM(R) Versatile Application Baseboard |
18 | for the ARM926EJ-S. | ||
17 | 19 | ||
18 | endmenu | 20 | endmenu |
diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c index b1687b6abe63..634bf1d3a311 100644 --- a/arch/arm/mach-vexpress/platsmp.c +++ b/arch/arm/mach-vexpress/platsmp.c | |||
@@ -39,7 +39,7 @@ volatile int __cpuinitdata pen_release = -1; | |||
39 | * observers, irrespective of whether they're taking part in coherency | 39 | * observers, irrespective of whether they're taking part in coherency |
40 | * or not. This is necessary for the hotplug code to work reliably. | 40 | * or not. This is necessary for the hotplug code to work reliably. |
41 | */ | 41 | */ |
42 | static void write_pen_release(int val) | 42 | static void __cpuinit write_pen_release(int val) |
43 | { | 43 | { |
44 | pen_release = val; | 44 | pen_release = val; |
45 | smp_wmb(); | 45 | smp_wmb(); |
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c index a9ed3428a2fa..1edae65a0e72 100644 --- a/arch/arm/mach-vexpress/v2m.c +++ b/arch/arm/mach-vexpress/v2m.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/mach/time.h> | 19 | #include <asm/mach/time.h> |
20 | #include <asm/hardware/arm_timer.h> | 20 | #include <asm/hardware/arm_timer.h> |
21 | #include <asm/hardware/timer-sp.h> | 21 | #include <asm/hardware/timer-sp.h> |
22 | #include <asm/hardware/sp810.h> | ||
22 | 23 | ||
23 | #include <mach/motherboard.h> | 24 | #include <mach/motherboard.h> |
24 | 25 | ||
@@ -50,8 +51,16 @@ void __init v2m_map_io(struct map_desc *tile, size_t num) | |||
50 | 51 | ||
51 | static void __init v2m_timer_init(void) | 52 | static void __init v2m_timer_init(void) |
52 | { | 53 | { |
54 | u32 scctrl; | ||
55 | |||
53 | versatile_sched_clock_init(MMIO_P2V(V2M_SYS_24MHZ), 24000000); | 56 | versatile_sched_clock_init(MMIO_P2V(V2M_SYS_24MHZ), 24000000); |
54 | 57 | ||
58 | /* Select 1MHz TIMCLK as the reference clock for SP804 timers */ | ||
59 | scctrl = readl(MMIO_P2V(V2M_SYSCTL + SCCTRL)); | ||
60 | scctrl |= SCCTRL_TIMEREN0SEL_TIMCLK; | ||
61 | scctrl |= SCCTRL_TIMEREN1SEL_TIMCLK; | ||
62 | writel(scctrl, MMIO_P2V(V2M_SYSCTL + SCCTRL)); | ||
63 | |||
55 | writel(0, MMIO_P2V(V2M_TIMER0) + TIMER_CTRL); | 64 | writel(0, MMIO_P2V(V2M_TIMER0) + TIMER_CTRL); |
56 | writel(0, MMIO_P2V(V2M_TIMER1) + TIMER_CTRL); | 65 | writel(0, MMIO_P2V(V2M_TIMER1) + TIMER_CTRL); |
57 | 66 | ||
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 5164069ced42..cddd684364da 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -297,6 +297,12 @@ void __init arm_memblock_init(struct meminfo *mi, struct machine_desc *mdesc) | |||
297 | memblock_reserve(__pa(_stext), _end - _stext); | 297 | memblock_reserve(__pa(_stext), _end - _stext); |
298 | #endif | 298 | #endif |
299 | #ifdef CONFIG_BLK_DEV_INITRD | 299 | #ifdef CONFIG_BLK_DEV_INITRD |
300 | if (phys_initrd_size && | ||
301 | memblock_is_region_reserved(phys_initrd_start, phys_initrd_size)) { | ||
302 | pr_err("INITRD: 0x%08lx+0x%08lx overlaps in-use memory region - disabling initrd\n", | ||
303 | phys_initrd_start, phys_initrd_size); | ||
304 | phys_initrd_start = phys_initrd_size = 0; | ||
305 | } | ||
300 | if (phys_initrd_size) { | 306 | if (phys_initrd_size) { |
301 | memblock_reserve(phys_initrd_start, phys_initrd_size); | 307 | memblock_reserve(phys_initrd_start, phys_initrd_size); |
302 | 308 | ||
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig index 18fe3cb195dc..b6333ae3f92a 100644 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig | |||
@@ -144,12 +144,9 @@ config OMAP_IOMMU_DEBUG | |||
144 | config OMAP_IOMMU_IVA2 | 144 | config OMAP_IOMMU_IVA2 |
145 | bool | 145 | bool |
146 | 146 | ||
147 | choice | ||
148 | prompt "System timer" | ||
149 | default OMAP_32K_TIMER if !ARCH_OMAP15XX | ||
150 | |||
151 | config OMAP_MPU_TIMER | 147 | config OMAP_MPU_TIMER |
152 | bool "Use mpu timer" | 148 | bool "Use mpu timer" |
149 | depends on ARCH_OMAP1 | ||
153 | help | 150 | help |
154 | Select this option if you want to use the OMAP mpu timer. This | 151 | Select this option if you want to use the OMAP mpu timer. This |
155 | timer provides more intra-tick resolution than the 32KHz timer, | 152 | timer provides more intra-tick resolution than the 32KHz timer, |
@@ -158,6 +155,7 @@ config OMAP_MPU_TIMER | |||
158 | config OMAP_32K_TIMER | 155 | config OMAP_32K_TIMER |
159 | bool "Use 32KHz timer" | 156 | bool "Use 32KHz timer" |
160 | depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS | 157 | depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS |
158 | default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS) | ||
161 | help | 159 | help |
162 | Select this option if you want to enable the OMAP 32KHz timer. | 160 | Select this option if you want to enable the OMAP 32KHz timer. |
163 | This timer saves power compared to the OMAP_MPU_TIMER, and has | 161 | This timer saves power compared to the OMAP_MPU_TIMER, and has |
@@ -165,8 +163,6 @@ config OMAP_32K_TIMER | |||
165 | intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is | 163 | intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is |
166 | currently only available for OMAP16XX, 24XX, 34XX and OMAP4. | 164 | currently only available for OMAP16XX, 24XX, 34XX and OMAP4. |
167 | 165 | ||
168 | endchoice | ||
169 | |||
170 | config OMAP3_L2_AUX_SECURE_SAVE_RESTORE | 166 | config OMAP3_L2_AUX_SECURE_SAVE_RESTORE |
171 | bool "OMAP3 HS/EMU save and restore for L2 AUX control register" | 167 | bool "OMAP3 HS/EMU save and restore for L2 AUX control register" |
172 | depends on ARCH_OMAP3 && PM | 168 | depends on ARCH_OMAP3 && PM |
diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c index ea4644021fb9..862dda95d61d 100644 --- a/arch/arm/plat-omap/counter_32k.c +++ b/arch/arm/plat-omap/counter_32k.c | |||
@@ -36,8 +36,6 @@ | |||
36 | 36 | ||
37 | #define OMAP16XX_TIMER_32K_SYNCHRONIZED 0xfffbc410 | 37 | #define OMAP16XX_TIMER_32K_SYNCHRONIZED 0xfffbc410 |
38 | 38 | ||
39 | #if !(defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP15XX)) | ||
40 | |||
41 | #include <linux/clocksource.h> | 39 | #include <linux/clocksource.h> |
42 | 40 | ||
43 | /* | 41 | /* |
@@ -122,12 +120,24 @@ static DEFINE_CLOCK_DATA(cd); | |||
122 | #define SC_MULT 4000000000u | 120 | #define SC_MULT 4000000000u |
123 | #define SC_SHIFT 17 | 121 | #define SC_SHIFT 17 |
124 | 122 | ||
125 | unsigned long long notrace sched_clock(void) | 123 | static inline unsigned long long notrace _omap_32k_sched_clock(void) |
126 | { | 124 | { |
127 | u32 cyc = clocksource_32k.read(&clocksource_32k); | 125 | u32 cyc = clocksource_32k.read(&clocksource_32k); |
128 | return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, SC_MULT, SC_SHIFT); | 126 | return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, SC_MULT, SC_SHIFT); |
129 | } | 127 | } |
130 | 128 | ||
129 | #ifndef CONFIG_OMAP_MPU_TIMER | ||
130 | unsigned long long notrace sched_clock(void) | ||
131 | { | ||
132 | return _omap_32k_sched_clock(); | ||
133 | } | ||
134 | #else | ||
135 | unsigned long long notrace omap_32k_sched_clock(void) | ||
136 | { | ||
137 | return _omap_32k_sched_clock(); | ||
138 | } | ||
139 | #endif | ||
140 | |||
131 | static void notrace omap_update_sched_clock(void) | 141 | static void notrace omap_update_sched_clock(void) |
132 | { | 142 | { |
133 | u32 cyc = clocksource_32k.read(&clocksource_32k); | 143 | u32 cyc = clocksource_32k.read(&clocksource_32k); |
@@ -160,7 +170,7 @@ void read_persistent_clock(struct timespec *ts) | |||
160 | *ts = *tsp; | 170 | *ts = *tsp; |
161 | } | 171 | } |
162 | 172 | ||
163 | static int __init omap_init_clocksource_32k(void) | 173 | int __init omap_init_clocksource_32k(void) |
164 | { | 174 | { |
165 | static char err[] __initdata = KERN_ERR | 175 | static char err[] __initdata = KERN_ERR |
166 | "%s: can't register clocksource!\n"; | 176 | "%s: can't register clocksource!\n"; |
@@ -195,7 +205,3 @@ static int __init omap_init_clocksource_32k(void) | |||
195 | } | 205 | } |
196 | return 0; | 206 | return 0; |
197 | } | 207 | } |
198 | arch_initcall(omap_init_clocksource_32k); | ||
199 | |||
200 | #endif /* !(defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP15XX)) */ | ||
201 | |||
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index c4b2b478b1a5..85363084cc1a 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -53,7 +53,7 @@ enum { DMA_CHAIN_STARTED, DMA_CHAIN_NOTSTARTED }; | |||
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | #define OMAP_DMA_ACTIVE 0x01 | 55 | #define OMAP_DMA_ACTIVE 0x01 |
56 | #define OMAP2_DMA_CSR_CLEAR_MASK 0xffe | 56 | #define OMAP2_DMA_CSR_CLEAR_MASK 0xffffffff |
57 | 57 | ||
58 | #define OMAP_FUNC_MUX_ARM_BASE (0xfffe1000 + 0xec) | 58 | #define OMAP_FUNC_MUX_ARM_BASE (0xfffe1000 + 0xec) |
59 | 59 | ||
@@ -1873,7 +1873,7 @@ static int omap2_dma_handle_ch(int ch) | |||
1873 | printk(KERN_INFO "DMA misaligned error with device %d\n", | 1873 | printk(KERN_INFO "DMA misaligned error with device %d\n", |
1874 | dma_chan[ch].dev_id); | 1874 | dma_chan[ch].dev_id); |
1875 | 1875 | ||
1876 | p->dma_write(OMAP2_DMA_CSR_CLEAR_MASK, CSR, ch); | 1876 | p->dma_write(status, CSR, ch); |
1877 | p->dma_write(1 << ch, IRQSTATUS_L0, ch); | 1877 | p->dma_write(1 << ch, IRQSTATUS_L0, ch); |
1878 | /* read back the register to flush the write */ | 1878 | /* read back the register to flush the write */ |
1879 | p->dma_read(IRQSTATUS_L0, ch); | 1879 | p->dma_read(IRQSTATUS_L0, ch); |
@@ -1893,10 +1893,9 @@ static int omap2_dma_handle_ch(int ch) | |||
1893 | OMAP_DMA_CHAIN_INCQHEAD(chain_id); | 1893 | OMAP_DMA_CHAIN_INCQHEAD(chain_id); |
1894 | 1894 | ||
1895 | status = p->dma_read(CSR, ch); | 1895 | status = p->dma_read(CSR, ch); |
1896 | p->dma_write(status, CSR, ch); | ||
1896 | } | 1897 | } |
1897 | 1898 | ||
1898 | p->dma_write(status, CSR, ch); | ||
1899 | |||
1900 | if (likely(dma_chan[ch].callback != NULL)) | 1899 | if (likely(dma_chan[ch].callback != NULL)) |
1901 | dma_chan[ch].callback(ch, status, dma_chan[ch].data); | 1900 | dma_chan[ch].callback(ch, status, dma_chan[ch].data); |
1902 | 1901 | ||
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h index 6b8088ec74af..29b2afb4288f 100644 --- a/arch/arm/plat-omap/include/plat/common.h +++ b/arch/arm/plat-omap/include/plat/common.h | |||
@@ -35,6 +35,9 @@ struct sys_timer; | |||
35 | 35 | ||
36 | extern void omap_map_common_io(void); | 36 | extern void omap_map_common_io(void); |
37 | extern struct sys_timer omap_timer; | 37 | extern struct sys_timer omap_timer; |
38 | extern bool omap_32k_timer_init(void); | ||
39 | extern int __init omap_init_clocksource_32k(void); | ||
40 | extern unsigned long long notrace omap_32k_sched_clock(void); | ||
38 | 41 | ||
39 | extern void omap_reserve(void); | 42 | extern void omap_reserve(void); |
40 | 43 | ||
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index 313b13073c54..cd2062fe0f61 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
@@ -1,8 +1,8 @@ | |||
1 | config AVR32 | 1 | config AVR32 |
2 | def_bool y | 2 | def_bool y |
3 | # With EMBEDDED=n, we get lots of stuff automatically selected | 3 | # With EXPERT=n, we get lots of stuff automatically selected |
4 | # that we usually don't need on AVR32. | 4 | # that we usually don't need on AVR32. |
5 | select EMBEDDED | 5 | select EXPERT |
6 | select HAVE_CLK | 6 | select HAVE_CLK |
7 | select HAVE_OPROFILE | 7 | select HAVE_OPROFILE |
8 | select HAVE_KPROBES | 8 | select HAVE_KPROBES |
diff --git a/arch/avr32/include/asm/pgalloc.h b/arch/avr32/include/asm/pgalloc.h index 92ecd8446ef8..bc7e8ae479ee 100644 --- a/arch/avr32/include/asm/pgalloc.h +++ b/arch/avr32/include/asm/pgalloc.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #ifndef __ASM_AVR32_PGALLOC_H | 8 | #ifndef __ASM_AVR32_PGALLOC_H |
9 | #define __ASM_AVR32_PGALLOC_H | 9 | #define __ASM_AVR32_PGALLOC_H |
10 | 10 | ||
11 | #include <linux/mm.h> | ||
11 | #include <linux/quicklist.h> | 12 | #include <linux/quicklist.h> |
12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
13 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 0a221d48152d..c09577ddc3c5 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -30,6 +30,9 @@ config BLACKFIN | |||
30 | select HAVE_KERNEL_LZO if RAMKERNEL | 30 | select HAVE_KERNEL_LZO if RAMKERNEL |
31 | select HAVE_OPROFILE | 31 | select HAVE_OPROFILE |
32 | select ARCH_WANT_OPTIONAL_GPIOLIB | 32 | select ARCH_WANT_OPTIONAL_GPIOLIB |
33 | select HAVE_GENERIC_HARDIRQS | ||
34 | select GENERIC_IRQ_PROBE | ||
35 | select IRQ_PER_CPU if SMP | ||
33 | 36 | ||
34 | config GENERIC_CSUM | 37 | config GENERIC_CSUM |
35 | def_bool y | 38 | def_bool y |
@@ -44,15 +47,6 @@ config ZONE_DMA | |||
44 | config GENERIC_FIND_NEXT_BIT | 47 | config GENERIC_FIND_NEXT_BIT |
45 | def_bool y | 48 | def_bool y |
46 | 49 | ||
47 | config GENERIC_HARDIRQS | ||
48 | def_bool y | ||
49 | |||
50 | config GENERIC_IRQ_PROBE | ||
51 | def_bool y | ||
52 | |||
53 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
54 | def_bool y | ||
55 | |||
56 | config GENERIC_GPIO | 50 | config GENERIC_GPIO |
57 | def_bool y | 51 | def_bool y |
58 | 52 | ||
@@ -254,11 +248,6 @@ config HOTPLUG_CPU | |||
254 | depends on SMP && HOTPLUG | 248 | depends on SMP && HOTPLUG |
255 | default y | 249 | default y |
256 | 250 | ||
257 | config IRQ_PER_CPU | ||
258 | bool | ||
259 | depends on SMP | ||
260 | default y | ||
261 | |||
262 | config HAVE_LEGACY_PER_CPU_AREA | 251 | config HAVE_LEGACY_PER_CPU_AREA |
263 | def_bool y | 252 | def_bool y |
264 | depends on SMP | 253 | depends on SMP |
diff --git a/arch/blackfin/configs/BF518F-EZBRD_defconfig b/arch/blackfin/configs/BF518F-EZBRD_defconfig index c0b988ee30df..db8d38a12a9a 100644 --- a/arch/blackfin/configs/BF518F-EZBRD_defconfig +++ b/arch/blackfin/configs/BF518F-EZBRD_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF526-EZBRD_defconfig b/arch/blackfin/configs/BF526-EZBRD_defconfig index 864af5b68874..3e50d7857c27 100644 --- a/arch/blackfin/configs/BF526-EZBRD_defconfig +++ b/arch/blackfin/configs/BF526-EZBRD_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF527-AD7160-EVAL_defconfig b/arch/blackfin/configs/BF527-AD7160-EVAL_defconfig index 7b6a3370dbe2..362f59dd5228 100644 --- a/arch/blackfin/configs/BF527-AD7160-EVAL_defconfig +++ b/arch/blackfin/configs/BF527-AD7160-EVAL_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
10 | # CONFIG_AIO is not set | 10 | # CONFIG_AIO is not set |
11 | CONFIG_SLAB=y | 11 | CONFIG_SLAB=y |
diff --git a/arch/blackfin/configs/BF527-EZKIT-V2_defconfig b/arch/blackfin/configs/BF527-EZKIT-V2_defconfig index 4faa6b46a352..023ff0df2692 100644 --- a/arch/blackfin/configs/BF527-EZKIT-V2_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT-V2_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index 9d893eb68243..4e5a121b3c56 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF527-TLL6527M_defconfig b/arch/blackfin/configs/BF527-TLL6527M_defconfig index 97a2767c80f8..cd0636bb24a0 100644 --- a/arch/blackfin/configs/BF527-TLL6527M_defconfig +++ b/arch/blackfin/configs/BF527-TLL6527M_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_SYSCTL_SYSCALL is not set | 10 | # CONFIG_SYSCTL_SYSCALL is not set |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
12 | # CONFIG_FUTEX is not set | 12 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF533-EZKIT_defconfig b/arch/blackfin/configs/BF533-EZKIT_defconfig index f84774360c5b..9f8fc84e4ac9 100644 --- a/arch/blackfin/configs/BF533-EZKIT_defconfig +++ b/arch/blackfin/configs/BF533-EZKIT_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF533-STAMP_defconfig b/arch/blackfin/configs/BF533-STAMP_defconfig index 0e7262c04cc2..ccc432b722a0 100644 --- a/arch/blackfin/configs/BF533-STAMP_defconfig +++ b/arch/blackfin/configs/BF533-STAMP_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF537-STAMP_defconfig b/arch/blackfin/configs/BF537-STAMP_defconfig index 4d14a002e7bd..566695472a84 100644 --- a/arch/blackfin/configs/BF537-STAMP_defconfig +++ b/arch/blackfin/configs/BF537-STAMP_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF538-EZKIT_defconfig b/arch/blackfin/configs/BF538-EZKIT_defconfig index fbee9d776f56..ac22124ccb6c 100644 --- a/arch/blackfin/configs/BF538-EZKIT_defconfig +++ b/arch/blackfin/configs/BF538-EZKIT_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig index 05dd11db2f7d..944404b6ff08 100644 --- a/arch/blackfin/configs/BF548-EZKIT_defconfig +++ b/arch/blackfin/configs/BF548-EZKIT_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF561-ACVILON_defconfig b/arch/blackfin/configs/BF561-ACVILON_defconfig index bcb14d1c5664..b7c8451f26ac 100644 --- a/arch/blackfin/configs/BF561-ACVILON_defconfig +++ b/arch/blackfin/configs/BF561-ACVILON_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF561-EZKIT-SMP_defconfig b/arch/blackfin/configs/BF561-EZKIT-SMP_defconfig index 4cf451024fd8..7e67ba31e991 100644 --- a/arch/blackfin/configs/BF561-EZKIT-SMP_defconfig +++ b/arch/blackfin/configs/BF561-EZKIT-SMP_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BF561-EZKIT_defconfig b/arch/blackfin/configs/BF561-EZKIT_defconfig index 843aaa54a9e3..141e5933e1aa 100644 --- a/arch/blackfin/configs/BF561-EZKIT_defconfig +++ b/arch/blackfin/configs/BF561-EZKIT_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_FUTEX is not set | 11 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/BlackStamp_defconfig b/arch/blackfin/configs/BlackStamp_defconfig index dae7adf3b2a2..97ebe09a7370 100644 --- a/arch/blackfin/configs/BlackStamp_defconfig +++ b/arch/blackfin/configs/BlackStamp_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_SYSCTL_SYSCALL is not set | 10 | # CONFIG_SYSCTL_SYSCALL is not set |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
12 | # CONFIG_FUTEX is not set | 12 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/CM-BF527_defconfig b/arch/blackfin/configs/CM-BF527_defconfig index f3414244bfed..c2457543e58c 100644 --- a/arch/blackfin/configs/CM-BF527_defconfig +++ b/arch/blackfin/configs/CM-BF527_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_SYSCTL_SYSCALL is not set | 12 | # CONFIG_SYSCTL_SYSCALL is not set |
13 | # CONFIG_ELF_CORE is not set | 13 | # CONFIG_ELF_CORE is not set |
14 | # CONFIG_FUTEX is not set | 14 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/CM-BF533_defconfig b/arch/blackfin/configs/CM-BF533_defconfig index 8c7e08f173d4..baf1c1573e5e 100644 --- a/arch/blackfin/configs/CM-BF533_defconfig +++ b/arch/blackfin/configs/CM-BF533_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | # CONFIG_UID16 is not set | 11 | # CONFIG_UID16 is not set |
12 | # CONFIG_SYSCTL_SYSCALL is not set | 12 | # CONFIG_SYSCTL_SYSCALL is not set |
13 | # CONFIG_ELF_CORE is not set | 13 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/CM-BF537E_defconfig b/arch/blackfin/configs/CM-BF537E_defconfig index bd3cb766d078..707cbf8a2590 100644 --- a/arch/blackfin/configs/CM-BF537E_defconfig +++ b/arch/blackfin/configs/CM-BF537E_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SYSCTL_SYSCALL is not set | 13 | # CONFIG_SYSCTL_SYSCALL is not set |
14 | # CONFIG_ELF_CORE is not set | 14 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/CM-BF537U_defconfig b/arch/blackfin/configs/CM-BF537U_defconfig index 82224f37c04e..4596935eadac 100644 --- a/arch/blackfin/configs/CM-BF537U_defconfig +++ b/arch/blackfin/configs/CM-BF537U_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SYSCTL_SYSCALL is not set | 13 | # CONFIG_SYSCTL_SYSCALL is not set |
14 | # CONFIG_ELF_CORE is not set | 14 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/CM-BF548_defconfig b/arch/blackfin/configs/CM-BF548_defconfig index 433598c6e773..df267588efec 100644 --- a/arch/blackfin/configs/CM-BF548_defconfig +++ b/arch/blackfin/configs/CM-BF548_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SYSCTL_SYSCALL is not set | 13 | # CONFIG_SYSCTL_SYSCALL is not set |
14 | # CONFIG_ELF_CORE is not set | 14 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/CM-BF561_defconfig b/arch/blackfin/configs/CM-BF561_defconfig index ded7d845cb39..6c7b21585a43 100644 --- a/arch/blackfin/configs/CM-BF561_defconfig +++ b/arch/blackfin/configs/CM-BF561_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SYSCTL_SYSCALL is not set | 13 | # CONFIG_SYSCTL_SYSCALL is not set |
14 | # CONFIG_ELF_CORE is not set | 14 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/DNP5370_defconfig b/arch/blackfin/configs/DNP5370_defconfig index 0ebc7d9aa426..f50313657f3e 100644 --- a/arch/blackfin/configs/DNP5370_defconfig +++ b/arch/blackfin/configs/DNP5370_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG=y | |||
5 | CONFIG_IKCONFIG_PROC=y | 5 | CONFIG_IKCONFIG_PROC=y |
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_SLOB=y | 9 | CONFIG_SLOB=y |
10 | # CONFIG_BLK_DEV_BSG is not set | 10 | # CONFIG_BLK_DEV_BSG is not set |
11 | # CONFIG_IOSCHED_CFQ is not set | 11 | # CONFIG_IOSCHED_CFQ is not set |
diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index 700fb701c121..7450127b6455 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_SYSCTL_SYSCALL is not set | 6 | # CONFIG_SYSCTL_SYSCALL is not set |
7 | # CONFIG_ELF_CORE is not set | 7 | # CONFIG_ELF_CORE is not set |
8 | # CONFIG_FUTEX is not set | 8 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig index b40156d217e3..5e797cf72043 100644 --- a/arch/blackfin/configs/IP0X_defconfig +++ b/arch/blackfin/configs/IP0X_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_HOTPLUG is not set | 8 | # CONFIG_HOTPLUG is not set |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index be866d95ed76..a566a2fe6b9b 100644 --- a/arch/blackfin/configs/PNAV-10_defconfig +++ b/arch/blackfin/configs/PNAV-10_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_SYSCTL_SYSCALL is not set | 6 | # CONFIG_SYSCTL_SYSCALL is not set |
7 | # CONFIG_ELF_CORE is not set | 7 | # CONFIG_ELF_CORE is not set |
8 | # CONFIG_FUTEX is not set | 8 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/SRV1_defconfig b/arch/blackfin/configs/SRV1_defconfig index b64bdf759b82..853809510ee9 100644 --- a/arch/blackfin/configs/SRV1_defconfig +++ b/arch/blackfin/configs/SRV1_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | CONFIG_KALLSYMS_ALL=y | 8 | CONFIG_KALLSYMS_ALL=y |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/blackfin/configs/TCM-BF518_defconfig b/arch/blackfin/configs/TCM-BF518_defconfig index 1bccd9a50986..d496ae9a39b0 100644 --- a/arch/blackfin/configs/TCM-BF518_defconfig +++ b/arch/blackfin/configs/TCM-BF518_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | # CONFIG_SYSCTL_SYSCALL is not set | 11 | # CONFIG_SYSCTL_SYSCALL is not set |
12 | # CONFIG_ELF_CORE is not set | 12 | # CONFIG_ELF_CORE is not set |
13 | # CONFIG_FUTEX is not set | 13 | # CONFIG_FUTEX is not set |
diff --git a/arch/blackfin/configs/TCM-BF537_defconfig b/arch/blackfin/configs/TCM-BF537_defconfig index 00ce899e9e5d..65f642167a50 100644 --- a/arch/blackfin/configs/TCM-BF537_defconfig +++ b/arch/blackfin/configs/TCM-BF537_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
8 | # CONFIG_RD_GZIP is not set | 8 | # CONFIG_RD_GZIP is not set |
9 | CONFIG_RD_LZMA=y | 9 | CONFIG_RD_LZMA=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_UID16 is not set | 12 | # CONFIG_UID16 is not set |
13 | # CONFIG_SYSCTL_SYSCALL is not set | 13 | # CONFIG_SYSCTL_SYSCALL is not set |
14 | # CONFIG_ELF_CORE is not set | 14 | # CONFIG_ELF_CORE is not set |
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 613e62831c55..0a7a4c11d8b1 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
@@ -54,6 +54,8 @@ config CRIS | |||
54 | bool | 54 | bool |
55 | default y | 55 | default y |
56 | select HAVE_IDE | 56 | select HAVE_IDE |
57 | select HAVE_GENERIC_HARDIRQS | ||
58 | select GENERIC_HARDIRQS_NO_DEPRECATED | ||
57 | 59 | ||
58 | config HZ | 60 | config HZ |
59 | int | 61 | int |
@@ -67,10 +69,6 @@ menu "General setup" | |||
67 | 69 | ||
68 | source "fs/Kconfig.binfmt" | 70 | source "fs/Kconfig.binfmt" |
69 | 71 | ||
70 | config GENERIC_HARDIRQS | ||
71 | bool | ||
72 | default y | ||
73 | |||
74 | config ETRAX_CMDLINE | 72 | config ETRAX_CMDLINE |
75 | string "Kernel command line" | 73 | string "Kernel command line" |
76 | default "root=/dev/mtdblock3" | 74 | default "root=/dev/mtdblock3" |
diff --git a/arch/cris/arch-v10/kernel/irq.c b/arch/cris/arch-v10/kernel/irq.c index a0c0df8be9c8..7328a7cf7449 100644 --- a/arch/cris/arch-v10/kernel/irq.c +++ b/arch/cris/arch-v10/kernel/irq.c | |||
@@ -104,43 +104,21 @@ static void (*interrupt[NR_IRQS])(void) = { | |||
104 | IRQ31_interrupt | 104 | IRQ31_interrupt |
105 | }; | 105 | }; |
106 | 106 | ||
107 | static void enable_crisv10_irq(unsigned int irq); | 107 | static void enable_crisv10_irq(struct irq_data *data) |
108 | |||
109 | static unsigned int startup_crisv10_irq(unsigned int irq) | ||
110 | { | ||
111 | enable_crisv10_irq(irq); | ||
112 | return 0; | ||
113 | } | ||
114 | |||
115 | #define shutdown_crisv10_irq disable_crisv10_irq | ||
116 | |||
117 | static void enable_crisv10_irq(unsigned int irq) | ||
118 | { | ||
119 | crisv10_unmask_irq(irq); | ||
120 | } | ||
121 | |||
122 | static void disable_crisv10_irq(unsigned int irq) | ||
123 | { | ||
124 | crisv10_mask_irq(irq); | ||
125 | } | ||
126 | |||
127 | static void ack_crisv10_irq(unsigned int irq) | ||
128 | { | 108 | { |
109 | crisv10_unmask_irq(data->irq); | ||
129 | } | 110 | } |
130 | 111 | ||
131 | static void end_crisv10_irq(unsigned int irq) | 112 | static void disable_crisv10_irq(struct irq_data *data) |
132 | { | 113 | { |
114 | crisv10_mask_irq(data->irq); | ||
133 | } | 115 | } |
134 | 116 | ||
135 | static struct irq_chip crisv10_irq_type = { | 117 | static struct irq_chip crisv10_irq_type = { |
136 | .name = "CRISv10", | 118 | .name = "CRISv10", |
137 | .startup = startup_crisv10_irq, | 119 | .irq_shutdown = disable_crisv10_irq, |
138 | .shutdown = shutdown_crisv10_irq, | 120 | .irq_enable = enable_crisv10_irq, |
139 | .enable = enable_crisv10_irq, | 121 | .irq_disable = disable_crisv10_irq, |
140 | .disable = disable_crisv10_irq, | ||
141 | .ack = ack_crisv10_irq, | ||
142 | .end = end_crisv10_irq, | ||
143 | .set_affinity = NULL | ||
144 | }; | 122 | }; |
145 | 123 | ||
146 | void weird_irq(void); | 124 | void weird_irq(void); |
@@ -221,7 +199,8 @@ init_IRQ(void) | |||
221 | 199 | ||
222 | /* Initialize IRQ handler descriptors. */ | 200 | /* Initialize IRQ handler descriptors. */ |
223 | for(i = 2; i < NR_IRQS; i++) { | 201 | for(i = 2; i < NR_IRQS; i++) { |
224 | irq_desc[i].chip = &crisv10_irq_type; | 202 | set_irq_desc_and_handler(i, &crisv10_irq_type, |
203 | handle_simple_irq); | ||
225 | set_int_vector(i, interrupt[i]); | 204 | set_int_vector(i, interrupt[i]); |
226 | } | 205 | } |
227 | 206 | ||
diff --git a/arch/cris/arch-v32/kernel/irq.c b/arch/cris/arch-v32/kernel/irq.c index 2ed48ae3d313..0ad9db5126c7 100644 --- a/arch/cris/arch-v32/kernel/irq.c +++ b/arch/cris/arch-v32/kernel/irq.c | |||
@@ -291,54 +291,33 @@ void crisv32_unmask_irq(int irq) | |||
291 | } | 291 | } |
292 | 292 | ||
293 | 293 | ||
294 | static unsigned int startup_crisv32_irq(unsigned int irq) | 294 | static void enable_crisv32_irq(struct irq_data *data) |
295 | { | 295 | { |
296 | crisv32_unmask_irq(irq); | 296 | crisv32_unmask_irq(data->irq); |
297 | return 0; | ||
298 | } | ||
299 | |||
300 | static void shutdown_crisv32_irq(unsigned int irq) | ||
301 | { | ||
302 | crisv32_mask_irq(irq); | ||
303 | } | 297 | } |
304 | 298 | ||
305 | static void enable_crisv32_irq(unsigned int irq) | 299 | static void disable_crisv32_irq(struct irq_data *data) |
306 | { | 300 | { |
307 | crisv32_unmask_irq(irq); | 301 | crisv32_mask_irq(data->irq); |
308 | } | 302 | } |
309 | 303 | ||
310 | static void disable_crisv32_irq(unsigned int irq) | 304 | static int set_affinity_crisv32_irq(struct irq_data *data, |
311 | { | 305 | const struct cpumask *dest, bool force) |
312 | crisv32_mask_irq(irq); | ||
313 | } | ||
314 | |||
315 | static void ack_crisv32_irq(unsigned int irq) | ||
316 | { | ||
317 | } | ||
318 | |||
319 | static void end_crisv32_irq(unsigned int irq) | ||
320 | { | ||
321 | } | ||
322 | |||
323 | int set_affinity_crisv32_irq(unsigned int irq, const struct cpumask *dest) | ||
324 | { | 306 | { |
325 | unsigned long flags; | 307 | unsigned long flags; |
308 | |||
326 | spin_lock_irqsave(&irq_lock, flags); | 309 | spin_lock_irqsave(&irq_lock, flags); |
327 | irq_allocations[irq - FIRST_IRQ].mask = *dest; | 310 | irq_allocations[data->irq - FIRST_IRQ].mask = *dest; |
328 | spin_unlock_irqrestore(&irq_lock, flags); | 311 | spin_unlock_irqrestore(&irq_lock, flags); |
329 | |||
330 | return 0; | 312 | return 0; |
331 | } | 313 | } |
332 | 314 | ||
333 | static struct irq_chip crisv32_irq_type = { | 315 | static struct irq_chip crisv32_irq_type = { |
334 | .name = "CRISv32", | 316 | .name = "CRISv32", |
335 | .startup = startup_crisv32_irq, | 317 | .irq_shutdown = disable_crisv32_irq, |
336 | .shutdown = shutdown_crisv32_irq, | 318 | .irq_enable = enable_crisv32_irq, |
337 | .enable = enable_crisv32_irq, | 319 | .irq_disable = disable_crisv32_irq, |
338 | .disable = disable_crisv32_irq, | 320 | .irq_set_affinity = set_affinity_crisv32_irq, |
339 | .ack = ack_crisv32_irq, | ||
340 | .end = end_crisv32_irq, | ||
341 | .set_affinity = set_affinity_crisv32_irq | ||
342 | }; | 321 | }; |
343 | 322 | ||
344 | void | 323 | void |
@@ -472,7 +451,8 @@ init_IRQ(void) | |||
472 | 451 | ||
473 | /* Point all IRQ's to bad handlers. */ | 452 | /* Point all IRQ's to bad handlers. */ |
474 | for (i = FIRST_IRQ, j = 0; j < NR_IRQS; i++, j++) { | 453 | for (i = FIRST_IRQ, j = 0; j < NR_IRQS; i++, j++) { |
475 | irq_desc[j].chip = &crisv32_irq_type; | 454 | set_irq_chip_and_handler(j, &crisv32_irq_type, |
455 | handle_simple_irq); | ||
476 | set_exception_vector(i, interrupt[j]); | 456 | set_exception_vector(i, interrupt[j]); |
477 | } | 457 | } |
478 | 458 | ||
diff --git a/arch/cris/configs/artpec_3_defconfig b/arch/cris/configs/artpec_3_defconfig index 590f72c9455d..71854d41c5a0 100644 --- a/arch/cris/configs/artpec_3_defconfig +++ b/arch/cris/configs/artpec_3_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | # CONFIG_SWAP is not set | 2 | # CONFIG_SWAP is not set |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_KALLSYMS is not set | 6 | # CONFIG_KALLSYMS is not set |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/cris/configs/etrax-100lx_v2_defconfig b/arch/cris/configs/etrax-100lx_v2_defconfig index 1b2853e39801..a85aabf92be5 100644 --- a/arch/cris/configs/etrax-100lx_v2_defconfig +++ b/arch/cris/configs/etrax-100lx_v2_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | # CONFIG_SWAP is not set | 2 | # CONFIG_SWAP is not set |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_KALLSYMS is not set | 6 | # CONFIG_KALLSYMS is not set |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/cris/configs/etraxfs_defconfig b/arch/cris/configs/etraxfs_defconfig index f73d38cc9c66..87c7227fecb2 100644 --- a/arch/cris/configs/etraxfs_defconfig +++ b/arch/cris/configs/etraxfs_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | # CONFIG_SWAP is not set | 2 | # CONFIG_SWAP is not set |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_KALLSYMS is not set | 6 | # CONFIG_KALLSYMS is not set |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index 469f7f9d62e0..c346952f06dc 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c | |||
@@ -62,7 +62,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
62 | for_each_online_cpu(j) | 62 | for_each_online_cpu(j) |
63 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); | 63 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); |
64 | #endif | 64 | #endif |
65 | seq_printf(p, " %14s", irq_desc[i].chip->name); | 65 | seq_printf(p, " %14s", irq_desc[i].irq_data.chip->name); |
66 | seq_printf(p, " %s", action->name); | 66 | seq_printf(p, " %s", action->name); |
67 | 67 | ||
68 | for (action=action->next; action; action = action->next) | 68 | for (action=action->next; action; action = action->next) |
@@ -93,8 +93,8 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs) | |||
93 | printk("do_IRQ: stack overflow: %lX\n", sp); | 93 | printk("do_IRQ: stack overflow: %lX\n", sp); |
94 | show_stack(NULL, (unsigned long *)sp); | 94 | show_stack(NULL, (unsigned long *)sp); |
95 | } | 95 | } |
96 | __do_IRQ(irq); | 96 | generic_handle_irq(irq); |
97 | irq_exit(); | 97 | irq_exit(); |
98 | set_irq_regs(old_regs); | 98 | set_irq_regs(old_regs); |
99 | } | 99 | } |
100 | 100 | ||
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index f6bcb039cd6d..747499a1b31e 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
@@ -5,6 +5,7 @@ config FRV | |||
5 | select HAVE_ARCH_TRACEHOOK | 5 | select HAVE_ARCH_TRACEHOOK |
6 | select HAVE_IRQ_WORK | 6 | select HAVE_IRQ_WORK |
7 | select HAVE_PERF_EVENTS | 7 | select HAVE_PERF_EVENTS |
8 | select HAVE_GENERIC_HARDIRQS | ||
8 | 9 | ||
9 | config ZONE_DMA | 10 | config ZONE_DMA |
10 | bool | 11 | bool |
@@ -29,14 +30,6 @@ config GENERIC_CALIBRATE_DELAY | |||
29 | bool | 30 | bool |
30 | default n | 31 | default n |
31 | 32 | ||
32 | config GENERIC_HARDIRQS | ||
33 | bool | ||
34 | default y | ||
35 | |||
36 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
37 | bool | ||
38 | default y | ||
39 | |||
40 | config TIME_LOW_RES | 33 | config TIME_LOW_RES |
41 | bool | 34 | bool |
42 | default y | 35 | default y |
diff --git a/arch/frv/defconfig b/arch/frv/defconfig index b8ebe9e8a493..b1b792610fdf 100644 --- a/arch/frv/defconfig +++ b/arch/frv/defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_POSIX_MQUEUE=y | 3 | CONFIG_POSIX_MQUEUE=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | CONFIG_MMU=y | 8 | CONFIG_MMU=y |
9 | CONFIG_FRV_OUTOFLINE_ATOMIC_OPS=y | 9 | CONFIG_FRV_OUTOFLINE_ATOMIC_OPS=y |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 65f897d8c1e9..6df692d1475f 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -2,6 +2,8 @@ config H8300 | |||
2 | bool | 2 | bool |
3 | default y | 3 | default y |
4 | select HAVE_IDE | 4 | select HAVE_IDE |
5 | select HAVE_GENERIC_HARDIRQS | ||
6 | select GENERIC_HARDIRQS_NO_DEPRECATED | ||
5 | 7 | ||
6 | config SYMBOL_PREFIX | 8 | config SYMBOL_PREFIX |
7 | string | 9 | string |
@@ -47,10 +49,6 @@ config GENERIC_HWEIGHT | |||
47 | bool | 49 | bool |
48 | default y | 50 | default y |
49 | 51 | ||
50 | config GENERIC_HARDIRQS | ||
51 | bool | ||
52 | default y | ||
53 | |||
54 | config GENERIC_CALIBRATE_DELAY | 52 | config GENERIC_CALIBRATE_DELAY |
55 | bool | 53 | bool |
56 | default y | 54 | default y |
diff --git a/arch/h8300/defconfig b/arch/h8300/defconfig index 342f77765f02..042425a02645 100644 --- a/arch/h8300/defconfig +++ b/arch/h8300/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | # CONFIG_LOCALVERSION_AUTO is not set | 2 | # CONFIG_LOCALVERSION_AUTO is not set |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_UID16 is not set | 5 | # CONFIG_UID16 is not set |
6 | # CONFIG_SYSCTL_SYSCALL is not set | 6 | # CONFIG_SYSCTL_SYSCALL is not set |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
diff --git a/arch/h8300/kernel/irq.c b/arch/h8300/kernel/irq.c index c25dc2c2b1da..7643d39925d6 100644 --- a/arch/h8300/kernel/irq.c +++ b/arch/h8300/kernel/irq.c | |||
@@ -38,34 +38,30 @@ static inline int is_ext_irq(unsigned int irq) | |||
38 | return (irq >= EXT_IRQ0 && irq <= (EXT_IRQ0 + EXT_IRQS)); | 38 | return (irq >= EXT_IRQ0 && irq <= (EXT_IRQ0 + EXT_IRQS)); |
39 | } | 39 | } |
40 | 40 | ||
41 | static void h8300_enable_irq(unsigned int irq) | 41 | static void h8300_enable_irq(struct irq_data *data) |
42 | { | 42 | { |
43 | if (is_ext_irq(irq)) | 43 | if (is_ext_irq(data->irq)) |
44 | IER_REGS |= 1 << (irq - EXT_IRQ0); | 44 | IER_REGS |= 1 << (data->irq - EXT_IRQ0); |
45 | } | 45 | } |
46 | 46 | ||
47 | static void h8300_disable_irq(unsigned int irq) | 47 | static void h8300_disable_irq(struct irq_data *data) |
48 | { | 48 | { |
49 | if (is_ext_irq(irq)) | 49 | if (is_ext_irq(data->irq)) |
50 | IER_REGS &= ~(1 << (irq - EXT_IRQ0)); | 50 | IER_REGS &= ~(1 << (data->irq - EXT_IRQ0)); |
51 | } | 51 | } |
52 | 52 | ||
53 | static void h8300_end_irq(unsigned int irq) | 53 | static unsigned int h8300_startup_irq(struct irq_data *data) |
54 | { | 54 | { |
55 | } | 55 | if (is_ext_irq(data->irq)) |
56 | 56 | return h8300_enable_irq_pin(data->irq); | |
57 | static unsigned int h8300_startup_irq(unsigned int irq) | ||
58 | { | ||
59 | if (is_ext_irq(irq)) | ||
60 | return h8300_enable_irq_pin(irq); | ||
61 | else | 57 | else |
62 | return 0; | 58 | return 0; |
63 | } | 59 | } |
64 | 60 | ||
65 | static void h8300_shutdown_irq(unsigned int irq) | 61 | static void h8300_shutdown_irq(struct irq_data *data) |
66 | { | 62 | { |
67 | if (is_ext_irq(irq)) | 63 | if (is_ext_irq(data->irq)) |
68 | h8300_disable_irq_pin(irq); | 64 | h8300_disable_irq_pin(data->irq); |
69 | } | 65 | } |
70 | 66 | ||
71 | /* | 67 | /* |
@@ -73,12 +69,10 @@ static void h8300_shutdown_irq(unsigned int irq) | |||
73 | */ | 69 | */ |
74 | struct irq_chip h8300irq_chip = { | 70 | struct irq_chip h8300irq_chip = { |
75 | .name = "H8300-INTC", | 71 | .name = "H8300-INTC", |
76 | .startup = h8300_startup_irq, | 72 | .irq_startup = h8300_startup_irq, |
77 | .shutdown = h8300_shutdown_irq, | 73 | .irq_shutdown = h8300_shutdown_irq, |
78 | .enable = h8300_enable_irq, | 74 | .irq_enable = h8300_enable_irq, |
79 | .disable = h8300_disable_irq, | 75 | .irq_disable = h8300_disable_irq, |
80 | .ack = NULL, | ||
81 | .end = h8300_end_irq, | ||
82 | }; | 76 | }; |
83 | 77 | ||
84 | #if defined(CONFIG_RAMKERNEL) | 78 | #if defined(CONFIG_RAMKERNEL) |
@@ -160,18 +154,14 @@ void __init init_IRQ(void) | |||
160 | 154 | ||
161 | setup_vector(); | 155 | setup_vector(); |
162 | 156 | ||
163 | for (c = 0; c < NR_IRQS; c++) { | 157 | for (c = 0; c < NR_IRQS; c++) |
164 | irq_desc[c].status = IRQ_DISABLED; | 158 | set_irq_chip_and_handler(c, &h8300irq_chip, handle_simple_irq); |
165 | irq_desc[c].action = NULL; | ||
166 | irq_desc[c].depth = 1; | ||
167 | irq_desc[c].chip = &h8300irq_chip; | ||
168 | } | ||
169 | } | 159 | } |
170 | 160 | ||
171 | asmlinkage void do_IRQ(int irq) | 161 | asmlinkage void do_IRQ(int irq) |
172 | { | 162 | { |
173 | irq_enter(); | 163 | irq_enter(); |
174 | __do_IRQ(irq); | 164 | generic_handle_irq(irq); |
175 | irq_exit(); | 165 | irq_exit(); |
176 | } | 166 | } |
177 | 167 | ||
@@ -192,7 +182,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
192 | goto unlock; | 182 | goto unlock; |
193 | seq_printf(p, "%3d: ",i); | 183 | seq_printf(p, "%3d: ",i); |
194 | seq_printf(p, "%10u ", kstat_irqs(i)); | 184 | seq_printf(p, "%10u ", kstat_irqs(i)); |
195 | seq_printf(p, " %14s", irq_desc[i].chip->name); | 185 | seq_printf(p, " %14s", irq_desc[i].irq_data.chip->name); |
196 | seq_printf(p, "-%-8s", irq_desc[i].name); | 186 | seq_printf(p, "-%-8s", irq_desc[i].name); |
197 | seq_printf(p, " %s", action->name); | 187 | seq_printf(p, " %s", action->name); |
198 | 188 | ||
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index e0f5b6d7f849..fcf3b437a2d9 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -22,6 +22,10 @@ config IA64 | |||
22 | select HAVE_KVM | 22 | select HAVE_KVM |
23 | select HAVE_ARCH_TRACEHOOK | 23 | select HAVE_ARCH_TRACEHOOK |
24 | select HAVE_DMA_API_DEBUG | 24 | select HAVE_DMA_API_DEBUG |
25 | select HAVE_GENERIC_HARDIRQS | ||
26 | select GENERIC_IRQ_PROBE | ||
27 | select GENERIC_PENDING_IRQ if SMP | ||
28 | select IRQ_PER_CPU | ||
25 | default y | 29 | default y |
26 | help | 30 | help |
27 | The Itanium Processor Family is Intel's 64-bit successor to | 31 | The Itanium Processor Family is Intel's 64-bit successor to |
@@ -678,28 +682,6 @@ source "arch/ia64/kvm/Kconfig" | |||
678 | 682 | ||
679 | source "lib/Kconfig" | 683 | source "lib/Kconfig" |
680 | 684 | ||
681 | # | ||
682 | # Use the generic interrupt handling code in kernel/irq/: | ||
683 | # | ||
684 | config GENERIC_HARDIRQS | ||
685 | def_bool y | ||
686 | |||
687 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
688 | def_bool y | ||
689 | |||
690 | config GENERIC_IRQ_PROBE | ||
691 | bool | ||
692 | default y | ||
693 | |||
694 | config GENERIC_PENDING_IRQ | ||
695 | bool | ||
696 | depends on GENERIC_HARDIRQS && SMP | ||
697 | default y | ||
698 | |||
699 | config IRQ_PER_CPU | ||
700 | bool | ||
701 | default y | ||
702 | |||
703 | config IOMMU_HELPER | 685 | config IOMMU_HELPER |
704 | def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) | 686 | def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) |
705 | 687 | ||
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 5c291d65196b..ef4c1e442be3 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
@@ -7,6 +7,9 @@ config M32R | |||
7 | select HAVE_KERNEL_GZIP | 7 | select HAVE_KERNEL_GZIP |
8 | select HAVE_KERNEL_BZIP2 | 8 | select HAVE_KERNEL_BZIP2 |
9 | select HAVE_KERNEL_LZMA | 9 | select HAVE_KERNEL_LZMA |
10 | select HAVE_GENERIC_HARDIRQS | ||
11 | select GENERIC_HARDIRQS_NO_DEPRECATED | ||
12 | select GENERIC_IRQ_PROBE | ||
10 | 13 | ||
11 | config SBUS | 14 | config SBUS |
12 | bool | 15 | bool |
@@ -19,14 +22,6 @@ config ZONE_DMA | |||
19 | bool | 22 | bool |
20 | default y | 23 | default y |
21 | 24 | ||
22 | config GENERIC_HARDIRQS | ||
23 | bool | ||
24 | default y | ||
25 | |||
26 | config GENERIC_IRQ_PROBE | ||
27 | bool | ||
28 | default y | ||
29 | |||
30 | config NO_IOPORT | 25 | config NO_IOPORT |
31 | def_bool y | 26 | def_bool y |
32 | 27 | ||
diff --git a/arch/m32r/configs/m32700ut.smp_defconfig b/arch/m32r/configs/m32700ut.smp_defconfig index 816c3ecaa2aa..a3d727ed6a16 100644 --- a/arch/m32r/configs/m32700ut.smp_defconfig +++ b/arch/m32r/configs/m32700ut.smp_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG=y | |||
5 | CONFIG_IKCONFIG_PROC=y | 5 | CONFIG_IKCONFIG_PROC=y |
6 | CONFIG_LOG_BUF_SHIFT=15 | 6 | CONFIG_LOG_BUF_SHIFT=15 |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_FUTEX is not set | 10 | # CONFIG_FUTEX is not set |
11 | # CONFIG_EPOLL is not set | 11 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/m32700ut.up_defconfig b/arch/m32r/configs/m32700ut.up_defconfig index 84785686640a..b8334163099d 100644 --- a/arch/m32r/configs/m32700ut.up_defconfig +++ b/arch/m32r/configs/m32700ut.up_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG=y | |||
5 | CONFIG_IKCONFIG_PROC=y | 5 | CONFIG_IKCONFIG_PROC=y |
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_FUTEX is not set | 10 | # CONFIG_FUTEX is not set |
11 | # CONFIG_EPOLL is not set | 11 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi.nommu_defconfig b/arch/m32r/configs/mappi.nommu_defconfig index 354a964d084d..7c90ce2fc42b 100644 --- a/arch/m32r/configs/mappi.nommu_defconfig +++ b/arch/m32r/configs/mappi.nommu_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
3 | CONFIG_IKCONFIG=y | 3 | CONFIG_IKCONFIG=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | # CONFIG_FUTEX is not set | 8 | # CONFIG_FUTEX is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi.smp_defconfig b/arch/m32r/configs/mappi.smp_defconfig index 9022307bd073..367d07cebcd3 100644 --- a/arch/m32r/configs/mappi.smp_defconfig +++ b/arch/m32r/configs/mappi.smp_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=15 | 5 | CONFIG_LOG_BUF_SHIFT=15 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_FUTEX is not set | 10 | # CONFIG_FUTEX is not set |
11 | # CONFIG_EPOLL is not set | 11 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi.up_defconfig b/arch/m32r/configs/mappi.up_defconfig index 3726068721a5..cb11384386ce 100644 --- a/arch/m32r/configs/mappi.up_defconfig +++ b/arch/m32r/configs/mappi.up_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_FUTEX is not set | 10 | # CONFIG_FUTEX is not set |
11 | # CONFIG_EPOLL is not set | 11 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi2.opsp_defconfig b/arch/m32r/configs/mappi2.opsp_defconfig index 6136fad048e4..3bff779259b4 100644 --- a/arch/m32r/configs/mappi2.opsp_defconfig +++ b/arch/m32r/configs/mappi2.opsp_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_IKCONFIG=y | 4 | CONFIG_IKCONFIG=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_FUTEX is not set | 9 | # CONFIG_FUTEX is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi2.vdec2_defconfig b/arch/m32r/configs/mappi2.vdec2_defconfig index dce1fc7d67ed..75246c9c1af8 100644 --- a/arch/m32r/configs/mappi2.vdec2_defconfig +++ b/arch/m32r/configs/mappi2.vdec2_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_IKCONFIG=y | 4 | CONFIG_IKCONFIG=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_FUTEX is not set | 9 | # CONFIG_FUTEX is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/mappi3.smp_defconfig b/arch/m32r/configs/mappi3.smp_defconfig index b204e2ecd0f1..27cefd41ac1f 100644 --- a/arch/m32r/configs/mappi3.smp_defconfig +++ b/arch/m32r/configs/mappi3.smp_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_IKCONFIG_PROC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=15 | 5 | CONFIG_LOG_BUF_SHIFT=15 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_KALLSYMS is not set | 9 | # CONFIG_KALLSYMS is not set |
10 | # CONFIG_FUTEX is not set | 10 | # CONFIG_FUTEX is not set |
11 | # CONFIG_EPOLL is not set | 11 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/oaks32r_defconfig b/arch/m32r/configs/oaks32r_defconfig index 5aa4ea9ebb10..5087a510ca4f 100644 --- a/arch/m32r/configs/oaks32r_defconfig +++ b/arch/m32r/configs/oaks32r_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y | |||
2 | CONFIG_BSD_PROCESS_ACCT=y | 2 | CONFIG_BSD_PROCESS_ACCT=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 4 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | # CONFIG_KALLSYMS is not set | 6 | # CONFIG_KALLSYMS is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
8 | # CONFIG_EPOLL is not set | 8 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/opsput_defconfig b/arch/m32r/configs/opsput_defconfig index 8494c6a276e8..50c6f525db20 100644 --- a/arch/m32r/configs/opsput_defconfig +++ b/arch/m32r/configs/opsput_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_IKCONFIG=y | 4 | CONFIG_IKCONFIG=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_FUTEX is not set | 9 | # CONFIG_FUTEX is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/m32r/configs/usrv_defconfig b/arch/m32r/configs/usrv_defconfig index 1df293bc2ab9..a3cfaaedab60 100644 --- a/arch/m32r/configs/usrv_defconfig +++ b/arch/m32r/configs/usrv_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
5 | CONFIG_LOG_BUF_SHIFT=15 | 5 | CONFIG_LOG_BUF_SHIFT=15 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_EXTRA_PASS=y | 9 | CONFIG_KALLSYMS_EXTRA_PASS=y |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/m32r/kernel/irq.c b/arch/m32r/kernel/irq.c index 7db26f1f082d..f745c1287f3a 100644 --- a/arch/m32r/kernel/irq.c +++ b/arch/m32r/kernel/irq.c | |||
@@ -40,8 +40,10 @@ int show_interrupts(struct seq_file *p, void *v) | |||
40 | } | 40 | } |
41 | 41 | ||
42 | if (i < NR_IRQS) { | 42 | if (i < NR_IRQS) { |
43 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); | 43 | struct irq_desc *desc = irq_to_desc(i); |
44 | action = irq_desc[i].action; | 44 | |
45 | raw_spin_lock_irqsave(&desc->lock, flags); | ||
46 | action = desc->action; | ||
45 | if (!action) | 47 | if (!action) |
46 | goto skip; | 48 | goto skip; |
47 | seq_printf(p, "%3d: ",i); | 49 | seq_printf(p, "%3d: ",i); |
@@ -51,7 +53,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
51 | for_each_online_cpu(j) | 53 | for_each_online_cpu(j) |
52 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); | 54 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); |
53 | #endif | 55 | #endif |
54 | seq_printf(p, " %14s", irq_desc[i].chip->name); | 56 | seq_printf(p, " %14s", desc->irq_data.chip->name); |
55 | seq_printf(p, " %s", action->name); | 57 | seq_printf(p, " %s", action->name); |
56 | 58 | ||
57 | for (action=action->next; action; action = action->next) | 59 | for (action=action->next; action; action = action->next) |
@@ -59,7 +61,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
59 | 61 | ||
60 | seq_putc(p, '\n'); | 62 | seq_putc(p, '\n'); |
61 | skip: | 63 | skip: |
62 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 64 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
63 | } | 65 | } |
64 | return 0; | 66 | return 0; |
65 | } | 67 | } |
diff --git a/arch/m32r/platforms/m32104ut/setup.c b/arch/m32r/platforms/m32104ut/setup.c index 402a59d7219b..4a693d02c1e1 100644 --- a/arch/m32r/platforms/m32104ut/setup.c +++ b/arch/m32r/platforms/m32104ut/setup.c | |||
@@ -39,39 +39,30 @@ static void enable_m32104ut_irq(unsigned int irq) | |||
39 | outl(data, port); | 39 | outl(data, port); |
40 | } | 40 | } |
41 | 41 | ||
42 | static void mask_and_ack_m32104ut(unsigned int irq) | 42 | static void mask_m32104ut_irq(struct irq_data *data) |
43 | { | 43 | { |
44 | disable_m32104ut_irq(irq); | 44 | disable_m32104ut_irq(data->irq); |
45 | } | 45 | } |
46 | 46 | ||
47 | static void end_m32104ut_irq(unsigned int irq) | 47 | static void unmask_m32104ut_irq(struct irq_data *data) |
48 | { | 48 | { |
49 | enable_m32104ut_irq(irq); | 49 | enable_m32104ut_irq(data->irq); |
50 | } | 50 | } |
51 | 51 | ||
52 | static unsigned int startup_m32104ut_irq(unsigned int irq) | 52 | static void shutdown_m32104ut_irq(struct irq_data *data) |
53 | { | 53 | { |
54 | enable_m32104ut_irq(irq); | 54 | unsigned int irq = data->irq; |
55 | return (0); | 55 | unsigned long port = irq2port(irq); |
56 | } | ||
57 | |||
58 | static void shutdown_m32104ut_irq(unsigned int irq) | ||
59 | { | ||
60 | unsigned long port; | ||
61 | 56 | ||
62 | port = irq2port(irq); | ||
63 | outl(M32R_ICUCR_ILEVEL7, port); | 57 | outl(M32R_ICUCR_ILEVEL7, port); |
64 | } | 58 | } |
65 | 59 | ||
66 | static struct irq_chip m32104ut_irq_type = | 60 | static struct irq_chip m32104ut_irq_type = |
67 | { | 61 | { |
68 | .name = "M32104UT-IRQ", | 62 | .name = "M32104UT-IRQ", |
69 | .startup = startup_m32104ut_irq, | 63 | .irq_shutdown = shutdown_m32104ut_irq, |
70 | .shutdown = shutdown_m32104ut_irq, | 64 | .irq_unmask = unmask_m32104ut_irq, |
71 | .enable = enable_m32104ut_irq, | 65 | .irq_mask = mask_m32104ut_irq, |
72 | .disable = disable_m32104ut_irq, | ||
73 | .ack = mask_and_ack_m32104ut, | ||
74 | .end = end_m32104ut_irq | ||
75 | }; | 66 | }; |
76 | 67 | ||
77 | void __init init_IRQ(void) | 68 | void __init init_IRQ(void) |
@@ -85,36 +76,29 @@ void __init init_IRQ(void) | |||
85 | 76 | ||
86 | #if defined(CONFIG_SMC91X) | 77 | #if defined(CONFIG_SMC91X) |
87 | /* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/ | 78 | /* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/ |
88 | irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; | 79 | set_irq_chip_and_handler(M32R_IRQ_INT0, &m32104ut_irq_type, |
89 | irq_desc[M32R_IRQ_INT0].chip = &m32104ut_irq_type; | 80 | handle_level_irq); |
90 | irq_desc[M32R_IRQ_INT0].action = 0; | 81 | /* "H" level sense */ |
91 | irq_desc[M32R_IRQ_INT0].depth = 1; | 82 | cu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; |
92 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; /* "H" level sense */ | ||
93 | disable_m32104ut_irq(M32R_IRQ_INT0); | 83 | disable_m32104ut_irq(M32R_IRQ_INT0); |
94 | #endif /* CONFIG_SMC91X */ | 84 | #endif /* CONFIG_SMC91X */ |
95 | 85 | ||
96 | /* MFT2 : system timer */ | 86 | /* MFT2 : system timer */ |
97 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 87 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &m32104ut_irq_type, |
98 | irq_desc[M32R_IRQ_MFT2].chip = &m32104ut_irq_type; | 88 | handle_level_irq); |
99 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
100 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
101 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 89 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
102 | disable_m32104ut_irq(M32R_IRQ_MFT2); | 90 | disable_m32104ut_irq(M32R_IRQ_MFT2); |
103 | 91 | ||
104 | #ifdef CONFIG_SERIAL_M32R_SIO | 92 | #ifdef CONFIG_SERIAL_M32R_SIO |
105 | /* SIO0_R : uart receive data */ | 93 | /* SIO0_R : uart receive data */ |
106 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 94 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &m32104ut_irq_type, |
107 | irq_desc[M32R_IRQ_SIO0_R].chip = &m32104ut_irq_type; | 95 | handle_level_irq); |
108 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
109 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
110 | icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN; | 96 | icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN; |
111 | disable_m32104ut_irq(M32R_IRQ_SIO0_R); | 97 | disable_m32104ut_irq(M32R_IRQ_SIO0_R); |
112 | 98 | ||
113 | /* SIO0_S : uart send data */ | 99 | /* SIO0_S : uart send data */ |
114 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 100 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &m32104ut_irq_type, |
115 | irq_desc[M32R_IRQ_SIO0_S].chip = &m32104ut_irq_type; | 101 | handle_level_irq); |
116 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
117 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
118 | icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN; | 102 | icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN; |
119 | disable_m32104ut_irq(M32R_IRQ_SIO0_S); | 103 | disable_m32104ut_irq(M32R_IRQ_SIO0_S); |
120 | #endif /* CONFIG_SERIAL_M32R_SIO */ | 104 | #endif /* CONFIG_SERIAL_M32R_SIO */ |
diff --git a/arch/m32r/platforms/m32700ut/setup.c b/arch/m32r/platforms/m32700ut/setup.c index 80b1a026795a..2074bcc841eb 100644 --- a/arch/m32r/platforms/m32700ut/setup.c +++ b/arch/m32r/platforms/m32700ut/setup.c | |||
@@ -45,39 +45,30 @@ static void enable_m32700ut_irq(unsigned int irq) | |||
45 | outl(data, port); | 45 | outl(data, port); |
46 | } | 46 | } |
47 | 47 | ||
48 | static void mask_and_ack_m32700ut(unsigned int irq) | 48 | static void mask_m32700ut(struct irq_data *data) |
49 | { | 49 | { |
50 | disable_m32700ut_irq(irq); | 50 | disable_m32700ut_irq(data->irq); |
51 | } | 51 | } |
52 | 52 | ||
53 | static void end_m32700ut_irq(unsigned int irq) | 53 | static void unmask_m32700ut(struct irq_data *data) |
54 | { | 54 | { |
55 | enable_m32700ut_irq(irq); | 55 | enable_m32700ut_irq(data->irq); |
56 | } | 56 | } |
57 | 57 | ||
58 | static unsigned int startup_m32700ut_irq(unsigned int irq) | 58 | static void shutdown_m32700ut(struct irq_data *data) |
59 | { | ||
60 | enable_m32700ut_irq(irq); | ||
61 | return (0); | ||
62 | } | ||
63 | |||
64 | static void shutdown_m32700ut_irq(unsigned int irq) | ||
65 | { | 59 | { |
66 | unsigned long port; | 60 | unsigned long port; |
67 | 61 | ||
68 | port = irq2port(irq); | 62 | port = irq2port(data->irq); |
69 | outl(M32R_ICUCR_ILEVEL7, port); | 63 | outl(M32R_ICUCR_ILEVEL7, port); |
70 | } | 64 | } |
71 | 65 | ||
72 | static struct irq_chip m32700ut_irq_type = | 66 | static struct irq_chip m32700ut_irq_type = |
73 | { | 67 | { |
74 | .name = "M32700UT-IRQ", | 68 | .name = "M32700UT-IRQ", |
75 | .startup = startup_m32700ut_irq, | 69 | .irq_shutdown = shutdown_m32700ut, |
76 | .shutdown = shutdown_m32700ut_irq, | 70 | .irq_mask = mask_m32700ut, |
77 | .enable = enable_m32700ut_irq, | 71 | .irq_unmask = unmask_m32700ut |
78 | .disable = disable_m32700ut_irq, | ||
79 | .ack = mask_and_ack_m32700ut, | ||
80 | .end = end_m32700ut_irq | ||
81 | }; | 72 | }; |
82 | 73 | ||
83 | /* | 74 | /* |
@@ -99,7 +90,6 @@ static void disable_m32700ut_pld_irq(unsigned int irq) | |||
99 | unsigned int pldirq; | 90 | unsigned int pldirq; |
100 | 91 | ||
101 | pldirq = irq2pldirq(irq); | 92 | pldirq = irq2pldirq(irq); |
102 | // disable_m32700ut_irq(M32R_IRQ_INT1); | ||
103 | port = pldirq2port(pldirq); | 93 | port = pldirq2port(pldirq); |
104 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7; | 94 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7; |
105 | outw(data, port); | 95 | outw(data, port); |
@@ -111,50 +101,38 @@ static void enable_m32700ut_pld_irq(unsigned int irq) | |||
111 | unsigned int pldirq; | 101 | unsigned int pldirq; |
112 | 102 | ||
113 | pldirq = irq2pldirq(irq); | 103 | pldirq = irq2pldirq(irq); |
114 | // enable_m32700ut_irq(M32R_IRQ_INT1); | ||
115 | port = pldirq2port(pldirq); | 104 | port = pldirq2port(pldirq); |
116 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6; | 105 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6; |
117 | outw(data, port); | 106 | outw(data, port); |
118 | } | 107 | } |
119 | 108 | ||
120 | static void mask_and_ack_m32700ut_pld(unsigned int irq) | 109 | static void mask_m32700ut_pld(struct irq_data *data) |
121 | { | ||
122 | disable_m32700ut_pld_irq(irq); | ||
123 | // mask_and_ack_m32700ut(M32R_IRQ_INT1); | ||
124 | } | ||
125 | |||
126 | static void end_m32700ut_pld_irq(unsigned int irq) | ||
127 | { | 110 | { |
128 | enable_m32700ut_pld_irq(irq); | 111 | disable_m32700ut_pld_irq(data->irq); |
129 | end_m32700ut_irq(M32R_IRQ_INT1); | ||
130 | } | 112 | } |
131 | 113 | ||
132 | static unsigned int startup_m32700ut_pld_irq(unsigned int irq) | 114 | static void unmask_m32700ut_pld(struct irq_data *data) |
133 | { | 115 | { |
134 | enable_m32700ut_pld_irq(irq); | 116 | enable_m32700ut_pld_irq(data->irq); |
135 | return (0); | 117 | enable_m32700ut_irq(M32R_IRQ_INT1); |
136 | } | 118 | } |
137 | 119 | ||
138 | static void shutdown_m32700ut_pld_irq(unsigned int irq) | 120 | static void shutdown_m32700ut_pld_irq(struct irq_data *data) |
139 | { | 121 | { |
140 | unsigned long port; | 122 | unsigned long port; |
141 | unsigned int pldirq; | 123 | unsigned int pldirq; |
142 | 124 | ||
143 | pldirq = irq2pldirq(irq); | 125 | pldirq = irq2pldirq(data->irq); |
144 | // shutdown_m32700ut_irq(M32R_IRQ_INT1); | ||
145 | port = pldirq2port(pldirq); | 126 | port = pldirq2port(pldirq); |
146 | outw(PLD_ICUCR_ILEVEL7, port); | 127 | outw(PLD_ICUCR_ILEVEL7, port); |
147 | } | 128 | } |
148 | 129 | ||
149 | static struct irq_chip m32700ut_pld_irq_type = | 130 | static struct irq_chip m32700ut_pld_irq_type = |
150 | { | 131 | { |
151 | .name = "M32700UT-PLD-IRQ", | 132 | .name = "M32700UT-PLD-IRQ", |
152 | .startup = startup_m32700ut_pld_irq, | 133 | .irq_shutdown = shutdown_m32700ut_pld_irq, |
153 | .shutdown = shutdown_m32700ut_pld_irq, | 134 | .irq_mask = mask_m32700ut_pld, |
154 | .enable = enable_m32700ut_pld_irq, | 135 | .irq_unmask = unmask_m32700ut_pld, |
155 | .disable = disable_m32700ut_pld_irq, | ||
156 | .ack = mask_and_ack_m32700ut_pld, | ||
157 | .end = end_m32700ut_pld_irq | ||
158 | }; | 136 | }; |
159 | 137 | ||
160 | /* | 138 | /* |
@@ -188,42 +166,33 @@ static void enable_m32700ut_lanpld_irq(unsigned int irq) | |||
188 | outw(data, port); | 166 | outw(data, port); |
189 | } | 167 | } |
190 | 168 | ||
191 | static void mask_and_ack_m32700ut_lanpld(unsigned int irq) | 169 | static void mask_m32700ut_lanpld(struct irq_data *data) |
192 | { | 170 | { |
193 | disable_m32700ut_lanpld_irq(irq); | 171 | disable_m32700ut_lanpld_irq(data->irq); |
194 | } | 172 | } |
195 | 173 | ||
196 | static void end_m32700ut_lanpld_irq(unsigned int irq) | 174 | static void unmask_m32700ut_lanpld(struct irq_data *data) |
197 | { | 175 | { |
198 | enable_m32700ut_lanpld_irq(irq); | 176 | enable_m32700ut_lanpld_irq(data->irq); |
199 | end_m32700ut_irq(M32R_IRQ_INT0); | 177 | enable_m32700ut_irq(M32R_IRQ_INT0); |
200 | } | ||
201 | |||
202 | static unsigned int startup_m32700ut_lanpld_irq(unsigned int irq) | ||
203 | { | ||
204 | enable_m32700ut_lanpld_irq(irq); | ||
205 | return (0); | ||
206 | } | 178 | } |
207 | 179 | ||
208 | static void shutdown_m32700ut_lanpld_irq(unsigned int irq) | 180 | static void shutdown_m32700ut_lanpld(struct irq_data *data) |
209 | { | 181 | { |
210 | unsigned long port; | 182 | unsigned long port; |
211 | unsigned int pldirq; | 183 | unsigned int pldirq; |
212 | 184 | ||
213 | pldirq = irq2lanpldirq(irq); | 185 | pldirq = irq2lanpldirq(data->irq); |
214 | port = lanpldirq2port(pldirq); | 186 | port = lanpldirq2port(pldirq); |
215 | outw(PLD_ICUCR_ILEVEL7, port); | 187 | outw(PLD_ICUCR_ILEVEL7, port); |
216 | } | 188 | } |
217 | 189 | ||
218 | static struct irq_chip m32700ut_lanpld_irq_type = | 190 | static struct irq_chip m32700ut_lanpld_irq_type = |
219 | { | 191 | { |
220 | .name = "M32700UT-PLD-LAN-IRQ", | 192 | .name = "M32700UT-PLD-LAN-IRQ", |
221 | .startup = startup_m32700ut_lanpld_irq, | 193 | .irq_shutdown = shutdown_m32700ut_lanpld, |
222 | .shutdown = shutdown_m32700ut_lanpld_irq, | 194 | .irq_mask = mask_m32700ut_lanpld, |
223 | .enable = enable_m32700ut_lanpld_irq, | 195 | .irq_unmask = unmask_m32700ut_lanpld, |
224 | .disable = disable_m32700ut_lanpld_irq, | ||
225 | .ack = mask_and_ack_m32700ut_lanpld, | ||
226 | .end = end_m32700ut_lanpld_irq | ||
227 | }; | 196 | }; |
228 | 197 | ||
229 | /* | 198 | /* |
@@ -257,143 +226,110 @@ static void enable_m32700ut_lcdpld_irq(unsigned int irq) | |||
257 | outw(data, port); | 226 | outw(data, port); |
258 | } | 227 | } |
259 | 228 | ||
260 | static void mask_and_ack_m32700ut_lcdpld(unsigned int irq) | 229 | static void mask_m32700ut_lcdpld(struct irq_data *data) |
261 | { | 230 | { |
262 | disable_m32700ut_lcdpld_irq(irq); | 231 | disable_m32700ut_lcdpld_irq(data->irq); |
263 | } | 232 | } |
264 | 233 | ||
265 | static void end_m32700ut_lcdpld_irq(unsigned int irq) | 234 | static void unmask_m32700ut_lcdpld(struct irq_data *data) |
266 | { | 235 | { |
267 | enable_m32700ut_lcdpld_irq(irq); | 236 | enable_m32700ut_lcdpld_irq(data->irq); |
268 | end_m32700ut_irq(M32R_IRQ_INT2); | 237 | enable_m32700ut_irq(M32R_IRQ_INT2); |
269 | } | ||
270 | |||
271 | static unsigned int startup_m32700ut_lcdpld_irq(unsigned int irq) | ||
272 | { | ||
273 | enable_m32700ut_lcdpld_irq(irq); | ||
274 | return (0); | ||
275 | } | 238 | } |
276 | 239 | ||
277 | static void shutdown_m32700ut_lcdpld_irq(unsigned int irq) | 240 | static void shutdown_m32700ut_lcdpld(struct irq_data *data) |
278 | { | 241 | { |
279 | unsigned long port; | 242 | unsigned long port; |
280 | unsigned int pldirq; | 243 | unsigned int pldirq; |
281 | 244 | ||
282 | pldirq = irq2lcdpldirq(irq); | 245 | pldirq = irq2lcdpldirq(data->irq); |
283 | port = lcdpldirq2port(pldirq); | 246 | port = lcdpldirq2port(pldirq); |
284 | outw(PLD_ICUCR_ILEVEL7, port); | 247 | outw(PLD_ICUCR_ILEVEL7, port); |
285 | } | 248 | } |
286 | 249 | ||
287 | static struct irq_chip m32700ut_lcdpld_irq_type = | 250 | static struct irq_chip m32700ut_lcdpld_irq_type = |
288 | { | 251 | { |
289 | .name = "M32700UT-PLD-LCD-IRQ", | 252 | .name = "M32700UT-PLD-LCD-IRQ", |
290 | .startup = startup_m32700ut_lcdpld_irq, | 253 | .irq_shutdown = shutdown_m32700ut_lcdpld, |
291 | .shutdown = shutdown_m32700ut_lcdpld_irq, | 254 | .irq_mask = mask_m32700ut_lcdpld, |
292 | .enable = enable_m32700ut_lcdpld_irq, | 255 | .irq_unmask = unmask_m32700ut_lcdpld, |
293 | .disable = disable_m32700ut_lcdpld_irq, | ||
294 | .ack = mask_and_ack_m32700ut_lcdpld, | ||
295 | .end = end_m32700ut_lcdpld_irq | ||
296 | }; | 256 | }; |
297 | 257 | ||
298 | void __init init_IRQ(void) | 258 | void __init init_IRQ(void) |
299 | { | 259 | { |
300 | #if defined(CONFIG_SMC91X) | 260 | #if defined(CONFIG_SMC91X) |
301 | /* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/ | 261 | /* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/ |
302 | irq_desc[M32700UT_LAN_IRQ_LAN].status = IRQ_DISABLED; | 262 | set_irq_chip_and_handler(M32700UT_LAN_IRQ_LAN, |
303 | irq_desc[M32700UT_LAN_IRQ_LAN].chip = &m32700ut_lanpld_irq_type; | 263 | &m32700ut_lanpld_irq_type, handle_level_irq); |
304 | irq_desc[M32700UT_LAN_IRQ_LAN].action = 0; | ||
305 | irq_desc[M32700UT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */ | ||
306 | lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ | 264 | lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ |
307 | disable_m32700ut_lanpld_irq(M32700UT_LAN_IRQ_LAN); | 265 | disable_m32700ut_lanpld_irq(M32700UT_LAN_IRQ_LAN); |
308 | #endif /* CONFIG_SMC91X */ | 266 | #endif /* CONFIG_SMC91X */ |
309 | 267 | ||
310 | /* MFT2 : system timer */ | 268 | /* MFT2 : system timer */ |
311 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 269 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &m32700ut_irq_type, |
312 | irq_desc[M32R_IRQ_MFT2].chip = &m32700ut_irq_type; | 270 | handle_level_irq); |
313 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
314 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
315 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 271 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
316 | disable_m32700ut_irq(M32R_IRQ_MFT2); | 272 | disable_m32700ut_irq(M32R_IRQ_MFT2); |
317 | 273 | ||
318 | /* SIO0 : receive */ | 274 | /* SIO0 : receive */ |
319 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 275 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &m32700ut_irq_type, |
320 | irq_desc[M32R_IRQ_SIO0_R].chip = &m32700ut_irq_type; | 276 | handle_level_irq); |
321 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
322 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
323 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 277 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
324 | disable_m32700ut_irq(M32R_IRQ_SIO0_R); | 278 | disable_m32700ut_irq(M32R_IRQ_SIO0_R); |
325 | 279 | ||
326 | /* SIO0 : send */ | 280 | /* SIO0 : send */ |
327 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 281 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &m32700ut_irq_type, |
328 | irq_desc[M32R_IRQ_SIO0_S].chip = &m32700ut_irq_type; | 282 | handle_level_irq); |
329 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
330 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
331 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 283 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
332 | disable_m32700ut_irq(M32R_IRQ_SIO0_S); | 284 | disable_m32700ut_irq(M32R_IRQ_SIO0_S); |
333 | 285 | ||
334 | /* SIO1 : receive */ | 286 | /* SIO1 : receive */ |
335 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 287 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &m32700ut_irq_type, |
336 | irq_desc[M32R_IRQ_SIO1_R].chip = &m32700ut_irq_type; | 288 | handle_level_irq); |
337 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
338 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
339 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 289 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
340 | disable_m32700ut_irq(M32R_IRQ_SIO1_R); | 290 | disable_m32700ut_irq(M32R_IRQ_SIO1_R); |
341 | 291 | ||
342 | /* SIO1 : send */ | 292 | /* SIO1 : send */ |
343 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 293 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &m32700ut_irq_type, |
344 | irq_desc[M32R_IRQ_SIO1_S].chip = &m32700ut_irq_type; | 294 | handle_level_irq); |
345 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
346 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
347 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 295 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
348 | disable_m32700ut_irq(M32R_IRQ_SIO1_S); | 296 | disable_m32700ut_irq(M32R_IRQ_SIO1_S); |
349 | 297 | ||
350 | /* DMA1 : */ | 298 | /* DMA1 : */ |
351 | irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED; | 299 | set_irq_chip_and_handler(M32R_IRQ_DMA1, &m32700ut_irq_type, |
352 | irq_desc[M32R_IRQ_DMA1].chip = &m32700ut_irq_type; | 300 | handle_level_irq); |
353 | irq_desc[M32R_IRQ_DMA1].action = 0; | ||
354 | irq_desc[M32R_IRQ_DMA1].depth = 1; | ||
355 | icu_data[M32R_IRQ_DMA1].icucr = 0; | 301 | icu_data[M32R_IRQ_DMA1].icucr = 0; |
356 | disable_m32700ut_irq(M32R_IRQ_DMA1); | 302 | disable_m32700ut_irq(M32R_IRQ_DMA1); |
357 | 303 | ||
358 | #ifdef CONFIG_SERIAL_M32R_PLDSIO | 304 | #ifdef CONFIG_SERIAL_M32R_PLDSIO |
359 | /* INT#1: SIO0 Receive on PLD */ | 305 | /* INT#1: SIO0 Receive on PLD */ |
360 | irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED; | 306 | set_irq_chip_and_handler(PLD_IRQ_SIO0_RCV, &m32700ut_pld_irq_type, |
361 | irq_desc[PLD_IRQ_SIO0_RCV].chip = &m32700ut_pld_irq_type; | 307 | handle_level_irq); |
362 | irq_desc[PLD_IRQ_SIO0_RCV].action = 0; | ||
363 | irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */ | ||
364 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; | 308 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; |
365 | disable_m32700ut_pld_irq(PLD_IRQ_SIO0_RCV); | 309 | disable_m32700ut_pld_irq(PLD_IRQ_SIO0_RCV); |
366 | 310 | ||
367 | /* INT#1: SIO0 Send on PLD */ | 311 | /* INT#1: SIO0 Send on PLD */ |
368 | irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED; | 312 | set_irq_chip_and_handler(PLD_IRQ_SIO0_SND, &m32700ut_pld_irq_type, |
369 | irq_desc[PLD_IRQ_SIO0_SND].chip = &m32700ut_pld_irq_type; | 313 | handle_level_irq); |
370 | irq_desc[PLD_IRQ_SIO0_SND].action = 0; | ||
371 | irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */ | ||
372 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; | 314 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; |
373 | disable_m32700ut_pld_irq(PLD_IRQ_SIO0_SND); | 315 | disable_m32700ut_pld_irq(PLD_IRQ_SIO0_SND); |
374 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ | 316 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ |
375 | 317 | ||
376 | /* INT#1: CFC IREQ on PLD */ | 318 | /* INT#1: CFC IREQ on PLD */ |
377 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; | 319 | set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &m32700ut_pld_irq_type, |
378 | irq_desc[PLD_IRQ_CFIREQ].chip = &m32700ut_pld_irq_type; | 320 | handle_level_irq); |
379 | irq_desc[PLD_IRQ_CFIREQ].action = 0; | ||
380 | irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ | ||
381 | pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ | 321 | pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ |
382 | disable_m32700ut_pld_irq(PLD_IRQ_CFIREQ); | 322 | disable_m32700ut_pld_irq(PLD_IRQ_CFIREQ); |
383 | 323 | ||
384 | /* INT#1: CFC Insert on PLD */ | 324 | /* INT#1: CFC Insert on PLD */ |
385 | irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; | 325 | set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &m32700ut_pld_irq_type, |
386 | irq_desc[PLD_IRQ_CFC_INSERT].chip = &m32700ut_pld_irq_type; | 326 | handle_level_irq); |
387 | irq_desc[PLD_IRQ_CFC_INSERT].action = 0; | ||
388 | irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ | ||
389 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ | 327 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ |
390 | disable_m32700ut_pld_irq(PLD_IRQ_CFC_INSERT); | 328 | disable_m32700ut_pld_irq(PLD_IRQ_CFC_INSERT); |
391 | 329 | ||
392 | /* INT#1: CFC Eject on PLD */ | 330 | /* INT#1: CFC Eject on PLD */ |
393 | irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; | 331 | set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &m32700ut_pld_irq_type, |
394 | irq_desc[PLD_IRQ_CFC_EJECT].chip = &m32700ut_pld_irq_type; | 332 | handle_level_irq); |
395 | irq_desc[PLD_IRQ_CFC_EJECT].action = 0; | ||
396 | irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ | ||
397 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ | 333 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ |
398 | disable_m32700ut_pld_irq(PLD_IRQ_CFC_EJECT); | 334 | disable_m32700ut_pld_irq(PLD_IRQ_CFC_EJECT); |
399 | 335 | ||
@@ -413,13 +349,11 @@ void __init init_IRQ(void) | |||
413 | 349 | ||
414 | #if defined(CONFIG_USB) | 350 | #if defined(CONFIG_USB) |
415 | outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ | 351 | outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ |
352 | set_irq_chip_and_handler(M32700UT_LCD_IRQ_USB_INT1, | ||
353 | &m32700ut_lcdpld_irq_type, handle_level_irq); | ||
416 | 354 | ||
417 | irq_desc[M32700UT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED; | 355 | lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ |
418 | irq_desc[M32700UT_LCD_IRQ_USB_INT1].chip = &m32700ut_lcdpld_irq_type; | 356 | disable_m32700ut_lcdpld_irq(M32700UT_LCD_IRQ_USB_INT1); |
419 | irq_desc[M32700UT_LCD_IRQ_USB_INT1].action = 0; | ||
420 | irq_desc[M32700UT_LCD_IRQ_USB_INT1].depth = 1; | ||
421 | lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ | ||
422 | disable_m32700ut_lcdpld_irq(M32700UT_LCD_IRQ_USB_INT1); | ||
423 | #endif | 357 | #endif |
424 | /* | 358 | /* |
425 | * INT2# is used for BAT, USB, AUDIO | 359 | * INT2# is used for BAT, USB, AUDIO |
@@ -432,10 +366,8 @@ void __init init_IRQ(void) | |||
432 | /* | 366 | /* |
433 | * INT3# is used for AR | 367 | * INT3# is used for AR |
434 | */ | 368 | */ |
435 | irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; | 369 | set_irq_chip_and_handler(M32R_IRQ_INT3, &m32700ut_irq_type, |
436 | irq_desc[M32R_IRQ_INT3].chip = &m32700ut_irq_type; | 370 | handle_level_irq); |
437 | irq_desc[M32R_IRQ_INT3].action = 0; | ||
438 | irq_desc[M32R_IRQ_INT3].depth = 1; | ||
439 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 371 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
440 | disable_m32700ut_irq(M32R_IRQ_INT3); | 372 | disable_m32700ut_irq(M32R_IRQ_INT3); |
441 | #endif /* CONFIG_VIDEO_M32R_AR */ | 373 | #endif /* CONFIG_VIDEO_M32R_AR */ |
diff --git a/arch/m32r/platforms/mappi/setup.c b/arch/m32r/platforms/mappi/setup.c index ea00c84d6b1b..cdd8c4574027 100644 --- a/arch/m32r/platforms/mappi/setup.c +++ b/arch/m32r/platforms/mappi/setup.c | |||
@@ -38,40 +38,30 @@ static void enable_mappi_irq(unsigned int irq) | |||
38 | outl(data, port); | 38 | outl(data, port); |
39 | } | 39 | } |
40 | 40 | ||
41 | static void mask_and_ack_mappi(unsigned int irq) | 41 | static void mask_mappi(struct irq_data *data) |
42 | { | 42 | { |
43 | disable_mappi_irq(irq); | 43 | disable_mappi_irq(data->irq); |
44 | } | 44 | } |
45 | 45 | ||
46 | static void end_mappi_irq(unsigned int irq) | 46 | static void unmask_mappi(struct irq_data *data) |
47 | { | 47 | { |
48 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | 48 | enable_mappi_irq(data->irq); |
49 | enable_mappi_irq(irq); | ||
50 | } | 49 | } |
51 | 50 | ||
52 | static unsigned int startup_mappi_irq(unsigned int irq) | 51 | static void shutdown_mappi(struct irq_data *data) |
53 | { | ||
54 | enable_mappi_irq(irq); | ||
55 | return (0); | ||
56 | } | ||
57 | |||
58 | static void shutdown_mappi_irq(unsigned int irq) | ||
59 | { | 52 | { |
60 | unsigned long port; | 53 | unsigned long port; |
61 | 54 | ||
62 | port = irq2port(irq); | 55 | port = irq2port(data->irq); |
63 | outl(M32R_ICUCR_ILEVEL7, port); | 56 | outl(M32R_ICUCR_ILEVEL7, port); |
64 | } | 57 | } |
65 | 58 | ||
66 | static struct irq_chip mappi_irq_type = | 59 | static struct irq_chip mappi_irq_type = |
67 | { | 60 | { |
68 | .name = "MAPPI-IRQ", | 61 | .name = "MAPPI-IRQ", |
69 | .startup = startup_mappi_irq, | 62 | .irq_shutdown = shutdown_mappi, |
70 | .shutdown = shutdown_mappi_irq, | 63 | .irq_mask = mask_mappi, |
71 | .enable = enable_mappi_irq, | 64 | .irq_unmask = unmask_mappi, |
72 | .disable = disable_mappi_irq, | ||
73 | .ack = mask_and_ack_mappi, | ||
74 | .end = end_mappi_irq | ||
75 | }; | 65 | }; |
76 | 66 | ||
77 | void __init init_IRQ(void) | 67 | void __init init_IRQ(void) |
@@ -85,70 +75,54 @@ void __init init_IRQ(void) | |||
85 | 75 | ||
86 | #ifdef CONFIG_NE2000 | 76 | #ifdef CONFIG_NE2000 |
87 | /* INT0 : LAN controller (RTL8019AS) */ | 77 | /* INT0 : LAN controller (RTL8019AS) */ |
88 | irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; | 78 | set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi_irq_type, |
89 | irq_desc[M32R_IRQ_INT0].chip = &mappi_irq_type; | 79 | handle_level_irq); |
90 | irq_desc[M32R_IRQ_INT0].action = NULL; | ||
91 | irq_desc[M32R_IRQ_INT0].depth = 1; | ||
92 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD11; | 80 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD11; |
93 | disable_mappi_irq(M32R_IRQ_INT0); | 81 | disable_mappi_irq(M32R_IRQ_INT0); |
94 | #endif /* CONFIG_M32R_NE2000 */ | 82 | #endif /* CONFIG_M32R_NE2000 */ |
95 | 83 | ||
96 | /* MFT2 : system timer */ | 84 | /* MFT2 : system timer */ |
97 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 85 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi_irq_type, |
98 | irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type; | 86 | handle_level_irq); |
99 | irq_desc[M32R_IRQ_MFT2].action = NULL; | ||
100 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
101 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 87 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
102 | disable_mappi_irq(M32R_IRQ_MFT2); | 88 | disable_mappi_irq(M32R_IRQ_MFT2); |
103 | 89 | ||
104 | #ifdef CONFIG_SERIAL_M32R_SIO | 90 | #ifdef CONFIG_SERIAL_M32R_SIO |
105 | /* SIO0_R : uart receive data */ | 91 | /* SIO0_R : uart receive data */ |
106 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 92 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi_irq_type, |
107 | irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type; | 93 | handle_level_irq); |
108 | irq_desc[M32R_IRQ_SIO0_R].action = NULL; | ||
109 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
110 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 94 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
111 | disable_mappi_irq(M32R_IRQ_SIO0_R); | 95 | disable_mappi_irq(M32R_IRQ_SIO0_R); |
112 | 96 | ||
113 | /* SIO0_S : uart send data */ | 97 | /* SIO0_S : uart send data */ |
114 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 98 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi_irq_type, |
115 | irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type; | 99 | handle_level_irq); |
116 | irq_desc[M32R_IRQ_SIO0_S].action = NULL; | ||
117 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
118 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 100 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
119 | disable_mappi_irq(M32R_IRQ_SIO0_S); | 101 | disable_mappi_irq(M32R_IRQ_SIO0_S); |
120 | 102 | ||
121 | /* SIO1_R : uart receive data */ | 103 | /* SIO1_R : uart receive data */ |
122 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 104 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi_irq_type, |
123 | irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type; | 105 | handle_level_irq); |
124 | irq_desc[M32R_IRQ_SIO1_R].action = NULL; | ||
125 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
126 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 106 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
127 | disable_mappi_irq(M32R_IRQ_SIO1_R); | 107 | disable_mappi_irq(M32R_IRQ_SIO1_R); |
128 | 108 | ||
129 | /* SIO1_S : uart send data */ | 109 | /* SIO1_S : uart send data */ |
130 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 110 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi_irq_type, |
131 | irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type; | 111 | handle_level_irq); |
132 | irq_desc[M32R_IRQ_SIO1_S].action = NULL; | ||
133 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
134 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 112 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
135 | disable_mappi_irq(M32R_IRQ_SIO1_S); | 113 | disable_mappi_irq(M32R_IRQ_SIO1_S); |
136 | #endif /* CONFIG_SERIAL_M32R_SIO */ | 114 | #endif /* CONFIG_SERIAL_M32R_SIO */ |
137 | 115 | ||
138 | #if defined(CONFIG_M32R_PCC) | 116 | #if defined(CONFIG_M32R_PCC) |
139 | /* INT1 : pccard0 interrupt */ | 117 | /* INT1 : pccard0 interrupt */ |
140 | irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; | 118 | set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi_irq_type, |
141 | irq_desc[M32R_IRQ_INT1].chip = &mappi_irq_type; | 119 | handle_level_irq); |
142 | irq_desc[M32R_IRQ_INT1].action = NULL; | ||
143 | irq_desc[M32R_IRQ_INT1].depth = 1; | ||
144 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; | 120 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; |
145 | disable_mappi_irq(M32R_IRQ_INT1); | 121 | disable_mappi_irq(M32R_IRQ_INT1); |
146 | 122 | ||
147 | /* INT2 : pccard1 interrupt */ | 123 | /* INT2 : pccard1 interrupt */ |
148 | irq_desc[M32R_IRQ_INT2].status = IRQ_DISABLED; | 124 | set_irq_chip_and_handler(M32R_IRQ_INT2, &mappi_irq_type, |
149 | irq_desc[M32R_IRQ_INT2].chip = &mappi_irq_type; | 125 | handle_level_irq); |
150 | irq_desc[M32R_IRQ_INT2].action = NULL; | ||
151 | irq_desc[M32R_IRQ_INT2].depth = 1; | ||
152 | icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; | 126 | icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00; |
153 | disable_mappi_irq(M32R_IRQ_INT2); | 127 | disable_mappi_irq(M32R_IRQ_INT2); |
154 | #endif /* CONFIG_M32RPCC */ | 128 | #endif /* CONFIG_M32RPCC */ |
diff --git a/arch/m32r/platforms/mappi2/setup.c b/arch/m32r/platforms/mappi2/setup.c index c049376d0270..9117c30ea365 100644 --- a/arch/m32r/platforms/mappi2/setup.c +++ b/arch/m32r/platforms/mappi2/setup.c | |||
@@ -46,126 +46,97 @@ static void enable_mappi2_irq(unsigned int irq) | |||
46 | outl(data, port); | 46 | outl(data, port); |
47 | } | 47 | } |
48 | 48 | ||
49 | static void mask_and_ack_mappi2(unsigned int irq) | 49 | static void mask_mappi2(struct irq_data *data) |
50 | { | 50 | { |
51 | disable_mappi2_irq(irq); | 51 | disable_mappi2_irq(data->irq); |
52 | } | 52 | } |
53 | 53 | ||
54 | static void end_mappi2_irq(unsigned int irq) | 54 | static void unmask_mappi2(struct irq_data *data) |
55 | { | 55 | { |
56 | enable_mappi2_irq(irq); | 56 | enable_mappi2_irq(data->irq); |
57 | } | 57 | } |
58 | 58 | ||
59 | static unsigned int startup_mappi2_irq(unsigned int irq) | 59 | static void shutdown_mappi2(struct irq_data *data) |
60 | { | ||
61 | enable_mappi2_irq(irq); | ||
62 | return (0); | ||
63 | } | ||
64 | |||
65 | static void shutdown_mappi2_irq(unsigned int irq) | ||
66 | { | 60 | { |
67 | unsigned long port; | 61 | unsigned long port; |
68 | 62 | ||
69 | port = irq2port(irq); | 63 | port = irq2port(data->irq); |
70 | outl(M32R_ICUCR_ILEVEL7, port); | 64 | outl(M32R_ICUCR_ILEVEL7, port); |
71 | } | 65 | } |
72 | 66 | ||
73 | static struct irq_chip mappi2_irq_type = | 67 | static struct irq_chip mappi2_irq_type = |
74 | { | 68 | { |
75 | .name = "MAPPI2-IRQ", | 69 | .name = "MAPPI2-IRQ", |
76 | .startup = startup_mappi2_irq, | 70 | .irq_shutdown = shutdown_mappi2, |
77 | .shutdown = shutdown_mappi2_irq, | 71 | .irq_mask = mask_mappi2, |
78 | .enable = enable_mappi2_irq, | 72 | .irq_unmask = unmask_mappi2, |
79 | .disable = disable_mappi2_irq, | ||
80 | .ack = mask_and_ack_mappi2, | ||
81 | .end = end_mappi2_irq | ||
82 | }; | 73 | }; |
83 | 74 | ||
84 | void __init init_IRQ(void) | 75 | void __init init_IRQ(void) |
85 | { | 76 | { |
86 | #if defined(CONFIG_SMC91X) | 77 | #if defined(CONFIG_SMC91X) |
87 | /* INT0 : LAN controller (SMC91111) */ | 78 | /* INT0 : LAN controller (SMC91111) */ |
88 | irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; | 79 | set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi2_irq_type, |
89 | irq_desc[M32R_IRQ_INT0].chip = &mappi2_irq_type; | 80 | handle_level_irq); |
90 | irq_desc[M32R_IRQ_INT0].action = 0; | ||
91 | irq_desc[M32R_IRQ_INT0].depth = 1; | ||
92 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 81 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
93 | disable_mappi2_irq(M32R_IRQ_INT0); | 82 | disable_mappi2_irq(M32R_IRQ_INT0); |
94 | #endif /* CONFIG_SMC91X */ | 83 | #endif /* CONFIG_SMC91X */ |
95 | 84 | ||
96 | /* MFT2 : system timer */ | 85 | /* MFT2 : system timer */ |
97 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 86 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi2_irq_type, |
98 | irq_desc[M32R_IRQ_MFT2].chip = &mappi2_irq_type; | 87 | handle_level_irq); |
99 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
100 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
101 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 88 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
102 | disable_mappi2_irq(M32R_IRQ_MFT2); | 89 | disable_mappi2_irq(M32R_IRQ_MFT2); |
103 | 90 | ||
104 | #ifdef CONFIG_SERIAL_M32R_SIO | 91 | #ifdef CONFIG_SERIAL_M32R_SIO |
105 | /* SIO0_R : uart receive data */ | 92 | /* SIO0_R : uart receive data */ |
106 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 93 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi2_irq_type, |
107 | irq_desc[M32R_IRQ_SIO0_R].chip = &mappi2_irq_type; | 94 | handle_level_irq); |
108 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
109 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
110 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 95 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
111 | disable_mappi2_irq(M32R_IRQ_SIO0_R); | 96 | disable_mappi2_irq(M32R_IRQ_SIO0_R); |
112 | 97 | ||
113 | /* SIO0_S : uart send data */ | 98 | /* SIO0_S : uart send data */ |
114 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 99 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi2_irq_type, |
115 | irq_desc[M32R_IRQ_SIO0_S].chip = &mappi2_irq_type; | 100 | handle_level_irq); |
116 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
117 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
118 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 101 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
119 | disable_mappi2_irq(M32R_IRQ_SIO0_S); | 102 | disable_mappi2_irq(M32R_IRQ_SIO0_S); |
120 | /* SIO1_R : uart receive data */ | 103 | /* SIO1_R : uart receive data */ |
121 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 104 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi2_irq_type, |
122 | irq_desc[M32R_IRQ_SIO1_R].chip = &mappi2_irq_type; | 105 | handle_level_irq); |
123 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
124 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
125 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 106 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
126 | disable_mappi2_irq(M32R_IRQ_SIO1_R); | 107 | disable_mappi2_irq(M32R_IRQ_SIO1_R); |
127 | 108 | ||
128 | /* SIO1_S : uart send data */ | 109 | /* SIO1_S : uart send data */ |
129 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 110 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi2_irq_type, |
130 | irq_desc[M32R_IRQ_SIO1_S].chip = &mappi2_irq_type; | 111 | handle_level_irq); |
131 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
132 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
133 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 112 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
134 | disable_mappi2_irq(M32R_IRQ_SIO1_S); | 113 | disable_mappi2_irq(M32R_IRQ_SIO1_S); |
135 | #endif /* CONFIG_M32R_USE_DBG_CONSOLE */ | 114 | #endif /* CONFIG_M32R_USE_DBG_CONSOLE */ |
136 | 115 | ||
137 | #if defined(CONFIG_USB) | 116 | #if defined(CONFIG_USB) |
138 | /* INT1 : USB Host controller interrupt */ | 117 | /* INT1 : USB Host controller interrupt */ |
139 | irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; | 118 | set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi2_irq_type, |
140 | irq_desc[M32R_IRQ_INT1].chip = &mappi2_irq_type; | 119 | handle_level_irq); |
141 | irq_desc[M32R_IRQ_INT1].action = 0; | ||
142 | irq_desc[M32R_IRQ_INT1].depth = 1; | ||
143 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; | 120 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; |
144 | disable_mappi2_irq(M32R_IRQ_INT1); | 121 | disable_mappi2_irq(M32R_IRQ_INT1); |
145 | #endif /* CONFIG_USB */ | 122 | #endif /* CONFIG_USB */ |
146 | 123 | ||
147 | /* ICUCR40: CFC IREQ */ | 124 | /* ICUCR40: CFC IREQ */ |
148 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; | 125 | set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &mappi2_irq_type, |
149 | irq_desc[PLD_IRQ_CFIREQ].chip = &mappi2_irq_type; | 126 | handle_level_irq); |
150 | irq_desc[PLD_IRQ_CFIREQ].action = 0; | ||
151 | irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ | ||
152 | icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; | 127 | icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; |
153 | disable_mappi2_irq(PLD_IRQ_CFIREQ); | 128 | disable_mappi2_irq(PLD_IRQ_CFIREQ); |
154 | 129 | ||
155 | #if defined(CONFIG_M32R_CFC) | 130 | #if defined(CONFIG_M32R_CFC) |
156 | /* ICUCR41: CFC Insert */ | 131 | /* ICUCR41: CFC Insert */ |
157 | irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; | 132 | set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &mappi2_irq_type, |
158 | irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi2_irq_type; | 133 | handle_level_irq); |
159 | irq_desc[PLD_IRQ_CFC_INSERT].action = 0; | ||
160 | irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ | ||
161 | icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; | 134 | icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; |
162 | disable_mappi2_irq(PLD_IRQ_CFC_INSERT); | 135 | disable_mappi2_irq(PLD_IRQ_CFC_INSERT); |
163 | 136 | ||
164 | /* ICUCR42: CFC Eject */ | 137 | /* ICUCR42: CFC Eject */ |
165 | irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; | 138 | set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &mappi2_irq_type, |
166 | irq_desc[PLD_IRQ_CFC_EJECT].chip = &mappi2_irq_type; | 139 | handle_level_irq); |
167 | irq_desc[PLD_IRQ_CFC_EJECT].action = 0; | ||
168 | irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ | ||
169 | icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 140 | icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
170 | disable_mappi2_irq(PLD_IRQ_CFC_EJECT); | 141 | disable_mappi2_irq(PLD_IRQ_CFC_EJECT); |
171 | #endif /* CONFIG_MAPPI2_CFC */ | 142 | #endif /* CONFIG_MAPPI2_CFC */ |
diff --git a/arch/m32r/platforms/mappi3/setup.c b/arch/m32r/platforms/mappi3/setup.c index 882de25c6e8c..b44f5ded2bbe 100644 --- a/arch/m32r/platforms/mappi3/setup.c +++ b/arch/m32r/platforms/mappi3/setup.c | |||
@@ -46,128 +46,98 @@ static void enable_mappi3_irq(unsigned int irq) | |||
46 | outl(data, port); | 46 | outl(data, port); |
47 | } | 47 | } |
48 | 48 | ||
49 | static void mask_and_ack_mappi3(unsigned int irq) | 49 | static void mask_mappi3(struct irq_data *data) |
50 | { | 50 | { |
51 | disable_mappi3_irq(irq); | 51 | disable_mappi3_irq(data->irq); |
52 | } | 52 | } |
53 | 53 | ||
54 | static void end_mappi3_irq(unsigned int irq) | 54 | static void unmask_mappi3(struct irq_data *data) |
55 | { | 55 | { |
56 | enable_mappi3_irq(irq); | 56 | enable_mappi3_irq(data->irq); |
57 | } | 57 | } |
58 | 58 | ||
59 | static unsigned int startup_mappi3_irq(unsigned int irq) | 59 | static void shutdown_mappi3(struct irq_data *data) |
60 | { | ||
61 | enable_mappi3_irq(irq); | ||
62 | return (0); | ||
63 | } | ||
64 | |||
65 | static void shutdown_mappi3_irq(unsigned int irq) | ||
66 | { | 60 | { |
67 | unsigned long port; | 61 | unsigned long port; |
68 | 62 | ||
69 | port = irq2port(irq); | 63 | port = irq2port(data->irq); |
70 | outl(M32R_ICUCR_ILEVEL7, port); | 64 | outl(M32R_ICUCR_ILEVEL7, port); |
71 | } | 65 | } |
72 | 66 | ||
73 | static struct irq_chip mappi3_irq_type = | 67 | static struct irq_chip mappi3_irq_type = { |
74 | { | 68 | .name = "MAPPI3-IRQ", |
75 | .name = "MAPPI3-IRQ", | 69 | .irq_shutdown = shutdown_mappi3, |
76 | .startup = startup_mappi3_irq, | 70 | .irq_mask = mask_mappi3, |
77 | .shutdown = shutdown_mappi3_irq, | 71 | .irq_unmask = unmask_mappi3, |
78 | .enable = enable_mappi3_irq, | ||
79 | .disable = disable_mappi3_irq, | ||
80 | .ack = mask_and_ack_mappi3, | ||
81 | .end = end_mappi3_irq | ||
82 | }; | 72 | }; |
83 | 73 | ||
84 | void __init init_IRQ(void) | 74 | void __init init_IRQ(void) |
85 | { | 75 | { |
86 | #if defined(CONFIG_SMC91X) | 76 | #if defined(CONFIG_SMC91X) |
87 | /* INT0 : LAN controller (SMC91111) */ | 77 | /* INT0 : LAN controller (SMC91111) */ |
88 | irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED; | 78 | set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi3_irq_type, |
89 | irq_desc[M32R_IRQ_INT0].chip = &mappi3_irq_type; | 79 | handle_level_irq); |
90 | irq_desc[M32R_IRQ_INT0].action = 0; | ||
91 | irq_desc[M32R_IRQ_INT0].depth = 1; | ||
92 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 80 | icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
93 | disable_mappi3_irq(M32R_IRQ_INT0); | 81 | disable_mappi3_irq(M32R_IRQ_INT0); |
94 | #endif /* CONFIG_SMC91X */ | 82 | #endif /* CONFIG_SMC91X */ |
95 | 83 | ||
96 | /* MFT2 : system timer */ | 84 | /* MFT2 : system timer */ |
97 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 85 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi3_irq_type, |
98 | irq_desc[M32R_IRQ_MFT2].chip = &mappi3_irq_type; | 86 | handle_level_irq); |
99 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
100 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
101 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 87 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
102 | disable_mappi3_irq(M32R_IRQ_MFT2); | 88 | disable_mappi3_irq(M32R_IRQ_MFT2); |
103 | 89 | ||
104 | #ifdef CONFIG_SERIAL_M32R_SIO | 90 | #ifdef CONFIG_SERIAL_M32R_SIO |
105 | /* SIO0_R : uart receive data */ | 91 | /* SIO0_R : uart receive data */ |
106 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 92 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi3_irq_type, |
107 | irq_desc[M32R_IRQ_SIO0_R].chip = &mappi3_irq_type; | 93 | handle_level_irq); |
108 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
109 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
110 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 94 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
111 | disable_mappi3_irq(M32R_IRQ_SIO0_R); | 95 | disable_mappi3_irq(M32R_IRQ_SIO0_R); |
112 | 96 | ||
113 | /* SIO0_S : uart send data */ | 97 | /* SIO0_S : uart send data */ |
114 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 98 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi3_irq_type, |
115 | irq_desc[M32R_IRQ_SIO0_S].chip = &mappi3_irq_type; | 99 | handle_level_irq); |
116 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
117 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
118 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 100 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
119 | disable_mappi3_irq(M32R_IRQ_SIO0_S); | 101 | disable_mappi3_irq(M32R_IRQ_SIO0_S); |
120 | /* SIO1_R : uart receive data */ | 102 | /* SIO1_R : uart receive data */ |
121 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 103 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi3_irq_type, |
122 | irq_desc[M32R_IRQ_SIO1_R].chip = &mappi3_irq_type; | 104 | handle_level_irq); |
123 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
124 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
125 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 105 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
126 | disable_mappi3_irq(M32R_IRQ_SIO1_R); | 106 | disable_mappi3_irq(M32R_IRQ_SIO1_R); |
127 | 107 | ||
128 | /* SIO1_S : uart send data */ | 108 | /* SIO1_S : uart send data */ |
129 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 109 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi3_irq_type, |
130 | irq_desc[M32R_IRQ_SIO1_S].chip = &mappi3_irq_type; | 110 | handle_level_irq); |
131 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
132 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
133 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 111 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
134 | disable_mappi3_irq(M32R_IRQ_SIO1_S); | 112 | disable_mappi3_irq(M32R_IRQ_SIO1_S); |
135 | #endif /* CONFIG_M32R_USE_DBG_CONSOLE */ | 113 | #endif /* CONFIG_M32R_USE_DBG_CONSOLE */ |
136 | 114 | ||
137 | #if defined(CONFIG_USB) | 115 | #if defined(CONFIG_USB) |
138 | /* INT1 : USB Host controller interrupt */ | 116 | /* INT1 : USB Host controller interrupt */ |
139 | irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED; | 117 | set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi3_irq_type, |
140 | irq_desc[M32R_IRQ_INT1].chip = &mappi3_irq_type; | 118 | handle_level_irq); |
141 | irq_desc[M32R_IRQ_INT1].action = 0; | ||
142 | irq_desc[M32R_IRQ_INT1].depth = 1; | ||
143 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; | 119 | icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01; |
144 | disable_mappi3_irq(M32R_IRQ_INT1); | 120 | disable_mappi3_irq(M32R_IRQ_INT1); |
145 | #endif /* CONFIG_USB */ | 121 | #endif /* CONFIG_USB */ |
146 | 122 | ||
147 | /* CFC IREQ */ | 123 | /* CFC IREQ */ |
148 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; | 124 | set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &mappi3_irq_type, |
149 | irq_desc[PLD_IRQ_CFIREQ].chip = &mappi3_irq_type; | 125 | handle_level_irq); |
150 | irq_desc[PLD_IRQ_CFIREQ].action = 0; | ||
151 | irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ | ||
152 | icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; | 126 | icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; |
153 | disable_mappi3_irq(PLD_IRQ_CFIREQ); | 127 | disable_mappi3_irq(PLD_IRQ_CFIREQ); |
154 | 128 | ||
155 | #if defined(CONFIG_M32R_CFC) | 129 | #if defined(CONFIG_M32R_CFC) |
156 | /* ICUCR41: CFC Insert & eject */ | 130 | /* ICUCR41: CFC Insert & eject */ |
157 | irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; | 131 | set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &mappi3_irq_type, |
158 | irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi3_irq_type; | 132 | handle_level_irq); |
159 | irq_desc[PLD_IRQ_CFC_INSERT].action = 0; | ||
160 | irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ | ||
161 | icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; | 133 | icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; |
162 | disable_mappi3_irq(PLD_IRQ_CFC_INSERT); | 134 | disable_mappi3_irq(PLD_IRQ_CFC_INSERT); |
163 | 135 | ||
164 | #endif /* CONFIG_M32R_CFC */ | 136 | #endif /* CONFIG_M32R_CFC */ |
165 | 137 | ||
166 | /* IDE IREQ */ | 138 | /* IDE IREQ */ |
167 | irq_desc[PLD_IRQ_IDEIREQ].status = IRQ_DISABLED; | 139 | set_irq_chip_and_handler(PLD_IRQ_IDEIREQ, &mappi3_irq_type, |
168 | irq_desc[PLD_IRQ_IDEIREQ].chip = &mappi3_irq_type; | 140 | handle_level_irq); |
169 | irq_desc[PLD_IRQ_IDEIREQ].action = 0; | ||
170 | irq_desc[PLD_IRQ_IDEIREQ].depth = 1; /* disable nested irq */ | ||
171 | icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 141 | icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
172 | disable_mappi3_irq(PLD_IRQ_IDEIREQ); | 142 | disable_mappi3_irq(PLD_IRQ_IDEIREQ); |
173 | 143 | ||
diff --git a/arch/m32r/platforms/oaks32r/setup.c b/arch/m32r/platforms/oaks32r/setup.c index d11d93bf74f5..19a02db7b818 100644 --- a/arch/m32r/platforms/oaks32r/setup.c +++ b/arch/m32r/platforms/oaks32r/setup.c | |||
@@ -37,39 +37,30 @@ static void enable_oaks32r_irq(unsigned int irq) | |||
37 | outl(data, port); | 37 | outl(data, port); |
38 | } | 38 | } |
39 | 39 | ||
40 | static void mask_and_ack_mappi(unsigned int irq) | 40 | static void mask_oaks32r(struct irq_data *data) |
41 | { | 41 | { |
42 | disable_oaks32r_irq(irq); | 42 | disable_oaks32r_irq(data->irq); |
43 | } | 43 | } |
44 | 44 | ||
45 | static void end_oaks32r_irq(unsigned int irq) | 45 | static void unmask_oaks32r(struct irq_data *data) |
46 | { | 46 | { |
47 | enable_oaks32r_irq(irq); | 47 | enable_oaks32r_irq(data->irq); |
48 | } | 48 | } |
49 | 49 | ||
50 | static unsigned int startup_oaks32r_irq(unsigned int irq) | 50 | static void shutdown_oaks32r(struct irq_data *data) |
51 | { | ||
52 | enable_oaks32r_irq(irq); | ||
53 | return (0); | ||
54 | } | ||
55 | |||
56 | static void shutdown_oaks32r_irq(unsigned int irq) | ||
57 | { | 51 | { |
58 | unsigned long port; | 52 | unsigned long port; |
59 | 53 | ||
60 | port = irq2port(irq); | 54 | port = irq2port(data->irq); |
61 | outl(M32R_ICUCR_ILEVEL7, port); | 55 | outl(M32R_ICUCR_ILEVEL7, port); |
62 | } | 56 | } |
63 | 57 | ||
64 | static struct irq_chip oaks32r_irq_type = | 58 | static struct irq_chip oaks32r_irq_type = |
65 | { | 59 | { |
66 | .name = "OAKS32R-IRQ", | 60 | .name = "OAKS32R-IRQ", |
67 | .startup = startup_oaks32r_irq, | 61 | .irq_shutdown = shutdown_oaks32r, |
68 | .shutdown = shutdown_oaks32r_irq, | 62 | .irq_mask = mask_oaks32r, |
69 | .enable = enable_oaks32r_irq, | 63 | .irq_unmask = unmask_oaks32r, |
70 | .disable = disable_oaks32r_irq, | ||
71 | .ack = mask_and_ack_mappi, | ||
72 | .end = end_oaks32r_irq | ||
73 | }; | 64 | }; |
74 | 65 | ||
75 | void __init init_IRQ(void) | 66 | void __init init_IRQ(void) |
@@ -83,52 +74,40 @@ void __init init_IRQ(void) | |||
83 | 74 | ||
84 | #ifdef CONFIG_NE2000 | 75 | #ifdef CONFIG_NE2000 |
85 | /* INT3 : LAN controller (RTL8019AS) */ | 76 | /* INT3 : LAN controller (RTL8019AS) */ |
86 | irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; | 77 | set_irq_chip_and_handler(M32R_IRQ_INT3, &oaks32r_irq_type, |
87 | irq_desc[M32R_IRQ_INT3].chip = &oaks32r_irq_type; | 78 | handle_level_irq); |
88 | irq_desc[M32R_IRQ_INT3].action = 0; | ||
89 | irq_desc[M32R_IRQ_INT3].depth = 1; | ||
90 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 79 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
91 | disable_oaks32r_irq(M32R_IRQ_INT3); | 80 | disable_oaks32r_irq(M32R_IRQ_INT3); |
92 | #endif /* CONFIG_M32R_NE2000 */ | 81 | #endif /* CONFIG_M32R_NE2000 */ |
93 | 82 | ||
94 | /* MFT2 : system timer */ | 83 | /* MFT2 : system timer */ |
95 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 84 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &oaks32r_irq_type, |
96 | irq_desc[M32R_IRQ_MFT2].chip = &oaks32r_irq_type; | 85 | handle_level_irq); |
97 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
98 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
99 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 86 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
100 | disable_oaks32r_irq(M32R_IRQ_MFT2); | 87 | disable_oaks32r_irq(M32R_IRQ_MFT2); |
101 | 88 | ||
102 | #ifdef CONFIG_SERIAL_M32R_SIO | 89 | #ifdef CONFIG_SERIAL_M32R_SIO |
103 | /* SIO0_R : uart receive data */ | 90 | /* SIO0_R : uart receive data */ |
104 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 91 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &oaks32r_irq_type, |
105 | irq_desc[M32R_IRQ_SIO0_R].chip = &oaks32r_irq_type; | 92 | handle_level_irq); |
106 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
107 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
108 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 93 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
109 | disable_oaks32r_irq(M32R_IRQ_SIO0_R); | 94 | disable_oaks32r_irq(M32R_IRQ_SIO0_R); |
110 | 95 | ||
111 | /* SIO0_S : uart send data */ | 96 | /* SIO0_S : uart send data */ |
112 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 97 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &oaks32r_irq_type, |
113 | irq_desc[M32R_IRQ_SIO0_S].chip = &oaks32r_irq_type; | 98 | handle_level_irq); |
114 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
115 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
116 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 99 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
117 | disable_oaks32r_irq(M32R_IRQ_SIO0_S); | 100 | disable_oaks32r_irq(M32R_IRQ_SIO0_S); |
118 | 101 | ||
119 | /* SIO1_R : uart receive data */ | 102 | /* SIO1_R : uart receive data */ |
120 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 103 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &oaks32r_irq_type, |
121 | irq_desc[M32R_IRQ_SIO1_R].chip = &oaks32r_irq_type; | 104 | handle_level_irq); |
122 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
123 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
124 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 105 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
125 | disable_oaks32r_irq(M32R_IRQ_SIO1_R); | 106 | disable_oaks32r_irq(M32R_IRQ_SIO1_R); |
126 | 107 | ||
127 | /* SIO1_S : uart send data */ | 108 | /* SIO1_S : uart send data */ |
128 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 109 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &oaks32r_irq_type, |
129 | irq_desc[M32R_IRQ_SIO1_S].chip = &oaks32r_irq_type; | 110 | handle_level_irq); |
130 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
131 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
132 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 111 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
133 | disable_oaks32r_irq(M32R_IRQ_SIO1_S); | 112 | disable_oaks32r_irq(M32R_IRQ_SIO1_S); |
134 | #endif /* CONFIG_SERIAL_M32R_SIO */ | 113 | #endif /* CONFIG_SERIAL_M32R_SIO */ |
diff --git a/arch/m32r/platforms/opsput/setup.c b/arch/m32r/platforms/opsput/setup.c index 5f3402a2fbaf..12731547e8bf 100644 --- a/arch/m32r/platforms/opsput/setup.c +++ b/arch/m32r/platforms/opsput/setup.c | |||
@@ -46,39 +46,30 @@ static void enable_opsput_irq(unsigned int irq) | |||
46 | outl(data, port); | 46 | outl(data, port); |
47 | } | 47 | } |
48 | 48 | ||
49 | static void mask_and_ack_opsput(unsigned int irq) | 49 | static void mask_opsput(struct irq_data *data) |
50 | { | 50 | { |
51 | disable_opsput_irq(irq); | 51 | disable_opsput_irq(data->irq); |
52 | } | 52 | } |
53 | 53 | ||
54 | static void end_opsput_irq(unsigned int irq) | 54 | static void unmask_opsput(struct irq_data *data) |
55 | { | 55 | { |
56 | enable_opsput_irq(irq); | 56 | enable_opsput_irq(data->irq); |
57 | } | 57 | } |
58 | 58 | ||
59 | static unsigned int startup_opsput_irq(unsigned int irq) | 59 | static void shutdown_opsput(struct irq_data *data) |
60 | { | ||
61 | enable_opsput_irq(irq); | ||
62 | return (0); | ||
63 | } | ||
64 | |||
65 | static void shutdown_opsput_irq(unsigned int irq) | ||
66 | { | 60 | { |
67 | unsigned long port; | 61 | unsigned long port; |
68 | 62 | ||
69 | port = irq2port(irq); | 63 | port = irq2port(data->irq); |
70 | outl(M32R_ICUCR_ILEVEL7, port); | 64 | outl(M32R_ICUCR_ILEVEL7, port); |
71 | } | 65 | } |
72 | 66 | ||
73 | static struct irq_chip opsput_irq_type = | 67 | static struct irq_chip opsput_irq_type = |
74 | { | 68 | { |
75 | .name = "OPSPUT-IRQ", | 69 | .name = "OPSPUT-IRQ", |
76 | .startup = startup_opsput_irq, | 70 | .irq_shutdown = shutdown_opsput, |
77 | .shutdown = shutdown_opsput_irq, | 71 | .irq_mask = mask_opsput, |
78 | .enable = enable_opsput_irq, | 72 | .irq_unmask = unmask_opsput, |
79 | .disable = disable_opsput_irq, | ||
80 | .ack = mask_and_ack_opsput, | ||
81 | .end = end_opsput_irq | ||
82 | }; | 73 | }; |
83 | 74 | ||
84 | /* | 75 | /* |
@@ -100,7 +91,6 @@ static void disable_opsput_pld_irq(unsigned int irq) | |||
100 | unsigned int pldirq; | 91 | unsigned int pldirq; |
101 | 92 | ||
102 | pldirq = irq2pldirq(irq); | 93 | pldirq = irq2pldirq(irq); |
103 | // disable_opsput_irq(M32R_IRQ_INT1); | ||
104 | port = pldirq2port(pldirq); | 94 | port = pldirq2port(pldirq); |
105 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7; | 95 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7; |
106 | outw(data, port); | 96 | outw(data, port); |
@@ -112,50 +102,38 @@ static void enable_opsput_pld_irq(unsigned int irq) | |||
112 | unsigned int pldirq; | 102 | unsigned int pldirq; |
113 | 103 | ||
114 | pldirq = irq2pldirq(irq); | 104 | pldirq = irq2pldirq(irq); |
115 | // enable_opsput_irq(M32R_IRQ_INT1); | ||
116 | port = pldirq2port(pldirq); | 105 | port = pldirq2port(pldirq); |
117 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6; | 106 | data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6; |
118 | outw(data, port); | 107 | outw(data, port); |
119 | } | 108 | } |
120 | 109 | ||
121 | static void mask_and_ack_opsput_pld(unsigned int irq) | 110 | static void mask_opsput_pld(struct irq_data *data) |
122 | { | ||
123 | disable_opsput_pld_irq(irq); | ||
124 | // mask_and_ack_opsput(M32R_IRQ_INT1); | ||
125 | } | ||
126 | |||
127 | static void end_opsput_pld_irq(unsigned int irq) | ||
128 | { | 111 | { |
129 | enable_opsput_pld_irq(irq); | 112 | disable_opsput_pld_irq(data->irq); |
130 | end_opsput_irq(M32R_IRQ_INT1); | ||
131 | } | 113 | } |
132 | 114 | ||
133 | static unsigned int startup_opsput_pld_irq(unsigned int irq) | 115 | static void unmask_opsput_pld(struct irq_data *data) |
134 | { | 116 | { |
135 | enable_opsput_pld_irq(irq); | 117 | enable_opsput_pld_irq(data->irq); |
136 | return (0); | 118 | enable_opsput_irq(M32R_IRQ_INT1); |
137 | } | 119 | } |
138 | 120 | ||
139 | static void shutdown_opsput_pld_irq(unsigned int irq) | 121 | static void shutdown_opsput_pld(struct irq_data *data) |
140 | { | 122 | { |
141 | unsigned long port; | 123 | unsigned long port; |
142 | unsigned int pldirq; | 124 | unsigned int pldirq; |
143 | 125 | ||
144 | pldirq = irq2pldirq(irq); | 126 | pldirq = irq2pldirq(data->irq); |
145 | // shutdown_opsput_irq(M32R_IRQ_INT1); | ||
146 | port = pldirq2port(pldirq); | 127 | port = pldirq2port(pldirq); |
147 | outw(PLD_ICUCR_ILEVEL7, port); | 128 | outw(PLD_ICUCR_ILEVEL7, port); |
148 | } | 129 | } |
149 | 130 | ||
150 | static struct irq_chip opsput_pld_irq_type = | 131 | static struct irq_chip opsput_pld_irq_type = |
151 | { | 132 | { |
152 | .name = "OPSPUT-PLD-IRQ", | 133 | .name = "OPSPUT-PLD-IRQ", |
153 | .startup = startup_opsput_pld_irq, | 134 | .irq_shutdown = shutdown_opsput_pld, |
154 | .shutdown = shutdown_opsput_pld_irq, | 135 | .irq_mask = mask_opsput_pld, |
155 | .enable = enable_opsput_pld_irq, | 136 | .irq_unmask = unmask_opsput_pld, |
156 | .disable = disable_opsput_pld_irq, | ||
157 | .ack = mask_and_ack_opsput_pld, | ||
158 | .end = end_opsput_pld_irq | ||
159 | }; | 137 | }; |
160 | 138 | ||
161 | /* | 139 | /* |
@@ -189,42 +167,33 @@ static void enable_opsput_lanpld_irq(unsigned int irq) | |||
189 | outw(data, port); | 167 | outw(data, port); |
190 | } | 168 | } |
191 | 169 | ||
192 | static void mask_and_ack_opsput_lanpld(unsigned int irq) | 170 | static void mask_opsput_lanpld(struct irq_data *data) |
193 | { | ||
194 | disable_opsput_lanpld_irq(irq); | ||
195 | } | ||
196 | |||
197 | static void end_opsput_lanpld_irq(unsigned int irq) | ||
198 | { | 171 | { |
199 | enable_opsput_lanpld_irq(irq); | 172 | disable_opsput_lanpld_irq(data->irq); |
200 | end_opsput_irq(M32R_IRQ_INT0); | ||
201 | } | 173 | } |
202 | 174 | ||
203 | static unsigned int startup_opsput_lanpld_irq(unsigned int irq) | 175 | static void unmask_opsput_lanpld(struct irq_data *data) |
204 | { | 176 | { |
205 | enable_opsput_lanpld_irq(irq); | 177 | enable_opsput_lanpld_irq(data->irq); |
206 | return (0); | 178 | enable_opsput_irq(M32R_IRQ_INT0); |
207 | } | 179 | } |
208 | 180 | ||
209 | static void shutdown_opsput_lanpld_irq(unsigned int irq) | 181 | static void shutdown_opsput_lanpld(struct irq_data *data) |
210 | { | 182 | { |
211 | unsigned long port; | 183 | unsigned long port; |
212 | unsigned int pldirq; | 184 | unsigned int pldirq; |
213 | 185 | ||
214 | pldirq = irq2lanpldirq(irq); | 186 | pldirq = irq2lanpldirq(data->irq); |
215 | port = lanpldirq2port(pldirq); | 187 | port = lanpldirq2port(pldirq); |
216 | outw(PLD_ICUCR_ILEVEL7, port); | 188 | outw(PLD_ICUCR_ILEVEL7, port); |
217 | } | 189 | } |
218 | 190 | ||
219 | static struct irq_chip opsput_lanpld_irq_type = | 191 | static struct irq_chip opsput_lanpld_irq_type = |
220 | { | 192 | { |
221 | .name = "OPSPUT-PLD-LAN-IRQ", | 193 | .name = "OPSPUT-PLD-LAN-IRQ", |
222 | .startup = startup_opsput_lanpld_irq, | 194 | .irq_shutdown = shutdown_opsput_lanpld, |
223 | .shutdown = shutdown_opsput_lanpld_irq, | 195 | .irq_mask = mask_opsput_lanpld, |
224 | .enable = enable_opsput_lanpld_irq, | 196 | .irq_unmask = unmask_opsput_lanpld, |
225 | .disable = disable_opsput_lanpld_irq, | ||
226 | .ack = mask_and_ack_opsput_lanpld, | ||
227 | .end = end_opsput_lanpld_irq | ||
228 | }; | 197 | }; |
229 | 198 | ||
230 | /* | 199 | /* |
@@ -258,143 +227,109 @@ static void enable_opsput_lcdpld_irq(unsigned int irq) | |||
258 | outw(data, port); | 227 | outw(data, port); |
259 | } | 228 | } |
260 | 229 | ||
261 | static void mask_and_ack_opsput_lcdpld(unsigned int irq) | 230 | static void mask_opsput_lcdpld(struct irq_data *data) |
262 | { | ||
263 | disable_opsput_lcdpld_irq(irq); | ||
264 | } | ||
265 | |||
266 | static void end_opsput_lcdpld_irq(unsigned int irq) | ||
267 | { | 231 | { |
268 | enable_opsput_lcdpld_irq(irq); | 232 | disable_opsput_lcdpld_irq(data->irq); |
269 | end_opsput_irq(M32R_IRQ_INT2); | ||
270 | } | 233 | } |
271 | 234 | ||
272 | static unsigned int startup_opsput_lcdpld_irq(unsigned int irq) | 235 | static void unmask_opsput_lcdpld(struct irq_data *data) |
273 | { | 236 | { |
274 | enable_opsput_lcdpld_irq(irq); | 237 | enable_opsput_lcdpld_irq(data->irq); |
275 | return (0); | 238 | enable_opsput_irq(M32R_IRQ_INT2); |
276 | } | 239 | } |
277 | 240 | ||
278 | static void shutdown_opsput_lcdpld_irq(unsigned int irq) | 241 | static void shutdown_opsput_lcdpld(struct irq_data *data) |
279 | { | 242 | { |
280 | unsigned long port; | 243 | unsigned long port; |
281 | unsigned int pldirq; | 244 | unsigned int pldirq; |
282 | 245 | ||
283 | pldirq = irq2lcdpldirq(irq); | 246 | pldirq = irq2lcdpldirq(data->irq); |
284 | port = lcdpldirq2port(pldirq); | 247 | port = lcdpldirq2port(pldirq); |
285 | outw(PLD_ICUCR_ILEVEL7, port); | 248 | outw(PLD_ICUCR_ILEVEL7, port); |
286 | } | 249 | } |
287 | 250 | ||
288 | static struct irq_chip opsput_lcdpld_irq_type = | 251 | static struct irq_chip opsput_lcdpld_irq_type = { |
289 | { | 252 | .name = "OPSPUT-PLD-LCD-IRQ", |
290 | "OPSPUT-PLD-LCD-IRQ", | 253 | .irq_shutdown = shutdown_opsput_lcdpld, |
291 | startup_opsput_lcdpld_irq, | 254 | .irq_mask = mask_opsput_lcdpld, |
292 | shutdown_opsput_lcdpld_irq, | 255 | .irq_unmask = unmask_opsput_lcdpld, |
293 | enable_opsput_lcdpld_irq, | ||
294 | disable_opsput_lcdpld_irq, | ||
295 | mask_and_ack_opsput_lcdpld, | ||
296 | end_opsput_lcdpld_irq | ||
297 | }; | 256 | }; |
298 | 257 | ||
299 | void __init init_IRQ(void) | 258 | void __init init_IRQ(void) |
300 | { | 259 | { |
301 | #if defined(CONFIG_SMC91X) | 260 | #if defined(CONFIG_SMC91X) |
302 | /* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/ | 261 | /* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/ |
303 | irq_desc[OPSPUT_LAN_IRQ_LAN].status = IRQ_DISABLED; | 262 | set_irq_chip_and_handler(OPSPUT_LAN_IRQ_LAN, &opsput_lanpld_irq_type, |
304 | irq_desc[OPSPUT_LAN_IRQ_LAN].chip = &opsput_lanpld_irq_type; | 263 | handle_level_irq); |
305 | irq_desc[OPSPUT_LAN_IRQ_LAN].action = 0; | ||
306 | irq_desc[OPSPUT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */ | ||
307 | lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ | 264 | lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */ |
308 | disable_opsput_lanpld_irq(OPSPUT_LAN_IRQ_LAN); | 265 | disable_opsput_lanpld_irq(OPSPUT_LAN_IRQ_LAN); |
309 | #endif /* CONFIG_SMC91X */ | 266 | #endif /* CONFIG_SMC91X */ |
310 | 267 | ||
311 | /* MFT2 : system timer */ | 268 | /* MFT2 : system timer */ |
312 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 269 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &opsput_irq_type, |
313 | irq_desc[M32R_IRQ_MFT2].chip = &opsput_irq_type; | 270 | handle_level_irq); |
314 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
315 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
316 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 271 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
317 | disable_opsput_irq(M32R_IRQ_MFT2); | 272 | disable_opsput_irq(M32R_IRQ_MFT2); |
318 | 273 | ||
319 | /* SIO0 : receive */ | 274 | /* SIO0 : receive */ |
320 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 275 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &opsput_irq_type, |
321 | irq_desc[M32R_IRQ_SIO0_R].chip = &opsput_irq_type; | 276 | handle_level_irq); |
322 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
323 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
324 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 277 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
325 | disable_opsput_irq(M32R_IRQ_SIO0_R); | 278 | disable_opsput_irq(M32R_IRQ_SIO0_R); |
326 | 279 | ||
327 | /* SIO0 : send */ | 280 | /* SIO0 : send */ |
328 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 281 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &opsput_irq_type, |
329 | irq_desc[M32R_IRQ_SIO0_S].chip = &opsput_irq_type; | 282 | handle_level_irq); |
330 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
331 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
332 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 283 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
333 | disable_opsput_irq(M32R_IRQ_SIO0_S); | 284 | disable_opsput_irq(M32R_IRQ_SIO0_S); |
334 | 285 | ||
335 | /* SIO1 : receive */ | 286 | /* SIO1 : receive */ |
336 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 287 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &opsput_irq_type, |
337 | irq_desc[M32R_IRQ_SIO1_R].chip = &opsput_irq_type; | 288 | handle_level_irq); |
338 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
339 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
340 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 289 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
341 | disable_opsput_irq(M32R_IRQ_SIO1_R); | 290 | disable_opsput_irq(M32R_IRQ_SIO1_R); |
342 | 291 | ||
343 | /* SIO1 : send */ | 292 | /* SIO1 : send */ |
344 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 293 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &opsput_irq_type, |
345 | irq_desc[M32R_IRQ_SIO1_S].chip = &opsput_irq_type; | 294 | handle_level_irq); |
346 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
347 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
348 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 295 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
349 | disable_opsput_irq(M32R_IRQ_SIO1_S); | 296 | disable_opsput_irq(M32R_IRQ_SIO1_S); |
350 | 297 | ||
351 | /* DMA1 : */ | 298 | /* DMA1 : */ |
352 | irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED; | 299 | set_irq_chip_and_handler(M32R_IRQ_DMA1, &opsput_irq_type, |
353 | irq_desc[M32R_IRQ_DMA1].chip = &opsput_irq_type; | 300 | handle_level_irq); |
354 | irq_desc[M32R_IRQ_DMA1].action = 0; | ||
355 | irq_desc[M32R_IRQ_DMA1].depth = 1; | ||
356 | icu_data[M32R_IRQ_DMA1].icucr = 0; | 301 | icu_data[M32R_IRQ_DMA1].icucr = 0; |
357 | disable_opsput_irq(M32R_IRQ_DMA1); | 302 | disable_opsput_irq(M32R_IRQ_DMA1); |
358 | 303 | ||
359 | #ifdef CONFIG_SERIAL_M32R_PLDSIO | 304 | #ifdef CONFIG_SERIAL_M32R_PLDSIO |
360 | /* INT#1: SIO0 Receive on PLD */ | 305 | /* INT#1: SIO0 Receive on PLD */ |
361 | irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED; | 306 | set_irq_chip_and_handler(PLD_IRQ_SIO0_RCV, &opsput_pld_irq_type, |
362 | irq_desc[PLD_IRQ_SIO0_RCV].chip = &opsput_pld_irq_type; | 307 | handle_level_irq); |
363 | irq_desc[PLD_IRQ_SIO0_RCV].action = 0; | ||
364 | irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */ | ||
365 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; | 308 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; |
366 | disable_opsput_pld_irq(PLD_IRQ_SIO0_RCV); | 309 | disable_opsput_pld_irq(PLD_IRQ_SIO0_RCV); |
367 | 310 | ||
368 | /* INT#1: SIO0 Send on PLD */ | 311 | /* INT#1: SIO0 Send on PLD */ |
369 | irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED; | 312 | set_irq_chip_and_handler(PLD_IRQ_SIO0_SND, &opsput_pld_irq_type, |
370 | irq_desc[PLD_IRQ_SIO0_SND].chip = &opsput_pld_irq_type; | 313 | handle_level_irq); |
371 | irq_desc[PLD_IRQ_SIO0_SND].action = 0; | ||
372 | irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */ | ||
373 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; | 314 | pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03; |
374 | disable_opsput_pld_irq(PLD_IRQ_SIO0_SND); | 315 | disable_opsput_pld_irq(PLD_IRQ_SIO0_SND); |
375 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ | 316 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ |
376 | 317 | ||
377 | /* INT#1: CFC IREQ on PLD */ | 318 | /* INT#1: CFC IREQ on PLD */ |
378 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; | 319 | set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &opsput_pld_irq_type, |
379 | irq_desc[PLD_IRQ_CFIREQ].chip = &opsput_pld_irq_type; | 320 | handle_level_irq); |
380 | irq_desc[PLD_IRQ_CFIREQ].action = 0; | ||
381 | irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */ | ||
382 | pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ | 321 | pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */ |
383 | disable_opsput_pld_irq(PLD_IRQ_CFIREQ); | 322 | disable_opsput_pld_irq(PLD_IRQ_CFIREQ); |
384 | 323 | ||
385 | /* INT#1: CFC Insert on PLD */ | 324 | /* INT#1: CFC Insert on PLD */ |
386 | irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; | 325 | set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &opsput_pld_irq_type, |
387 | irq_desc[PLD_IRQ_CFC_INSERT].chip = &opsput_pld_irq_type; | 326 | handle_level_irq); |
388 | irq_desc[PLD_IRQ_CFC_INSERT].action = 0; | ||
389 | irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */ | ||
390 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ | 327 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */ |
391 | disable_opsput_pld_irq(PLD_IRQ_CFC_INSERT); | 328 | disable_opsput_pld_irq(PLD_IRQ_CFC_INSERT); |
392 | 329 | ||
393 | /* INT#1: CFC Eject on PLD */ | 330 | /* INT#1: CFC Eject on PLD */ |
394 | irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED; | 331 | set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &opsput_pld_irq_type, |
395 | irq_desc[PLD_IRQ_CFC_EJECT].chip = &opsput_pld_irq_type; | 332 | handle_level_irq); |
396 | irq_desc[PLD_IRQ_CFC_EJECT].action = 0; | ||
397 | irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ | ||
398 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ | 333 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ |
399 | disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT); | 334 | disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT); |
400 | 335 | ||
@@ -413,14 +348,11 @@ void __init init_IRQ(void) | |||
413 | enable_opsput_irq(M32R_IRQ_INT1); | 348 | enable_opsput_irq(M32R_IRQ_INT1); |
414 | 349 | ||
415 | #if defined(CONFIG_USB) | 350 | #if defined(CONFIG_USB) |
416 | outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ | 351 | outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ |
417 | 352 | set_irq_chip_and_handler(OPSPUT_LCD_IRQ_USB_INT1, | |
418 | irq_desc[OPSPUT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED; | 353 | &opsput_lcdpld_irq_type, handle_level_irq); |
419 | irq_desc[OPSPUT_LCD_IRQ_USB_INT1].chip = &opsput_lcdpld_irq_type; | 354 | lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ |
420 | irq_desc[OPSPUT_LCD_IRQ_USB_INT1].action = 0; | 355 | disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1); |
421 | irq_desc[OPSPUT_LCD_IRQ_USB_INT1].depth = 1; | ||
422 | lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ | ||
423 | disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1); | ||
424 | #endif | 356 | #endif |
425 | /* | 357 | /* |
426 | * INT2# is used for BAT, USB, AUDIO | 358 | * INT2# is used for BAT, USB, AUDIO |
@@ -433,10 +365,8 @@ void __init init_IRQ(void) | |||
433 | /* | 365 | /* |
434 | * INT3# is used for AR | 366 | * INT3# is used for AR |
435 | */ | 367 | */ |
436 | irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED; | 368 | set_irq_chip_and_handler(M32R_IRQ_INT3, &opsput_irq_type, |
437 | irq_desc[M32R_IRQ_INT3].chip = &opsput_irq_type; | 369 | handle_level_irq); |
438 | irq_desc[M32R_IRQ_INT3].action = 0; | ||
439 | irq_desc[M32R_IRQ_INT3].depth = 1; | ||
440 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 370 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
441 | disable_opsput_irq(M32R_IRQ_INT3); | 371 | disable_opsput_irq(M32R_IRQ_INT3); |
442 | #endif /* CONFIG_VIDEO_M32R_AR */ | 372 | #endif /* CONFIG_VIDEO_M32R_AR */ |
diff --git a/arch/m32r/platforms/usrv/setup.c b/arch/m32r/platforms/usrv/setup.c index 1beac7a51ed4..f3cff26d6e74 100644 --- a/arch/m32r/platforms/usrv/setup.c +++ b/arch/m32r/platforms/usrv/setup.c | |||
@@ -37,39 +37,30 @@ static void enable_mappi_irq(unsigned int irq) | |||
37 | outl(data, port); | 37 | outl(data, port); |
38 | } | 38 | } |
39 | 39 | ||
40 | static void mask_and_ack_mappi(unsigned int irq) | 40 | static void mask_mappi(struct irq_data *data) |
41 | { | 41 | { |
42 | disable_mappi_irq(irq); | 42 | disable_mappi_irq(data->irq); |
43 | } | 43 | } |
44 | 44 | ||
45 | static void end_mappi_irq(unsigned int irq) | 45 | static void unmask_mappi(struct irq_data *data) |
46 | { | 46 | { |
47 | enable_mappi_irq(irq); | 47 | enable_mappi_irq(data->irq); |
48 | } | 48 | } |
49 | 49 | ||
50 | static unsigned int startup_mappi_irq(unsigned int irq) | 50 | static void shutdown_mappi(struct irq_data *data) |
51 | { | ||
52 | enable_mappi_irq(irq); | ||
53 | return 0; | ||
54 | } | ||
55 | |||
56 | static void shutdown_mappi_irq(unsigned int irq) | ||
57 | { | 51 | { |
58 | unsigned long port; | 52 | unsigned long port; |
59 | 53 | ||
60 | port = irq2port(irq); | 54 | port = irq2port(data->irq); |
61 | outl(M32R_ICUCR_ILEVEL7, port); | 55 | outl(M32R_ICUCR_ILEVEL7, port); |
62 | } | 56 | } |
63 | 57 | ||
64 | static struct irq_chip mappi_irq_type = | 58 | static struct irq_chip mappi_irq_type = |
65 | { | 59 | { |
66 | .name = "M32700-IRQ", | 60 | .name = "M32700-IRQ", |
67 | .startup = startup_mappi_irq, | 61 | .irq_shutdown = shutdown_mappi, |
68 | .shutdown = shutdown_mappi_irq, | 62 | .irq_mask = mask_mappi, |
69 | .enable = enable_mappi_irq, | 63 | .irq_unmask = unmask_mappi, |
70 | .disable = disable_mappi_irq, | ||
71 | .ack = mask_and_ack_mappi, | ||
72 | .end = end_mappi_irq | ||
73 | }; | 64 | }; |
74 | 65 | ||
75 | /* | 66 | /* |
@@ -107,42 +98,33 @@ static void enable_m32700ut_pld_irq(unsigned int irq) | |||
107 | outw(data, port); | 98 | outw(data, port); |
108 | } | 99 | } |
109 | 100 | ||
110 | static void mask_and_ack_m32700ut_pld(unsigned int irq) | 101 | static void mask_m32700ut_pld(struct irq_data *data) |
111 | { | 102 | { |
112 | disable_m32700ut_pld_irq(irq); | 103 | disable_m32700ut_pld_irq(data->irq); |
113 | } | 104 | } |
114 | 105 | ||
115 | static void end_m32700ut_pld_irq(unsigned int irq) | 106 | static void unmask_m32700ut_pld(struct irq_data *data) |
116 | { | 107 | { |
117 | enable_m32700ut_pld_irq(irq); | 108 | enable_m32700ut_pld_irq(data->irq); |
118 | end_mappi_irq(M32R_IRQ_INT1); | 109 | enable_mappi_irq(M32R_IRQ_INT1); |
119 | } | ||
120 | |||
121 | static unsigned int startup_m32700ut_pld_irq(unsigned int irq) | ||
122 | { | ||
123 | enable_m32700ut_pld_irq(irq); | ||
124 | return 0; | ||
125 | } | 110 | } |
126 | 111 | ||
127 | static void shutdown_m32700ut_pld_irq(unsigned int irq) | 112 | static void shutdown_m32700ut_pld(struct irq_data *data) |
128 | { | 113 | { |
129 | unsigned long port; | 114 | unsigned long port; |
130 | unsigned int pldirq; | 115 | unsigned int pldirq; |
131 | 116 | ||
132 | pldirq = irq2pldirq(irq); | 117 | pldirq = irq2pldirq(data->irq); |
133 | port = pldirq2port(pldirq); | 118 | port = pldirq2port(pldirq); |
134 | outw(PLD_ICUCR_ILEVEL7, port); | 119 | outw(PLD_ICUCR_ILEVEL7, port); |
135 | } | 120 | } |
136 | 121 | ||
137 | static struct irq_chip m32700ut_pld_irq_type = | 122 | static struct irq_chip m32700ut_pld_irq_type = |
138 | { | 123 | { |
139 | .name = "USRV-PLD-IRQ", | 124 | .name = "USRV-PLD-IRQ", |
140 | .startup = startup_m32700ut_pld_irq, | 125 | .irq_shutdown = shutdown_m32700ut_pld, |
141 | .shutdown = shutdown_m32700ut_pld_irq, | 126 | .irq_mask = mask_m32700ut_pld, |
142 | .enable = enable_m32700ut_pld_irq, | 127 | .irq_unmask = unmask_m32700ut_pld, |
143 | .disable = disable_m32700ut_pld_irq, | ||
144 | .ack = mask_and_ack_m32700ut_pld, | ||
145 | .end = end_m32700ut_pld_irq | ||
146 | }; | 128 | }; |
147 | 129 | ||
148 | void __init init_IRQ(void) | 130 | void __init init_IRQ(void) |
@@ -156,53 +138,42 @@ void __init init_IRQ(void) | |||
156 | once++; | 138 | once++; |
157 | 139 | ||
158 | /* MFT2 : system timer */ | 140 | /* MFT2 : system timer */ |
159 | irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED; | 141 | set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi_irq_type, |
160 | irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type; | 142 | handle_level_irq); |
161 | irq_desc[M32R_IRQ_MFT2].action = 0; | ||
162 | irq_desc[M32R_IRQ_MFT2].depth = 1; | ||
163 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; | 143 | icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN; |
164 | disable_mappi_irq(M32R_IRQ_MFT2); | 144 | disable_mappi_irq(M32R_IRQ_MFT2); |
165 | 145 | ||
166 | #if defined(CONFIG_SERIAL_M32R_SIO) | 146 | #if defined(CONFIG_SERIAL_M32R_SIO) |
167 | /* SIO0_R : uart receive data */ | 147 | /* SIO0_R : uart receive data */ |
168 | irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED; | 148 | set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi_irq_type, |
169 | irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type; | 149 | handle_level_irq); |
170 | irq_desc[M32R_IRQ_SIO0_R].action = 0; | ||
171 | irq_desc[M32R_IRQ_SIO0_R].depth = 1; | ||
172 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; | 150 | icu_data[M32R_IRQ_SIO0_R].icucr = 0; |
173 | disable_mappi_irq(M32R_IRQ_SIO0_R); | 151 | disable_mappi_irq(M32R_IRQ_SIO0_R); |
174 | 152 | ||
175 | /* SIO0_S : uart send data */ | 153 | /* SIO0_S : uart send data */ |
176 | irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED; | 154 | set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi_irq_type, |
177 | irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type; | 155 | handle_level_irq); |
178 | irq_desc[M32R_IRQ_SIO0_S].action = 0; | ||
179 | irq_desc[M32R_IRQ_SIO0_S].depth = 1; | ||
180 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; | 156 | icu_data[M32R_IRQ_SIO0_S].icucr = 0; |
181 | disable_mappi_irq(M32R_IRQ_SIO0_S); | 157 | disable_mappi_irq(M32R_IRQ_SIO0_S); |
182 | 158 | ||
183 | /* SIO1_R : uart receive data */ | 159 | /* SIO1_R : uart receive data */ |
184 | irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED; | 160 | set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi_irq_type, |
185 | irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type; | 161 | handle_level_irq); |
186 | irq_desc[M32R_IRQ_SIO1_R].action = 0; | ||
187 | irq_desc[M32R_IRQ_SIO1_R].depth = 1; | ||
188 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; | 162 | icu_data[M32R_IRQ_SIO1_R].icucr = 0; |
189 | disable_mappi_irq(M32R_IRQ_SIO1_R); | 163 | disable_mappi_irq(M32R_IRQ_SIO1_R); |
190 | 164 | ||
191 | /* SIO1_S : uart send data */ | 165 | /* SIO1_S : uart send data */ |
192 | irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED; | 166 | set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi_irq_type, |
193 | irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type; | 167 | handle_level_irq); |
194 | irq_desc[M32R_IRQ_SIO1_S].action = 0; | ||
195 | irq_desc[M32R_IRQ_SIO1_S].depth = 1; | ||
196 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; | 168 | icu_data[M32R_IRQ_SIO1_S].icucr = 0; |
197 | disable_mappi_irq(M32R_IRQ_SIO1_S); | 169 | disable_mappi_irq(M32R_IRQ_SIO1_S); |
198 | #endif /* CONFIG_SERIAL_M32R_SIO */ | 170 | #endif /* CONFIG_SERIAL_M32R_SIO */ |
199 | 171 | ||
200 | /* INT#67-#71: CFC#0 IREQ on PLD */ | 172 | /* INT#67-#71: CFC#0 IREQ on PLD */ |
201 | for (i = 0 ; i < CONFIG_M32R_CFC_NUM ; i++ ) { | 173 | for (i = 0 ; i < CONFIG_M32R_CFC_NUM ; i++ ) { |
202 | irq_desc[PLD_IRQ_CF0 + i].status = IRQ_DISABLED; | 174 | set_irq_chip_and_handler(PLD_IRQ_CF0 + i, |
203 | irq_desc[PLD_IRQ_CF0 + i].chip = &m32700ut_pld_irq_type; | 175 | &m32700ut_pld_irq_type, |
204 | irq_desc[PLD_IRQ_CF0 + i].action = 0; | 176 | handle_level_irq); |
205 | irq_desc[PLD_IRQ_CF0 + i].depth = 1; /* disable nested irq */ | ||
206 | pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr | 177 | pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr |
207 | = PLD_ICUCR_ISMOD01; /* 'L' level sense */ | 178 | = PLD_ICUCR_ISMOD01; /* 'L' level sense */ |
208 | disable_m32700ut_pld_irq(PLD_IRQ_CF0 + i); | 179 | disable_m32700ut_pld_irq(PLD_IRQ_CF0 + i); |
@@ -210,19 +181,15 @@ void __init init_IRQ(void) | |||
210 | 181 | ||
211 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) | 182 | #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) |
212 | /* INT#76: 16552D#0 IREQ on PLD */ | 183 | /* INT#76: 16552D#0 IREQ on PLD */ |
213 | irq_desc[PLD_IRQ_UART0].status = IRQ_DISABLED; | 184 | set_irq_chip_and_handler(PLD_IRQ_UART0, &m32700ut_pld_irq_type, |
214 | irq_desc[PLD_IRQ_UART0].chip = &m32700ut_pld_irq_type; | 185 | handle_level_irq); |
215 | irq_desc[PLD_IRQ_UART0].action = 0; | ||
216 | irq_desc[PLD_IRQ_UART0].depth = 1; /* disable nested irq */ | ||
217 | pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr | 186 | pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr |
218 | = PLD_ICUCR_ISMOD03; /* 'H' level sense */ | 187 | = PLD_ICUCR_ISMOD03; /* 'H' level sense */ |
219 | disable_m32700ut_pld_irq(PLD_IRQ_UART0); | 188 | disable_m32700ut_pld_irq(PLD_IRQ_UART0); |
220 | 189 | ||
221 | /* INT#77: 16552D#1 IREQ on PLD */ | 190 | /* INT#77: 16552D#1 IREQ on PLD */ |
222 | irq_desc[PLD_IRQ_UART1].status = IRQ_DISABLED; | 191 | set_irq_chip_and_handler(PLD_IRQ_UART1, &m32700ut_pld_irq_type, |
223 | irq_desc[PLD_IRQ_UART1].chip = &m32700ut_pld_irq_type; | 192 | handle_level_irq); |
224 | irq_desc[PLD_IRQ_UART1].action = 0; | ||
225 | irq_desc[PLD_IRQ_UART1].depth = 1; /* disable nested irq */ | ||
226 | pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr | 193 | pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr |
227 | = PLD_ICUCR_ISMOD03; /* 'H' level sense */ | 194 | = PLD_ICUCR_ISMOD03; /* 'H' level sense */ |
228 | disable_m32700ut_pld_irq(PLD_IRQ_UART1); | 195 | disable_m32700ut_pld_irq(PLD_IRQ_UART1); |
@@ -230,10 +197,8 @@ void __init init_IRQ(void) | |||
230 | 197 | ||
231 | #if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE) | 198 | #if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE) |
232 | /* INT#80: AK4524 IREQ on PLD */ | 199 | /* INT#80: AK4524 IREQ on PLD */ |
233 | irq_desc[PLD_IRQ_SNDINT].status = IRQ_DISABLED; | 200 | set_irq_chip_and_handler(PLD_IRQ_SNDINT, &m32700ut_pld_irq_type, |
234 | irq_desc[PLD_IRQ_SNDINT].chip = &m32700ut_pld_irq_type; | 201 | handle_level_irq); |
235 | irq_desc[PLD_IRQ_SNDINT].action = 0; | ||
236 | irq_desc[PLD_IRQ_SNDINT].depth = 1; /* disable nested irq */ | ||
237 | pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr | 202 | pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr |
238 | = PLD_ICUCR_ISMOD01; /* 'L' level sense */ | 203 | = PLD_ICUCR_ISMOD01; /* 'L' level sense */ |
239 | disable_m32700ut_pld_irq(PLD_IRQ_SNDINT); | 204 | disable_m32700ut_pld_irq(PLD_IRQ_SNDINT); |
diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c index b1577f741fa8..82a4bb51d5d8 100644 --- a/arch/m68k/amiga/config.c +++ b/arch/m68k/amiga/config.c | |||
@@ -610,17 +610,17 @@ static void amiga_mem_console_write(struct console *co, const char *s, | |||
610 | 610 | ||
611 | static int __init amiga_savekmsg_setup(char *arg) | 611 | static int __init amiga_savekmsg_setup(char *arg) |
612 | { | 612 | { |
613 | static struct resource debug_res = { .name = "Debug" }; | ||
614 | |||
615 | if (!MACH_IS_AMIGA || strcmp(arg, "mem")) | 613 | if (!MACH_IS_AMIGA || strcmp(arg, "mem")) |
616 | goto done; | 614 | return 0; |
617 | 615 | ||
618 | if (!AMIGAHW_PRESENT(CHIP_RAM)) { | 616 | if (amiga_chip_size < SAVEKMSG_MAXMEM) { |
619 | printk("Warning: no chipram present for debugging\n"); | 617 | pr_err("Not enough chipram for debugging\n"); |
620 | goto done; | 618 | return -ENOMEM; |
621 | } | 619 | } |
622 | 620 | ||
623 | savekmsg = amiga_chip_alloc_res(SAVEKMSG_MAXMEM, &debug_res); | 621 | /* Just steal the block, the chipram allocator isn't functional yet */ |
622 | amiga_chip_size -= SAVEKMSG_MAXMEM; | ||
623 | savekmsg = (void *)ZTWO_VADDR(CHIP_PHYSADDR + amiga_chip_size); | ||
624 | savekmsg->magic1 = SAVEKMSG_MAGIC1; | 624 | savekmsg->magic1 = SAVEKMSG_MAGIC1; |
625 | savekmsg->magic2 = SAVEKMSG_MAGIC2; | 625 | savekmsg->magic2 = SAVEKMSG_MAGIC2; |
626 | savekmsg->magicptr = ZTWO_PADDR(savekmsg); | 626 | savekmsg->magicptr = ZTWO_PADDR(savekmsg); |
@@ -628,8 +628,6 @@ static int __init amiga_savekmsg_setup(char *arg) | |||
628 | 628 | ||
629 | amiga_console_driver.write = amiga_mem_console_write; | 629 | amiga_console_driver.write = amiga_mem_console_write; |
630 | register_console(&amiga_console_driver); | 630 | register_console(&amiga_console_driver); |
631 | |||
632 | done: | ||
633 | return 0; | 631 | return 0; |
634 | } | 632 | } |
635 | 633 | ||
diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c index 39478dd08e67..26a804e67bce 100644 --- a/arch/m68k/atari/ataints.c +++ b/arch/m68k/atari/ataints.c | |||
@@ -388,9 +388,9 @@ void __init atari_init_IRQ(void) | |||
388 | } | 388 | } |
389 | 389 | ||
390 | if (ATARIHW_PRESENT(SCC) && !atari_SCC_reset_done) { | 390 | if (ATARIHW_PRESENT(SCC) && !atari_SCC_reset_done) { |
391 | scc.cha_a_ctrl = 9; | 391 | atari_scc.cha_a_ctrl = 9; |
392 | MFPDELAY(); | 392 | MFPDELAY(); |
393 | scc.cha_a_ctrl = (char) 0xc0; /* hardware reset */ | 393 | atari_scc.cha_a_ctrl = (char) 0xc0; /* hardware reset */ |
394 | } | 394 | } |
395 | 395 | ||
396 | if (ATARIHW_PRESENT(SCU)) { | 396 | if (ATARIHW_PRESENT(SCU)) { |
diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c index ae2d96e5d618..4203d101363c 100644 --- a/arch/m68k/atari/config.c +++ b/arch/m68k/atari/config.c | |||
@@ -315,7 +315,7 @@ void __init config_atari(void) | |||
315 | ATARIHW_SET(SCC_DMA); | 315 | ATARIHW_SET(SCC_DMA); |
316 | printk("SCC_DMA "); | 316 | printk("SCC_DMA "); |
317 | } | 317 | } |
318 | if (scc_test(&scc.cha_a_ctrl)) { | 318 | if (scc_test(&atari_scc.cha_a_ctrl)) { |
319 | ATARIHW_SET(SCC); | 319 | ATARIHW_SET(SCC); |
320 | printk("SCC "); | 320 | printk("SCC "); |
321 | } | 321 | } |
diff --git a/arch/m68k/atari/debug.c b/arch/m68k/atari/debug.c index 28efdc33c1ae..5a484247e493 100644 --- a/arch/m68k/atari/debug.c +++ b/arch/m68k/atari/debug.c | |||
@@ -53,9 +53,9 @@ static inline void ata_scc_out(char c) | |||
53 | { | 53 | { |
54 | do { | 54 | do { |
55 | MFPDELAY(); | 55 | MFPDELAY(); |
56 | } while (!(scc.cha_b_ctrl & 0x04)); /* wait for tx buf empty */ | 56 | } while (!(atari_scc.cha_b_ctrl & 0x04)); /* wait for tx buf empty */ |
57 | MFPDELAY(); | 57 | MFPDELAY(); |
58 | scc.cha_b_data = c; | 58 | atari_scc.cha_b_data = c; |
59 | } | 59 | } |
60 | 60 | ||
61 | static void atari_scc_console_write(struct console *co, const char *str, | 61 | static void atari_scc_console_write(struct console *co, const char *str, |
@@ -140,9 +140,9 @@ int atari_scc_console_wait_key(struct console *co) | |||
140 | { | 140 | { |
141 | do { | 141 | do { |
142 | MFPDELAY(); | 142 | MFPDELAY(); |
143 | } while (!(scc.cha_b_ctrl & 0x01)); /* wait for rx buf filled */ | 143 | } while (!(atari_scc.cha_b_ctrl & 0x01)); /* wait for rx buf filled */ |
144 | MFPDELAY(); | 144 | MFPDELAY(); |
145 | return scc.cha_b_data; | 145 | return atari_scc.cha_b_data; |
146 | } | 146 | } |
147 | 147 | ||
148 | int atari_midi_console_wait_key(struct console *co) | 148 | int atari_midi_console_wait_key(struct console *co) |
@@ -185,9 +185,9 @@ static void __init atari_init_mfp_port(int cflag) | |||
185 | 185 | ||
186 | #define SCC_WRITE(reg, val) \ | 186 | #define SCC_WRITE(reg, val) \ |
187 | do { \ | 187 | do { \ |
188 | scc.cha_b_ctrl = (reg); \ | 188 | atari_scc.cha_b_ctrl = (reg); \ |
189 | MFPDELAY(); \ | 189 | MFPDELAY(); \ |
190 | scc.cha_b_ctrl = (val); \ | 190 | atari_scc.cha_b_ctrl = (val); \ |
191 | MFPDELAY(); \ | 191 | MFPDELAY(); \ |
192 | } while (0) | 192 | } while (0) |
193 | 193 | ||
@@ -240,7 +240,7 @@ static void __init atari_init_scc_port(int cflag) | |||
240 | reg3 = (cflag & CSIZE) == CS8 ? 0xc0 : 0x40; | 240 | reg3 = (cflag & CSIZE) == CS8 ? 0xc0 : 0x40; |
241 | reg5 = (cflag & CSIZE) == CS8 ? 0x60 : 0x20 | 0x82 /* assert DTR/RTS */; | 241 | reg5 = (cflag & CSIZE) == CS8 ? 0x60 : 0x20 | 0x82 /* assert DTR/RTS */; |
242 | 242 | ||
243 | (void)scc.cha_b_ctrl; /* reset reg pointer */ | 243 | (void)atari_scc.cha_b_ctrl; /* reset reg pointer */ |
244 | SCC_WRITE(9, 0xc0); /* reset */ | 244 | SCC_WRITE(9, 0xc0); /* reset */ |
245 | LONG_DELAY(); /* extra delay after WR9 access */ | 245 | LONG_DELAY(); /* extra delay after WR9 access */ |
246 | SCC_WRITE(4, (cflag & PARENB) ? ((cflag & PARODD) ? 0x01 : 0x03) | 246 | SCC_WRITE(4, (cflag & PARENB) ? ((cflag & PARODD) ? 0x01 : 0x03) |
diff --git a/arch/m68k/include/asm/atarihw.h b/arch/m68k/include/asm/atarihw.h index a714e1aa072a..f51f709bbf30 100644 --- a/arch/m68k/include/asm/atarihw.h +++ b/arch/m68k/include/asm/atarihw.h | |||
@@ -449,7 +449,7 @@ struct SCC | |||
449 | u_char char_dummy3; | 449 | u_char char_dummy3; |
450 | u_char cha_b_data; | 450 | u_char cha_b_data; |
451 | }; | 451 | }; |
452 | # define scc ((*(volatile struct SCC*)SCC_BAS)) | 452 | # define atari_scc ((*(volatile struct SCC*)SCC_BAS)) |
453 | 453 | ||
454 | /* The ESCC (Z85230) in an Atari ST. The channels are reversed! */ | 454 | /* The ESCC (Z85230) in an Atari ST. The channels are reversed! */ |
455 | # define st_escc ((*(volatile struct SCC*)0xfffffa31)) | 455 | # define st_escc ((*(volatile struct SCC*)0xfffffa31)) |
diff --git a/arch/m68k/include/asm/string.h b/arch/m68k/include/asm/string.h index 2936dda938d7..65b131282837 100644 --- a/arch/m68k/include/asm/string.h +++ b/arch/m68k/include/asm/string.h | |||
@@ -81,18 +81,6 @@ static inline char *strncpy(char *dest, const char *src, size_t n) | |||
81 | strcpy(__d + strlen(__d), (s)); \ | 81 | strcpy(__d + strlen(__d), (s)); \ |
82 | }) | 82 | }) |
83 | 83 | ||
84 | #define __HAVE_ARCH_STRCHR | ||
85 | static inline char *strchr(const char *s, int c) | ||
86 | { | ||
87 | char sc, ch = c; | ||
88 | |||
89 | for (; (sc = *s++) != ch; ) { | ||
90 | if (!sc) | ||
91 | return NULL; | ||
92 | } | ||
93 | return (char *)s - 1; | ||
94 | } | ||
95 | |||
96 | #ifndef CONFIG_COLDFIRE | 84 | #ifndef CONFIG_COLDFIRE |
97 | #define __HAVE_ARCH_STRCMP | 85 | #define __HAVE_ARCH_STRCMP |
98 | static inline int strcmp(const char *cs, const char *ct) | 86 | static inline int strcmp(const char *cs, const char *ct) |
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 704e7b92334c..8b9dacaa0f6e 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -2,6 +2,7 @@ config M68K | |||
2 | bool | 2 | bool |
3 | default y | 3 | default y |
4 | select HAVE_IDE | 4 | select HAVE_IDE |
5 | select HAVE_GENERIC_HARDIRQS | ||
5 | 6 | ||
6 | config MMU | 7 | config MMU |
7 | bool | 8 | bool |
@@ -48,14 +49,6 @@ config GENERIC_HWEIGHT | |||
48 | bool | 49 | bool |
49 | default y | 50 | default y |
50 | 51 | ||
51 | config GENERIC_HARDIRQS | ||
52 | bool | ||
53 | default y | ||
54 | |||
55 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
56 | bool | ||
57 | default y | ||
58 | |||
59 | config GENERIC_CALIBRATE_DELAY | 52 | config GENERIC_CALIBRATE_DELAY |
60 | bool | 53 | bool |
61 | default y | 54 | default y |
diff --git a/arch/m68knommu/configs/m5208evb_defconfig b/arch/m68knommu/configs/m5208evb_defconfig index 6ac2981a2cdf..2f5655c577af 100644 --- a/arch/m68knommu/configs/m5208evb_defconfig +++ b/arch/m68knommu/configs/m5208evb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/configs/m5249evb_defconfig b/arch/m68knommu/configs/m5249evb_defconfig index 14934ff8d5c3..16df72bfbd45 100644 --- a/arch/m68knommu/configs/m5249evb_defconfig +++ b/arch/m68knommu/configs/m5249evb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/configs/m5272c3_defconfig b/arch/m68knommu/configs/m5272c3_defconfig index 5985a3b593d8..4e6ea50c7f33 100644 --- a/arch/m68knommu/configs/m5272c3_defconfig +++ b/arch/m68knommu/configs/m5272c3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/configs/m5275evb_defconfig b/arch/m68knommu/configs/m5275evb_defconfig index 5a7857efb45d..f3dd74115a34 100644 --- a/arch/m68knommu/configs/m5275evb_defconfig +++ b/arch/m68knommu/configs/m5275evb_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/configs/m5307c3_defconfig b/arch/m68knommu/configs/m5307c3_defconfig index e8102018c8d4..bce0a20c3737 100644 --- a/arch/m68knommu/configs/m5307c3_defconfig +++ b/arch/m68knommu/configs/m5307c3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/configs/m5407c3_defconfig b/arch/m68knommu/configs/m5407c3_defconfig index 5c124a7ba2a7..618cc32691f2 100644 --- a/arch/m68knommu/configs/m5407c3_defconfig +++ b/arch/m68knommu/configs/m5407c3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/m68knommu/defconfig b/arch/m68knommu/defconfig index 6ac2981a2cdf..2f5655c577af 100644 --- a/arch/m68knommu/defconfig +++ b/arch/m68knommu/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_LOG_BUF_SHIFT=14 | 2 | CONFIG_LOG_BUF_SHIFT=14 |
3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 3 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | # CONFIG_HOTPLUG is not set | 6 | # CONFIG_HOTPLUG is not set |
7 | # CONFIG_FUTEX is not set | 7 | # CONFIG_FUTEX is not set |
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 5f5018a71a3d..31680032053e 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig | |||
@@ -15,6 +15,8 @@ config MICROBLAZE | |||
15 | select TRACING_SUPPORT | 15 | select TRACING_SUPPORT |
16 | select OF | 16 | select OF |
17 | select OF_EARLY_FLATTREE | 17 | select OF_EARLY_FLATTREE |
18 | select HAVE_GENERIC_HARDIRQS | ||
19 | select GENERIC_IRQ_PROBE | ||
18 | 20 | ||
19 | config SWAP | 21 | config SWAP |
20 | def_bool n | 22 | def_bool n |
@@ -37,12 +39,6 @@ config GENERIC_FIND_NEXT_BIT | |||
37 | config GENERIC_HWEIGHT | 39 | config GENERIC_HWEIGHT |
38 | def_bool y | 40 | def_bool y |
39 | 41 | ||
40 | config GENERIC_HARDIRQS | ||
41 | def_bool y | ||
42 | |||
43 | config GENERIC_IRQ_PROBE | ||
44 | def_bool y | ||
45 | |||
46 | config GENERIC_CALIBRATE_DELAY | 42 | config GENERIC_CALIBRATE_DELAY |
47 | def_bool y | 43 | def_bool y |
48 | 44 | ||
@@ -52,9 +48,6 @@ config GENERIC_TIME_VSYSCALL | |||
52 | config GENERIC_CLOCKEVENTS | 48 | config GENERIC_CLOCKEVENTS |
53 | def_bool y | 49 | def_bool y |
54 | 50 | ||
55 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
56 | def_bool y | ||
57 | |||
58 | config GENERIC_GPIO | 51 | config GENERIC_GPIO |
59 | def_bool y | 52 | def_bool y |
60 | 53 | ||
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index ab8fbe7ad90b..b3f5eecff2a7 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
7 | CONFIG_INITRAMFS_SOURCE="rootfs.cpio" | 7 | CONFIG_INITRAMFS_SOURCE="rootfs.cpio" |
8 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y | 8 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_KALLSYMS_ALL=y | 11 | CONFIG_KALLSYMS_ALL=y |
12 | CONFIG_KALLSYMS_EXTRA_PASS=y | 12 | CONFIG_KALLSYMS_EXTRA_PASS=y |
13 | # CONFIG_HOTPLUG is not set | 13 | # CONFIG_HOTPLUG is not set |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index ebc143c5368e..0249e4b7e1d3 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_BSD_PROCESS_ACCT_V3=y | |||
6 | CONFIG_IKCONFIG=y | 6 | CONFIG_IKCONFIG=y |
7 | CONFIG_IKCONFIG_PROC=y | 7 | CONFIG_IKCONFIG_PROC=y |
8 | CONFIG_SYSFS_DEPRECATED_V2=y | 8 | CONFIG_SYSFS_DEPRECATED_V2=y |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_KALLSYMS_ALL=y | 10 | CONFIG_KALLSYMS_ALL=y |
11 | CONFIG_KALLSYMS_EXTRA_PASS=y | 11 | CONFIG_KALLSYMS_EXTRA_PASS=y |
12 | # CONFIG_HOTPLUG is not set | 12 | # CONFIG_HOTPLUG is not set |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 548e6cc3bc28..f5ecc0566bc2 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -793,9 +793,6 @@ config SCHED_OMIT_FRAME_POINTER | |||
793 | bool | 793 | bool |
794 | default y | 794 | default y |
795 | 795 | ||
796 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
797 | def_bool y | ||
798 | |||
799 | # | 796 | # |
800 | # Select some configuration options automatically based on user selections. | 797 | # Select some configuration options automatically based on user selections. |
801 | # | 798 | # |
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index f437cd1fafb8..5358f90b4dd2 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug | |||
@@ -7,7 +7,7 @@ config TRACE_IRQFLAGS_SUPPORT | |||
7 | source "lib/Kconfig.debug" | 7 | source "lib/Kconfig.debug" |
8 | 8 | ||
9 | config EARLY_PRINTK | 9 | config EARLY_PRINTK |
10 | bool "Early printk" if EMBEDDED | 10 | bool "Early printk" if EXPERT |
11 | depends on SYS_HAS_EARLY_PRINTK | 11 | depends on SYS_HAS_EARLY_PRINTK |
12 | default y | 12 | default y |
13 | help | 13 | help |
diff --git a/arch/mips/configs/ar7_defconfig b/arch/mips/configs/ar7_defconfig index c78c7e7e41df..6cd5a519ce5c 100644 --- a/arch/mips/configs/ar7_defconfig +++ b/arch/mips/configs/ar7_defconfig | |||
@@ -14,7 +14,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
14 | CONFIG_RELAY=y | 14 | CONFIG_RELAY=y |
15 | CONFIG_BLK_DEV_INITRD=y | 15 | CONFIG_BLK_DEV_INITRD=y |
16 | CONFIG_RD_LZMA=y | 16 | CONFIG_RD_LZMA=y |
17 | CONFIG_EMBEDDED=y | 17 | CONFIG_EXPERT=y |
18 | # CONFIG_KALLSYMS is not set | 18 | # CONFIG_KALLSYMS is not set |
19 | # CONFIG_ELF_CORE is not set | 19 | # CONFIG_ELF_CORE is not set |
20 | # CONFIG_PCSPKR_PLATFORM is not set | 20 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/bcm47xx_defconfig b/arch/mips/configs/bcm47xx_defconfig index 927d58b2cd03..22fdf2f0cc23 100644 --- a/arch/mips/configs/bcm47xx_defconfig +++ b/arch/mips/configs/bcm47xx_defconfig | |||
@@ -21,7 +21,7 @@ CONFIG_CGROUP_CPUACCT=y | |||
21 | CONFIG_RELAY=y | 21 | CONFIG_RELAY=y |
22 | CONFIG_BLK_DEV_INITRD=y | 22 | CONFIG_BLK_DEV_INITRD=y |
23 | CONFIG_RD_LZMA=y | 23 | CONFIG_RD_LZMA=y |
24 | CONFIG_EMBEDDED=y | 24 | CONFIG_EXPERT=y |
25 | CONFIG_SLAB=y | 25 | CONFIG_SLAB=y |
26 | CONFIG_MODULES=y | 26 | CONFIG_MODULES=y |
27 | CONFIG_MODULE_UNLOAD=y | 27 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/bcm63xx_defconfig b/arch/mips/configs/bcm63xx_defconfig index b806a4e32896..919005139f5a 100644 --- a/arch/mips/configs/bcm63xx_defconfig +++ b/arch/mips/configs/bcm63xx_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_EXPERIMENTAL=y | |||
10 | # CONFIG_SWAP is not set | 10 | # CONFIG_SWAP is not set |
11 | CONFIG_TINY_RCU=y | 11 | CONFIG_TINY_RCU=y |
12 | CONFIG_SYSFS_DEPRECATED_V2=y | 12 | CONFIG_SYSFS_DEPRECATED_V2=y |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | # CONFIG_PCSPKR_PLATFORM is not set | 14 | # CONFIG_PCSPKR_PLATFORM is not set |
15 | # CONFIG_FUTEX is not set | 15 | # CONFIG_FUTEX is not set |
16 | # CONFIG_EPOLL is not set | 16 | # CONFIG_EPOLL is not set |
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index 9749bc8758db..1cdff6b6327d 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_defconfig | |||
@@ -26,7 +26,7 @@ CONFIG_PID_NS=y | |||
26 | CONFIG_NET_NS=y | 26 | CONFIG_NET_NS=y |
27 | CONFIG_BLK_DEV_INITRD=y | 27 | CONFIG_BLK_DEV_INITRD=y |
28 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 28 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
29 | CONFIG_EMBEDDED=y | 29 | CONFIG_EXPERT=y |
30 | # CONFIG_SYSCTL_SYSCALL is not set | 30 | # CONFIG_SYSCTL_SYSCALL is not set |
31 | # CONFIG_PCSPKR_PLATFORM is not set | 31 | # CONFIG_PCSPKR_PLATFORM is not set |
32 | CONFIG_SLAB=y | 32 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index 502a8e9c084b..5135dc0b950a 100644 --- a/arch/mips/configs/capcella_defconfig +++ b/arch/mips/configs/capcella_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/cavium-octeon_defconfig b/arch/mips/configs/cavium-octeon_defconfig index 3567b6f07b37..75165dfa60c1 100644 --- a/arch/mips/configs/cavium-octeon_defconfig +++ b/arch/mips/configs/cavium-octeon_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
15 | CONFIG_RELAY=y | 15 | CONFIG_RELAY=y |
16 | CONFIG_BLK_DEV_INITRD=y | 16 | CONFIG_BLK_DEV_INITRD=y |
17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
18 | CONFIG_EMBEDDED=y | 18 | CONFIG_EXPERT=y |
19 | # CONFIG_PCSPKR_PLATFORM is not set | 19 | # CONFIG_PCSPKR_PLATFORM is not set |
20 | CONFIG_SLAB=y | 20 | CONFIG_SLAB=y |
21 | CONFIG_MODULES=y | 21 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 6c4f7e9d3383..5419adb219a8 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_RELAY=y | 5 | CONFIG_RELAY=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
10 | # CONFIG_BLK_DEV_BSG is not set | 10 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index dda158b2c8dc..4044c9e0fb73 100644 --- a/arch/mips/configs/db1000_defconfig +++ b/arch/mips/configs/db1000_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_POSIX_MQUEUE=y | |||
11 | CONFIG_TINY_RCU=y | 11 | CONFIG_TINY_RCU=y |
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_KALLSYMS is not set | 15 | # CONFIG_KALLSYMS is not set |
16 | # CONFIG_PCSPKR_PLATFORM is not set | 16 | # CONFIG_PCSPKR_PLATFORM is not set |
17 | # CONFIG_VM_EVENT_COUNTERS is not set | 17 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index 7e4fc76df538..c6b49938ee84 100644 --- a/arch/mips/configs/db1100_defconfig +++ b/arch/mips/configs/db1100_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_SYSVIPC=y | |||
11 | CONFIG_POSIX_MQUEUE=y | 11 | CONFIG_POSIX_MQUEUE=y |
12 | CONFIG_TINY_RCU=y | 12 | CONFIG_TINY_RCU=y |
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_SYSCTL_SYSCALL is not set | 15 | # CONFIG_SYSCTL_SYSCALL is not set |
16 | # CONFIG_KALLSYMS is not set | 16 | # CONFIG_KALLSYMS is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 6fe205fa7b61..1f69249b839a 100644 --- a/arch/mips/configs/db1200_defconfig +++ b/arch/mips/configs/db1200_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_SYSVIPC=y | |||
12 | CONFIG_POSIX_MQUEUE=y | 12 | CONFIG_POSIX_MQUEUE=y |
13 | CONFIG_TINY_RCU=y | 13 | CONFIG_TINY_RCU=y |
14 | CONFIG_LOG_BUF_SHIFT=14 | 14 | CONFIG_LOG_BUF_SHIFT=14 |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | # CONFIG_SYSCTL_SYSCALL is not set | 16 | # CONFIG_SYSCTL_SYSCALL is not set |
17 | # CONFIG_KALLSYMS is not set | 17 | # CONFIG_KALLSYMS is not set |
18 | # CONFIG_PCSPKR_PLATFORM is not set | 18 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index a741c55448d0..b6e21c7cb6bd 100644 --- a/arch/mips/configs/db1500_defconfig +++ b/arch/mips/configs/db1500_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_LOCALVERSION="-db1500" | |||
10 | CONFIG_KERNEL_LZMA=y | 10 | CONFIG_KERNEL_LZMA=y |
11 | CONFIG_SYSVIPC=y | 11 | CONFIG_SYSVIPC=y |
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | # CONFIG_KALLSYMS is not set | 14 | # CONFIG_KALLSYMS is not set |
15 | # CONFIG_PCSPKR_PLATFORM is not set | 15 | # CONFIG_PCSPKR_PLATFORM is not set |
16 | # CONFIG_VM_EVENT_COUNTERS is not set | 16 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index cd32dd8c8008..798a553c9e80 100644 --- a/arch/mips/configs/db1550_defconfig +++ b/arch/mips/configs/db1550_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_SYSVIPC=y | |||
11 | CONFIG_POSIX_MQUEUE=y | 11 | CONFIG_POSIX_MQUEUE=y |
12 | CONFIG_TINY_RCU=y | 12 | CONFIG_TINY_RCU=y |
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_SYSCTL_SYSCALL is not set | 15 | # CONFIG_SYSCTL_SYSCALL is not set |
16 | # CONFIG_KALLSYMS is not set | 16 | # CONFIG_KALLSYMS is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index b15bfd1e69c8..87d0340837aa 100644 --- a/arch/mips/configs/decstation_defconfig +++ b/arch/mips/configs/decstation_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index 0b60c06a943d..0126e66d60cb 100644 --- a/arch/mips/configs/e55_defconfig +++ b/arch/mips/configs/e55_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_HOTPLUG is not set | 8 | # CONFIG_HOTPLUG is not set |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/fuloong2e_defconfig b/arch/mips/configs/fuloong2e_defconfig index 63944a14b816..e5b73de08fc5 100644 --- a/arch/mips/configs/fuloong2e_defconfig +++ b/arch/mips/configs/fuloong2e_defconfig | |||
@@ -17,7 +17,7 @@ CONFIG_NAMESPACES=y | |||
17 | CONFIG_USER_NS=y | 17 | CONFIG_USER_NS=y |
18 | CONFIG_PID_NS=y | 18 | CONFIG_PID_NS=y |
19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
20 | CONFIG_EMBEDDED=y | 20 | CONFIG_EXPERT=y |
21 | # CONFIG_PCSPKR_PLATFORM is not set | 21 | # CONFIG_PCSPKR_PLATFORM is not set |
22 | # CONFIG_COMPAT_BRK is not set | 22 | # CONFIG_COMPAT_BRK is not set |
23 | CONFIG_SLAB=y | 23 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/gpr_defconfig b/arch/mips/configs/gpr_defconfig index 53edc134f274..48a40aefaf58 100644 --- a/arch/mips/configs/gpr_defconfig +++ b/arch/mips/configs/gpr_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_BSD_PROCESS_ACCT_V3=y | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_PROFILING=y | 16 | CONFIG_PROFILING=y |
17 | CONFIG_MODULES=y | 17 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index 36de199f4c27..d1606569b001 100644 --- a/arch/mips/configs/ip22_defconfig +++ b/arch/mips/configs/ip22_defconfig | |||
@@ -17,7 +17,7 @@ CONFIG_IPC_NS=y | |||
17 | CONFIG_USER_NS=y | 17 | CONFIG_USER_NS=y |
18 | CONFIG_PID_NS=y | 18 | CONFIG_PID_NS=y |
19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 19 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
20 | CONFIG_EMBEDDED=y | 20 | CONFIG_EXPERT=y |
21 | # CONFIG_HOTPLUG is not set | 21 | # CONFIG_HOTPLUG is not set |
22 | # CONFIG_PCSPKR_PLATFORM is not set | 22 | # CONFIG_PCSPKR_PLATFORM is not set |
23 | # CONFIG_COMPAT_BRK is not set | 23 | # CONFIG_COMPAT_BRK is not set |
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index 4b16c48b0c36..0e36abcd39cc 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_CGROUPS=y | |||
15 | CONFIG_CPUSETS=y | 15 | CONFIG_CPUSETS=y |
16 | CONFIG_RELAY=y | 16 | CONFIG_RELAY=y |
17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
18 | CONFIG_EMBEDDED=y | 18 | CONFIG_EXPERT=y |
19 | # CONFIG_PCSPKR_PLATFORM is not set | 19 | # CONFIG_PCSPKR_PLATFORM is not set |
20 | CONFIG_SLAB=y | 20 | CONFIG_SLAB=y |
21 | CONFIG_MODULES=y | 21 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/ip28_defconfig b/arch/mips/configs/ip28_defconfig index 98f2c7736e87..4dbf6269b3f9 100644 --- a/arch/mips/configs/ip28_defconfig +++ b/arch/mips/configs/ip28_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y | |||
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | CONFIG_RELAY=y | 9 | CONFIG_RELAY=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_HOTPLUG is not set | 12 | # CONFIG_HOTPLUG is not set |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
14 | CONFIG_MODULES=y | 14 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index 5bea99b26fa8..7bbd52194fc3 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_SYSFS_DEPRECATED_V2=y | 11 | CONFIG_SYSFS_DEPRECATED_V2=y |
12 | CONFIG_RELAY=y | 12 | CONFIG_RELAY=y |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | CONFIG_SLAB=y | 14 | CONFIG_SLAB=y |
15 | CONFIG_PROFILING=y | 15 | CONFIG_PROFILING=y |
16 | CONFIG_OPROFILE=m | 16 | CONFIG_OPROFILE=m |
diff --git a/arch/mips/configs/jazz_defconfig b/arch/mips/configs/jazz_defconfig index 6ae46bcdb20b..92a60aecad5c 100644 --- a/arch/mips/configs/jazz_defconfig +++ b/arch/mips/configs/jazz_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | # CONFIG_SYSCTL_SYSCALL is not set | 14 | # CONFIG_SYSCTL_SYSCALL is not set |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index bf24e9309b9c..db5705e18b36 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_TOSHIBA_JMR3927=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_HOTPLUG is not set | 8 | # CONFIG_HOTPLUG is not set |
9 | # CONFIG_PCSPKR_PLATFORM is not set | 9 | # CONFIG_PCSPKR_PLATFORM is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/lasat_defconfig b/arch/mips/configs/lasat_defconfig index 6447261c61d0..d9f3db29ab95 100644 --- a/arch/mips/configs/lasat_defconfig +++ b/arch/mips/configs/lasat_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_HZ_1000=y | |||
8 | CONFIG_EXPERIMENTAL=y | 8 | CONFIG_EXPERIMENTAL=y |
9 | CONFIG_SYSVIPC=y | 9 | CONFIG_SYSVIPC=y |
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_SYSCTL_SYSCALL is not set | 12 | # CONFIG_SYSCTL_SYSCALL is not set |
13 | # CONFIG_KALLSYMS is not set | 13 | # CONFIG_KALLSYMS is not set |
14 | # CONFIG_HOTPLUG is not set | 14 | # CONFIG_HOTPLUG is not set |
diff --git a/arch/mips/configs/lemote2f_defconfig b/arch/mips/configs/lemote2f_defconfig index f7033f3a5822..167c1d07b809 100644 --- a/arch/mips/configs/lemote2f_defconfig +++ b/arch/mips/configs/lemote2f_defconfig | |||
@@ -21,7 +21,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
21 | CONFIG_RD_BZIP2=y | 21 | CONFIG_RD_BZIP2=y |
22 | CONFIG_RD_LZMA=y | 22 | CONFIG_RD_LZMA=y |
23 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 23 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
24 | CONFIG_EMBEDDED=y | 24 | CONFIG_EXPERT=y |
25 | CONFIG_PROFILING=y | 25 | CONFIG_PROFILING=y |
26 | CONFIG_OPROFILE=m | 26 | CONFIG_OPROFILE=m |
27 | CONFIG_MODULES=y | 27 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index 9d03b68aece8..7270f3183bda 100644 --- a/arch/mips/configs/malta_defconfig +++ b/arch/mips/configs/malta_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_UTS_NS=y | |||
15 | CONFIG_IPC_NS=y | 15 | CONFIG_IPC_NS=y |
16 | CONFIG_PID_NS=y | 16 | CONFIG_PID_NS=y |
17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
18 | CONFIG_EMBEDDED=y | 18 | CONFIG_EXPERT=y |
19 | # CONFIG_SYSCTL_SYSCALL is not set | 19 | # CONFIG_SYSCTL_SYSCALL is not set |
20 | # CONFIG_COMPAT_BRK is not set | 20 | # CONFIG_COMPAT_BRK is not set |
21 | CONFIG_SLAB=y | 21 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/markeins_defconfig b/arch/mips/configs/markeins_defconfig index 86bf001babe9..9c9a123016c0 100644 --- a/arch/mips/configs/markeins_defconfig +++ b/arch/mips/configs/markeins_defconfig | |||
@@ -9,7 +9,7 @@ CONFIG_IKCONFIG=y | |||
9 | CONFIG_IKCONFIG_PROC=y | 9 | CONFIG_IKCONFIG_PROC=y |
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 11 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
12 | CONFIG_EMBEDDED=y | 12 | CONFIG_EXPERT=y |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
14 | CONFIG_MODULES=y | 14 | CONFIG_MODULES=y |
15 | CONFIG_MODULE_UNLOAD=y | 15 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index 4925f507dc21..b5ad7387bbb0 100644 --- a/arch/mips/configs/mipssim_defconfig +++ b/arch/mips/configs/mipssim_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_EXPERIMENTAL=y | |||
7 | CONFIG_SYSVIPC=y | 7 | CONFIG_SYSVIPC=y |
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_SLAB=y | 11 | CONFIG_SLAB=y |
12 | CONFIG_MODULES=y | 12 | CONFIG_MODULES=y |
13 | CONFIG_MODULE_UNLOAD=y | 13 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index efb779f8f6fe..c16de9812920 100644 --- a/arch/mips/configs/mpc30x_defconfig +++ b/arch/mips/configs/mpc30x_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_RELAY=y | 6 | CONFIG_RELAY=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/msp71xx_defconfig b/arch/mips/configs/msp71xx_defconfig index ab051458452b..d1142e9cd9a1 100644 --- a/arch/mips/configs/msp71xx_defconfig +++ b/arch/mips/configs/msp71xx_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_LOCALVERSION="-pmc" | |||
8 | CONFIG_SYSVIPC=y | 8 | CONFIG_SYSVIPC=y |
9 | CONFIG_LOG_BUF_SHIFT=14 | 9 | CONFIG_LOG_BUF_SHIFT=14 |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_SHMEM is not set | 12 | # CONFIG_SHMEM is not set |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
14 | CONFIG_MODULES=y | 14 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/mtx1_defconfig b/arch/mips/configs/mtx1_defconfig index 814699754e0d..a97a42c6b2c8 100644 --- a/arch/mips/configs/mtx1_defconfig +++ b/arch/mips/configs/mtx1_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_AUDIT=y | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_PROFILING=y | 16 | CONFIG_PROFILING=y |
17 | CONFIG_OPROFILE=m | 17 | CONFIG_OPROFILE=m |
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 1597aa1842fa..75eb1b1f316c 100644 --- a/arch/mips/configs/pb1100_defconfig +++ b/arch/mips/configs/pb1100_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_SYSVIPC=y | |||
11 | CONFIG_POSIX_MQUEUE=y | 11 | CONFIG_POSIX_MQUEUE=y |
12 | CONFIG_TINY_RCU=y | 12 | CONFIG_TINY_RCU=y |
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_SYSCTL_SYSCALL is not set | 15 | # CONFIG_SYSCTL_SYSCALL is not set |
16 | # CONFIG_KALLSYMS is not set | 16 | # CONFIG_KALLSYMS is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/pb1200_defconfig b/arch/mips/configs/pb1200_defconfig index 96f0d43cf08b..dcbe2704e5ed 100644 --- a/arch/mips/configs/pb1200_defconfig +++ b/arch/mips/configs/pb1200_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_SYSVIPC=y | |||
12 | CONFIG_POSIX_MQUEUE=y | 12 | CONFIG_POSIX_MQUEUE=y |
13 | CONFIG_TINY_RCU=y | 13 | CONFIG_TINY_RCU=y |
14 | CONFIG_LOG_BUF_SHIFT=14 | 14 | CONFIG_LOG_BUF_SHIFT=14 |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | # CONFIG_SYSCTL_SYSCALL is not set | 16 | # CONFIG_SYSCTL_SYSCALL is not set |
17 | # CONFIG_KALLSYMS is not set | 17 | # CONFIG_KALLSYMS is not set |
18 | # CONFIG_PCSPKR_PLATFORM is not set | 18 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index b4bfd4823458..fa00487146f8 100644 --- a/arch/mips/configs/pb1500_defconfig +++ b/arch/mips/configs/pb1500_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_SYSVIPC=y | |||
11 | CONFIG_POSIX_MQUEUE=y | 11 | CONFIG_POSIX_MQUEUE=y |
12 | CONFIG_TINY_RCU=y | 12 | CONFIG_TINY_RCU=y |
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_SYSCTL_SYSCALL is not set | 15 | # CONFIG_SYSCTL_SYSCALL is not set |
16 | # CONFIG_KALLSYMS is not set | 16 | # CONFIG_KALLSYMS is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index 5a660024d22a..e83d6497e8b4 100644 --- a/arch/mips/configs/pb1550_defconfig +++ b/arch/mips/configs/pb1550_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_SYSVIPC=y | |||
11 | CONFIG_POSIX_MQUEUE=y | 11 | CONFIG_POSIX_MQUEUE=y |
12 | CONFIG_TINY_RCU=y | 12 | CONFIG_TINY_RCU=y |
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | # CONFIG_SYSCTL_SYSCALL is not set | 15 | # CONFIG_SYSCTL_SYSCALL is not set |
16 | # CONFIG_KALLSYMS is not set | 16 | # CONFIG_KALLSYMS is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/pnx8335-stb225_defconfig b/arch/mips/configs/pnx8335-stb225_defconfig index 39926a1a96b6..f2925769dfa3 100644 --- a/arch/mips/configs/pnx8335-stb225_defconfig +++ b/arch/mips/configs/pnx8335-stb225_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_EXPERIMENTAL=y | |||
11 | CONFIG_SYSVIPC=y | 11 | CONFIG_SYSVIPC=y |
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | CONFIG_SYSFS_DEPRECATED_V2=y | 13 | CONFIG_SYSFS_DEPRECATED_V2=y |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
17 | CONFIG_MODULE_UNLOAD=y | 17 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index 3376bc8616cc..1d1f2067f3e6 100644 --- a/arch/mips/configs/pnx8550-jbs_defconfig +++ b/arch/mips/configs/pnx8550-jbs_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_SYSCTL_SYSCALL is not set | 10 | # CONFIG_SYSCTL_SYSCALL is not set |
11 | CONFIG_SLAB=y | 11 | CONFIG_SLAB=y |
12 | CONFIG_MODULES=y | 12 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/pnx8550-stb810_defconfig b/arch/mips/configs/pnx8550-stb810_defconfig index 6514f1bf0afb..15c66a571f99 100644 --- a/arch/mips/configs/pnx8550-stb810_defconfig +++ b/arch/mips/configs/pnx8550-stb810_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_SYSCTL_SYSCALL is not set | 10 | # CONFIG_SYSCTL_SYSCALL is not set |
11 | # CONFIG_HOTPLUG is not set | 11 | # CONFIG_HOTPLUG is not set |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/powertv_defconfig b/arch/mips/configs/powertv_defconfig index f1f58e91dd80..3b0b6e8c8533 100644 --- a/arch/mips/configs/powertv_defconfig +++ b/arch/mips/configs/powertv_defconfig | |||
@@ -14,7 +14,7 @@ CONFIG_RELAY=y | |||
14 | CONFIG_BLK_DEV_INITRD=y | 14 | CONFIG_BLK_DEV_INITRD=y |
15 | # CONFIG_RD_GZIP is not set | 15 | # CONFIG_RD_GZIP is not set |
16 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 16 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
17 | CONFIG_EMBEDDED=y | 17 | CONFIG_EXPERT=y |
18 | # CONFIG_SYSCTL_SYSCALL is not set | 18 | # CONFIG_SYSCTL_SYSCALL is not set |
19 | CONFIG_KALLSYMS_ALL=y | 19 | CONFIG_KALLSYMS_ALL=y |
20 | # CONFIG_PCSPKR_PLATFORM is not set | 20 | # CONFIG_PCSPKR_PLATFORM is not set |
diff --git a/arch/mips/configs/rb532_defconfig b/arch/mips/configs/rb532_defconfig index d6457bc38c71..55902d9cd0f2 100644 --- a/arch/mips/configs/rb532_defconfig +++ b/arch/mips/configs/rb532_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_IKCONFIG_PROC=y | |||
13 | CONFIG_LOG_BUF_SHIFT=14 | 13 | CONFIG_LOG_BUF_SHIFT=14 |
14 | CONFIG_SYSFS_DEPRECATED_V2=y | 14 | CONFIG_SYSFS_DEPRECATED_V2=y |
15 | CONFIG_BLK_DEV_INITRD=y | 15 | CONFIG_BLK_DEV_INITRD=y |
16 | CONFIG_EMBEDDED=y | 16 | CONFIG_EXPERT=y |
17 | # CONFIG_KALLSYMS is not set | 17 | # CONFIG_KALLSYMS is not set |
18 | # CONFIG_ELF_CORE is not set | 18 | # CONFIG_ELF_CORE is not set |
19 | # CONFIG_VM_EVENT_COUNTERS is not set | 19 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/mips/configs/rbtx49xx_defconfig b/arch/mips/configs/rbtx49xx_defconfig index 29acfab31516..9cba856277ff 100644 --- a/arch/mips/configs/rbtx49xx_defconfig +++ b/arch/mips/configs/rbtx49xx_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_IKCONFIG_PROC=y | |||
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | CONFIG_SYSFS_DEPRECATED_V2=y | 13 | CONFIG_SYSFS_DEPRECATED_V2=y |
14 | CONFIG_BLK_DEV_INITRD=y | 14 | CONFIG_BLK_DEV_INITRD=y |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | # CONFIG_HOTPLUG is not set | 16 | # CONFIG_HOTPLUG is not set |
17 | # CONFIG_PCSPKR_PLATFORM is not set | 17 | # CONFIG_PCSPKR_PLATFORM is not set |
18 | # CONFIG_EPOLL is not set | 18 | # CONFIG_EPOLL is not set |
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 2b3e47653f60..2c0230e76d20 100644 --- a/arch/mips/configs/rm200_defconfig +++ b/arch/mips/configs/rm200_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_IKCONFIG_PROC=y | |||
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | CONFIG_RELAY=y | 13 | CONFIG_RELAY=y |
14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | CONFIG_SLAB=y | 16 | CONFIG_SLAB=y |
17 | CONFIG_MODULES=y | 17 | CONFIG_MODULES=y |
18 | CONFIG_MODULE_UNLOAD=y | 18 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index 64840d717750..5b0463ef9389 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_RELAY=y | |||
15 | CONFIG_NAMESPACES=y | 15 | CONFIG_NAMESPACES=y |
16 | CONFIG_BLK_DEV_INITRD=y | 16 | CONFIG_BLK_DEV_INITRD=y |
17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
18 | CONFIG_EMBEDDED=y | 18 | CONFIG_EXPERT=y |
19 | # CONFIG_COMPAT_BRK is not set | 19 | # CONFIG_COMPAT_BRK is not set |
20 | CONFIG_SLAB=y | 20 | CONFIG_SLAB=y |
21 | CONFIG_MODULES=y | 21 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/tb0219_defconfig b/arch/mips/configs/tb0219_defconfig index d9be37fc9cb7..30036b4cbeb1 100644 --- a/arch/mips/configs/tb0219_defconfig +++ b/arch/mips/configs/tb0219_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_PCSPKR_PLATFORM is not set | 9 | # CONFIG_PCSPKR_PLATFORM is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index 3d25dd08907b..81bfa1d4d8e3 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_PCSPKR_PLATFORM is not set | 9 | # CONFIG_PCSPKR_PLATFORM is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig index be697c9b23c6..c415c4f0e5c2 100644 --- a/arch/mips/configs/tb0287_defconfig +++ b/arch/mips/configs/tb0287_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_SYSFS_DEPRECATED_V2=y | 5 | CONFIG_SYSFS_DEPRECATED_V2=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_PCSPKR_PLATFORM is not set | 9 | # CONFIG_PCSPKR_PLATFORM is not set |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index 7ec9287254d8..ee4b2be43c44 100644 --- a/arch/mips/configs/workpad_defconfig +++ b/arch/mips/configs/workpad_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mips/configs/wrppmc_defconfig b/arch/mips/configs/wrppmc_defconfig index a231b73b1a40..44a451be359e 100644 --- a/arch/mips/configs/wrppmc_defconfig +++ b/arch/mips/configs/wrppmc_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_KALLSYMS_EXTRA_PASS=y | 11 | CONFIG_KALLSYMS_EXTRA_PASS=y |
12 | # CONFIG_EPOLL is not set | 12 | # CONFIG_EPOLL is not set |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index ab3a3dcec04d..f72d305a3f08 100644 --- a/arch/mips/configs/yosemite_defconfig +++ b/arch/mips/configs/yosemite_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG=y | |||
8 | CONFIG_IKCONFIG_PROC=y | 8 | CONFIG_IKCONFIG_PROC=y |
9 | CONFIG_LOG_BUF_SHIFT=14 | 9 | CONFIG_LOG_BUF_SHIFT=14 |
10 | CONFIG_RELAY=y | 10 | CONFIG_RELAY=y |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | CONFIG_SLAB=y | 12 | CONFIG_SLAB=y |
13 | CONFIG_MODULES=y | 13 | CONFIG_MODULES=y |
14 | CONFIG_MODULE_UNLOAD=y | 14 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index 8ed41cf2b08d..243bfa23fd58 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config MN10300 | 1 | config MN10300 |
2 | def_bool y | 2 | def_bool y |
3 | select HAVE_OPROFILE | 3 | select HAVE_OPROFILE |
4 | select GENERIC_HARDIRQS | ||
4 | 5 | ||
5 | config AM33_2 | 6 | config AM33_2 |
6 | def_bool n | 7 | def_bool n |
@@ -34,9 +35,6 @@ config RWSEM_GENERIC_SPINLOCK | |||
34 | config RWSEM_XCHGADD_ALGORITHM | 35 | config RWSEM_XCHGADD_ALGORITHM |
35 | bool | 36 | bool |
36 | 37 | ||
37 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
38 | def_bool y | ||
39 | |||
40 | config GENERIC_CALIBRATE_DELAY | 38 | config GENERIC_CALIBRATE_DELAY |
41 | def_bool y | 39 | def_bool y |
42 | 40 | ||
@@ -79,10 +77,6 @@ config QUICKLIST | |||
79 | config ARCH_HAS_ILOG2_U32 | 77 | config ARCH_HAS_ILOG2_U32 |
80 | def_bool y | 78 | def_bool y |
81 | 79 | ||
82 | # Use the generic interrupt handling code in kernel/irq/ | ||
83 | config GENERIC_HARDIRQS | ||
84 | def_bool y | ||
85 | |||
86 | config HOTPLUG_CPU | 80 | config HOTPLUG_CPU |
87 | def_bool n | 81 | def_bool n |
88 | 82 | ||
diff --git a/arch/mn10300/configs/asb2303_defconfig b/arch/mn10300/configs/asb2303_defconfig index 3f749b69ca71..1fd41ec1dfb5 100644 --- a/arch/mn10300/configs/asb2303_defconfig +++ b/arch/mn10300/configs/asb2303_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
4 | CONFIG_TINY_RCU=y | 4 | CONFIG_TINY_RCU=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_VM_EVENT_COUNTERS is not set | 10 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/mn10300/configs/asb2364_defconfig b/arch/mn10300/configs/asb2364_defconfig index 83ce2f27b12a..31d76261a3d5 100644 --- a/arch/mn10300/configs/asb2364_defconfig +++ b/arch/mn10300/configs/asb2364_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_CGROUP_CPUACCT=y | |||
15 | CONFIG_RESOURCE_COUNTERS=y | 15 | CONFIG_RESOURCE_COUNTERS=y |
16 | CONFIG_RELAY=y | 16 | CONFIG_RELAY=y |
17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 17 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
18 | CONFIG_EMBEDDED=y | 18 | CONFIG_EXPERT=y |
19 | # CONFIG_KALLSYMS is not set | 19 | # CONFIG_KALLSYMS is not set |
20 | # CONFIG_VM_EVENT_COUNTERS is not set | 20 | # CONFIG_VM_EVENT_COUNTERS is not set |
21 | CONFIG_SLAB=y | 21 | CONFIG_SLAB=y |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 0888675c98dd..fed2946f7335 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -12,7 +12,10 @@ config PARISC | |||
12 | select HAVE_IRQ_WORK | 12 | select HAVE_IRQ_WORK |
13 | select HAVE_PERF_EVENTS | 13 | select HAVE_PERF_EVENTS |
14 | select GENERIC_ATOMIC64 if !64BIT | 14 | select GENERIC_ATOMIC64 if !64BIT |
15 | select GENERIC_HARDIRQS_NO__DO_IRQ | 15 | select HAVE_GENERIC_HARDIRQS |
16 | select GENERIC_IRQ_PROBE | ||
17 | select IRQ_PER_CPU | ||
18 | |||
16 | help | 19 | help |
17 | The PA-RISC microprocessor is designed by Hewlett-Packard and used | 20 | The PA-RISC microprocessor is designed by Hewlett-Packard and used |
18 | in many of their workstations & servers (HP9000 700 and 800 series, | 21 | in many of their workstations & servers (HP9000 700 and 800 series, |
@@ -66,22 +69,9 @@ config TIME_LOW_RES | |||
66 | depends on SMP | 69 | depends on SMP |
67 | default y | 70 | default y |
68 | 71 | ||
69 | config GENERIC_HARDIRQS | ||
70 | def_bool y | ||
71 | |||
72 | config GENERIC_IRQ_PROBE | ||
73 | def_bool y | ||
74 | |||
75 | config HAVE_LATENCYTOP_SUPPORT | 72 | config HAVE_LATENCYTOP_SUPPORT |
76 | def_bool y | 73 | def_bool y |
77 | 74 | ||
78 | config IRQ_PER_CPU | ||
79 | bool | ||
80 | default y | ||
81 | |||
82 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
83 | def_bool y | ||
84 | |||
85 | # unless you want to implement ACPI on PA-RISC ... ;-) | 75 | # unless you want to implement ACPI on PA-RISC ... ;-) |
86 | config PM | 76 | config PM |
87 | bool | 77 | bool |
diff --git a/arch/parisc/configs/a500_defconfig b/arch/parisc/configs/a500_defconfig index f9305f30603a..b647b182dacc 100644 --- a/arch/parisc/configs/a500_defconfig +++ b/arch/parisc/configs/a500_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_LOG_BUF_SHIFT=16 | |||
8 | CONFIG_SYSFS_DEPRECATED_V2=y | 8 | CONFIG_SYSFS_DEPRECATED_V2=y |
9 | CONFIG_BLK_DEV_INITRD=y | 9 | CONFIG_BLK_DEV_INITRD=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | CONFIG_KALLSYMS_ALL=y | 12 | CONFIG_KALLSYMS_ALL=y |
13 | CONFIG_SLAB=y | 13 | CONFIG_SLAB=y |
14 | CONFIG_PROFILING=y | 14 | CONFIG_PROFILING=y |
diff --git a/arch/parisc/configs/c3000_defconfig b/arch/parisc/configs/c3000_defconfig index 628d3e022535..311ca367b622 100644 --- a/arch/parisc/configs/c3000_defconfig +++ b/arch/parisc/configs/c3000_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=16 | 6 | CONFIG_LOG_BUF_SHIFT=16 |
7 | CONFIG_SYSFS_DEPRECATED_V2=y | 7 | CONFIG_SYSFS_DEPRECATED_V2=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_KALLSYMS_ALL=y | 10 | CONFIG_KALLSYMS_ALL=y |
11 | CONFIG_SLAB=y | 11 | CONFIG_SLAB=y |
12 | CONFIG_PROFILING=y | 12 | CONFIG_PROFILING=y |
diff --git a/arch/parisc/kernel/pdc_cons.c b/arch/parisc/kernel/pdc_cons.c index 11bdd68e5762..fc770be465ff 100644 --- a/arch/parisc/kernel/pdc_cons.c +++ b/arch/parisc/kernel/pdc_cons.c | |||
@@ -169,11 +169,11 @@ static int __init pdc_console_tty_driver_init(void) | |||
169 | 169 | ||
170 | struct console *tmp; | 170 | struct console *tmp; |
171 | 171 | ||
172 | acquire_console_sem(); | 172 | console_lock(); |
173 | for_each_console(tmp) | 173 | for_each_console(tmp) |
174 | if (tmp == &pdc_cons) | 174 | if (tmp == &pdc_cons) |
175 | break; | 175 | break; |
176 | release_console_sem(); | 176 | console_unlock(); |
177 | 177 | ||
178 | if (!tmp) { | 178 | if (!tmp) { |
179 | printk(KERN_INFO "PDC console driver not registered anymore, not creating %s\n", pdc_cons.name); | 179 | printk(KERN_INFO "PDC console driver not registered anymore, not creating %s\n", pdc_cons.name); |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 959f38ccb9a7..7d69e9bf5e64 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -36,24 +36,12 @@ config GENERIC_TIME_VSYSCALL | |||
36 | config GENERIC_CLOCKEVENTS | 36 | config GENERIC_CLOCKEVENTS |
37 | def_bool y | 37 | def_bool y |
38 | 38 | ||
39 | config GENERIC_HARDIRQS | ||
40 | bool | ||
41 | default y | ||
42 | |||
43 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
44 | bool | ||
45 | default y | ||
46 | |||
47 | config HAVE_SETUP_PER_CPU_AREA | 39 | config HAVE_SETUP_PER_CPU_AREA |
48 | def_bool PPC64 | 40 | def_bool PPC64 |
49 | 41 | ||
50 | config NEED_PER_CPU_EMBED_FIRST_CHUNK | 42 | config NEED_PER_CPU_EMBED_FIRST_CHUNK |
51 | def_bool PPC64 | 43 | def_bool PPC64 |
52 | 44 | ||
53 | config IRQ_PER_CPU | ||
54 | bool | ||
55 | default y | ||
56 | |||
57 | config NR_IRQS | 45 | config NR_IRQS |
58 | int "Number of virtual interrupt numbers" | 46 | int "Number of virtual interrupt numbers" |
59 | range 32 32768 | 47 | range 32 32768 |
@@ -143,6 +131,9 @@ config PPC | |||
143 | select HAVE_PERF_EVENTS | 131 | select HAVE_PERF_EVENTS |
144 | select HAVE_REGS_AND_STACK_ACCESS_API | 132 | select HAVE_REGS_AND_STACK_ACCESS_API |
145 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 | 133 | select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 |
134 | select HAVE_GENERIC_HARDIRQS | ||
135 | select HAVE_SPARSE_IRQ | ||
136 | select IRQ_PER_CPU | ||
146 | 137 | ||
147 | config EARLY_PRINTK | 138 | config EARLY_PRINTK |
148 | bool | 139 | bool |
@@ -392,19 +383,6 @@ config IRQ_ALL_CPUS | |||
392 | CPU. Generally saying Y is safe, although some problems have been | 383 | CPU. Generally saying Y is safe, although some problems have been |
393 | reported with SMP Power Macintoshes with this option enabled. | 384 | reported with SMP Power Macintoshes with this option enabled. |
394 | 385 | ||
395 | config SPARSE_IRQ | ||
396 | bool "Support sparse irq numbering" | ||
397 | default n | ||
398 | help | ||
399 | This enables support for sparse irqs. This is useful for distro | ||
400 | kernels that want to define a high CONFIG_NR_CPUS value but still | ||
401 | want to have low kernel memory footprint on smaller machines. | ||
402 | |||
403 | ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread | ||
404 | out the irq_desc[] array in a more NUMA-friendly way. ) | ||
405 | |||
406 | If you don't know what to do here, say N. | ||
407 | |||
408 | config NUMA | 386 | config NUMA |
409 | bool "NUMA support" | 387 | bool "NUMA support" |
410 | depends on PPC64 | 388 | depends on PPC64 |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 96deec63bcf3..89178164af5e 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -368,7 +368,7 @@ INSTALL := install | |||
368 | extra-installed := $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y)) | 368 | extra-installed := $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y)) |
369 | hostprogs-installed := $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs-y)) | 369 | hostprogs-installed := $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs-y)) |
370 | wrapper-installed := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper | 370 | wrapper-installed := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper |
371 | dts-installed := $(patsubst $(obj)/dts/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(obj)/dts/*.dts)) | 371 | dts-installed := $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts)) |
372 | 372 | ||
373 | all-installed := $(extra-installed) $(hostprogs-installed) $(wrapper-installed) $(dts-installed) | 373 | all-installed := $(extra-installed) $(hostprogs-installed) $(wrapper-installed) $(dts-installed) |
374 | 374 | ||
diff --git a/arch/powerpc/boot/dts/mpc8308rdb.dts b/arch/powerpc/boot/dts/mpc8308rdb.dts index d3db02f98ddd..a0bd1881081e 100644 --- a/arch/powerpc/boot/dts/mpc8308rdb.dts +++ b/arch/powerpc/boot/dts/mpc8308rdb.dts | |||
@@ -109,7 +109,7 @@ | |||
109 | #address-cells = <1>; | 109 | #address-cells = <1>; |
110 | #size-cells = <1>; | 110 | #size-cells = <1>; |
111 | device_type = "soc"; | 111 | device_type = "soc"; |
112 | compatible = "fsl,mpc8315-immr", "simple-bus"; | 112 | compatible = "fsl,mpc8308-immr", "simple-bus"; |
113 | ranges = <0 0xe0000000 0x00100000>; | 113 | ranges = <0 0xe0000000 0x00100000>; |
114 | reg = <0xe0000000 0x00000200>; | 114 | reg = <0xe0000000 0x00000200>; |
115 | bus-frequency = <0>; | 115 | bus-frequency = <0>; |
diff --git a/arch/powerpc/boot/dts/p1022ds.dts b/arch/powerpc/boot/dts/p1022ds.dts index 2bbecbb4cbf9..69422eb24d97 100644 --- a/arch/powerpc/boot/dts/p1022ds.dts +++ b/arch/powerpc/boot/dts/p1022ds.dts | |||
@@ -291,13 +291,13 @@ | |||
291 | ranges = <0x0 0xc100 0x200>; | 291 | ranges = <0x0 0xc100 0x200>; |
292 | cell-index = <1>; | 292 | cell-index = <1>; |
293 | dma00: dma-channel@0 { | 293 | dma00: dma-channel@0 { |
294 | compatible = "fsl,eloplus-dma-channel"; | 294 | compatible = "fsl,ssi-dma-channel"; |
295 | reg = <0x0 0x80>; | 295 | reg = <0x0 0x80>; |
296 | cell-index = <0>; | 296 | cell-index = <0>; |
297 | interrupts = <76 2>; | 297 | interrupts = <76 2>; |
298 | }; | 298 | }; |
299 | dma01: dma-channel@80 { | 299 | dma01: dma-channel@80 { |
300 | compatible = "fsl,eloplus-dma-channel"; | 300 | compatible = "fsl,ssi-dma-channel"; |
301 | reg = <0x80 0x80>; | 301 | reg = <0x80 0x80>; |
302 | cell-index = <1>; | 302 | cell-index = <1>; |
303 | interrupts = <77 2>; | 303 | interrupts = <77 2>; |
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig index 97fedceaa30b..4182c772340b 100644 --- a/arch/powerpc/configs/40x/acadia_defconfig +++ b/arch/powerpc/configs/40x/acadia_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig index 33b3c24f4edd..2dbb293163f5 100644 --- a/arch/powerpc/configs/40x/ep405_defconfig +++ b/arch/powerpc/configs/40x/ep405_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/40x/hcu4_defconfig b/arch/powerpc/configs/40x/hcu4_defconfig index 4613079a0ab1..ebeb4accad65 100644 --- a/arch/powerpc/configs/40x/hcu4_defconfig +++ b/arch/powerpc/configs/40x/hcu4_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig index 34b8c1a1e752..532ea9d93a15 100644 --- a/arch/powerpc/configs/40x/kilauea_defconfig +++ b/arch/powerpc/configs/40x/kilauea_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig index 651be09136fa..3c142ac1b344 100644 --- a/arch/powerpc/configs/40x/makalu_defconfig +++ b/arch/powerpc/configs/40x/makalu_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig index ded455e18339..ff57d4828ffc 100644 --- a/arch/powerpc/configs/40x/walnut_defconfig +++ b/arch/powerpc/configs/40x/walnut_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig index 63746a041d6b..3ed16d5c909d 100644 --- a/arch/powerpc/configs/44x/arches_defconfig +++ b/arch/powerpc/configs/44x/arches_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig index f5f2a4e3e21b..b1b7d2c5c059 100644 --- a/arch/powerpc/configs/44x/bamboo_defconfig +++ b/arch/powerpc/configs/44x/bamboo_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/bluestone_defconfig b/arch/powerpc/configs/44x/bluestone_defconfig index ac65b48b8ccd..30a0a8e08fdd 100644 --- a/arch/powerpc/configs/44x/bluestone_defconfig +++ b/arch/powerpc/configs/44x/bluestone_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_POSIX_MQUEUE=y | 4 | CONFIG_POSIX_MQUEUE=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_VM_EVENT_COUNTERS is not set | 8 | # CONFIG_VM_EVENT_COUNTERS is not set |
9 | # CONFIG_PCI_QUIRKS is not set | 9 | # CONFIG_PCI_QUIRKS is not set |
10 | # CONFIG_COMPAT_BRK is not set | 10 | # CONFIG_COMPAT_BRK is not set |
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig index 17e4dd98eed7..a46942aac695 100644 --- a/arch/powerpc/configs/44x/canyonlands_defconfig +++ b/arch/powerpc/configs/44x/canyonlands_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig index fedd03fdf5d5..07d77e51f1ba 100644 --- a/arch/powerpc/configs/44x/ebony_defconfig +++ b/arch/powerpc/configs/44x/ebony_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/44x/eiger_defconfig b/arch/powerpc/configs/44x/eiger_defconfig index ebff7011282e..2ce7e9aff09e 100644 --- a/arch/powerpc/configs/44x/eiger_defconfig +++ b/arch/powerpc/configs/44x/eiger_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/icon_defconfig b/arch/powerpc/configs/44x/icon_defconfig index 865e93fb41fd..18730ff9de7c 100644 --- a/arch/powerpc/configs/44x/icon_defconfig +++ b/arch/powerpc/configs/44x/icon_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
12 | # CONFIG_BLK_DEV_BSG is not set | 12 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/iss476-smp_defconfig b/arch/powerpc/configs/44x/iss476-smp_defconfig index 8ece4c774415..92f863ac8443 100644 --- a/arch/powerpc/configs/44x/iss476-smp_defconfig +++ b/arch/powerpc/configs/44x/iss476-smp_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
7 | CONFIG_SYSFS_DEPRECATED_V2=y | 7 | CONFIG_SYSFS_DEPRECATED_V2=y |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | CONFIG_KALLSYMS_ALL=y | 11 | CONFIG_KALLSYMS_ALL=y |
12 | CONFIG_KALLSYMS_EXTRA_PASS=y | 12 | CONFIG_KALLSYMS_EXTRA_PASS=y |
13 | CONFIG_PROFILING=y | 13 | CONFIG_PROFILING=y |
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig index 4ca9b4873c51..34c09144a699 100644 --- a/arch/powerpc/configs/44x/katmai_defconfig +++ b/arch/powerpc/configs/44x/katmai_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig index e3b65d24207e..21c33faf61a2 100644 --- a/arch/powerpc/configs/44x/rainier_defconfig +++ b/arch/powerpc/configs/44x/rainier_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/redwood_defconfig b/arch/powerpc/configs/44x/redwood_defconfig index 64cd0f3421a9..01cc2b1a7f9a 100644 --- a/arch/powerpc/configs/44x/redwood_defconfig +++ b/arch/powerpc/configs/44x/redwood_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig index 01d03367917e..dfcffede16ad 100644 --- a/arch/powerpc/configs/44x/sam440ep_defconfig +++ b/arch/powerpc/configs/44x/sam440ep_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_MODULES=y | 10 | CONFIG_MODULES=y |
11 | CONFIG_MODULE_UNLOAD=y | 11 | CONFIG_MODULE_UNLOAD=y |
12 | # CONFIG_BLK_DEV_BSG is not set | 12 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig index 89b2f9626137..47e399f2892f 100644 --- a/arch/powerpc/configs/44x/sequoia_defconfig +++ b/arch/powerpc/configs/44x/sequoia_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig index e3386cf6f5b7..a6a002ed5681 100644 --- a/arch/powerpc/configs/44x/taishan_defconfig +++ b/arch/powerpc/configs/44x/taishan_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
11 | # CONFIG_BLK_DEV_BSG is not set | 11 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig index 9c13b9dffafa..6cf9d6614805 100644 --- a/arch/powerpc/configs/44x/warp_defconfig +++ b/arch/powerpc/configs/44x/warp_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y | |||
8 | CONFIG_LOG_BUF_SHIFT=14 | 8 | CONFIG_LOG_BUF_SHIFT=14 |
9 | CONFIG_BLK_DEV_INITRD=y | 9 | CONFIG_BLK_DEV_INITRD=y |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | CONFIG_MODULES=y | 12 | CONFIG_MODULES=y |
13 | CONFIG_MODULE_UNLOAD=y | 13 | CONFIG_MODULE_UNLOAD=y |
14 | # CONFIG_BLK_DEV_BSG is not set | 14 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/52xx/cm5200_defconfig b/arch/powerpc/configs/52xx/cm5200_defconfig index f234c4d0b15c..69b57daf402e 100644 --- a/arch/powerpc/configs/52xx/cm5200_defconfig +++ b/arch/powerpc/configs/52xx/cm5200_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/52xx/lite5200b_defconfig b/arch/powerpc/configs/52xx/lite5200b_defconfig index a4a795c80740..f3638ae0a627 100644 --- a/arch/powerpc/configs/52xx/lite5200b_defconfig +++ b/arch/powerpc/configs/52xx/lite5200b_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/52xx/motionpro_defconfig b/arch/powerpc/configs/52xx/motionpro_defconfig index 20d53a1aa7e4..6828eda02bdc 100644 --- a/arch/powerpc/configs/52xx/motionpro_defconfig +++ b/arch/powerpc/configs/52xx/motionpro_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/52xx/pcm030_defconfig b/arch/powerpc/configs/52xx/pcm030_defconfig index 6bd58338bf1a..7f7e4a878602 100644 --- a/arch/powerpc/configs/52xx/pcm030_defconfig +++ b/arch/powerpc/configs/52xx/pcm030_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG=y | |||
8 | CONFIG_IKCONFIG_PROC=y | 8 | CONFIG_IKCONFIG_PROC=y |
9 | CONFIG_LOG_BUF_SHIFT=14 | 9 | CONFIG_LOG_BUF_SHIFT=14 |
10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 10 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | # CONFIG_SYSCTL_SYSCALL is not set | 12 | # CONFIG_SYSCTL_SYSCALL is not set |
13 | # CONFIG_VM_EVENT_COUNTERS is not set | 13 | # CONFIG_VM_EVENT_COUNTERS is not set |
14 | CONFIG_SLAB=y | 14 | CONFIG_SLAB=y |
diff --git a/arch/powerpc/configs/52xx/tqm5200_defconfig b/arch/powerpc/configs/52xx/tqm5200_defconfig index 3a1f70292d9d..959cd2cfc275 100644 --- a/arch/powerpc/configs/52xx/tqm5200_defconfig +++ b/arch/powerpc/configs/52xx/tqm5200_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_SYSCTL_SYSCALL is not set | 7 | # CONFIG_SYSCTL_SYSCALL is not set |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_EPOLL is not set | 9 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig index eed42d8919e8..d2762d9dcb8e 100644 --- a/arch/powerpc/configs/83xx/asp8347_defconfig +++ b/arch/powerpc/configs/83xx/asp8347_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
10 | CONFIG_MODULE_UNLOAD=y | 10 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/kmeter1_defconfig b/arch/powerpc/configs/83xx/kmeter1_defconfig index e43ecb27dfd7..7a7b731c5735 100644 --- a/arch/powerpc/configs/83xx/kmeter1_defconfig +++ b/arch/powerpc/configs/83xx/kmeter1_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_POSIX_MQUEUE=y | 4 | CONFIG_POSIX_MQUEUE=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_HOTPLUG is not set | 7 | # CONFIG_HOTPLUG is not set |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig index c2e6ab51d335..c683bce4c26e 100644 --- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig index 1d3b20065913..a721cd3d793f 100644 --- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig index 91fe73bd5ad2..a5699a1f7d0a 100644 --- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig index 6d300f205604..b4da1a7e6449 100644 --- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig index b236a67e01fe..291f8221d5a6 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig index 001dead3cde9..f8b228aaa03a 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig index 9dccefca00c3..99660c062191 100644 --- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig index d4b165d7d294..10b5c4cd0e72 100644 --- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig index 89ba67274bda..45925d701d2a 100644 --- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig +++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig index 2ea6b405046a..f367985be6f7 100644 --- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_SLAB=y | 7 | CONFIG_SLAB=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig index bffe3c775030..414eda381591 100644 --- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_SLAB=y | 7 | CONFIG_SLAB=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig index fa5c9eefc9ad..6d6463fe06fc 100644 --- a/arch/powerpc/configs/83xx/sbc834x_defconfig +++ b/arch/powerpc/configs/83xx/sbc834x_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_KALLSYMS is not set | 7 | # CONFIG_KALLSYMS is not set |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig index 385b1af37d75..8f7c1061891a 100644 --- a/arch/powerpc/configs/85xx/ksi8560_defconfig +++ b/arch/powerpc/configs/85xx/ksi8560_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | CONFIG_KSI8560=y | 9 | CONFIG_KSI8560=y |
10 | CONFIG_CPM2=y | 10 | CONFIG_CPM2=y |
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig index 222b704c1f4b..55e0725500dc 100644 --- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | CONFIG_MPC8540_ADS=y | 9 | CONFIG_MPC8540_ADS=y |
10 | CONFIG_NO_HZ=y | 10 | CONFIG_NO_HZ=y |
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig index 619702de9477..d724095530a6 100644 --- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig +++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | CONFIG_MPC8560_ADS=y | 9 | CONFIG_MPC8560_ADS=y |
10 | CONFIG_BINFMT_MISC=y | 10 | CONFIG_BINFMT_MISC=y |
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig index 6bf56e83f957..4b44beaa21ae 100644 --- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | CONFIG_MPC85xx_CDS=y | 9 | CONFIG_MPC85xx_CDS=y |
10 | CONFIG_NO_HZ=y | 10 | CONFIG_NO_HZ=y |
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig index a9a17d055766..5b2b651dfb98 100644 --- a/arch/powerpc/configs/85xx/sbc8548_defconfig +++ b/arch/powerpc/configs/85xx/sbc8548_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | # CONFIG_BLK_DEV_BSG is not set | 9 | # CONFIG_BLK_DEV_BSG is not set |
10 | CONFIG_SBC8548=y | 10 | CONFIG_SBC8548=y |
diff --git a/arch/powerpc/configs/85xx/sbc8560_defconfig b/arch/powerpc/configs/85xx/sbc8560_defconfig index 820e32d8c42b..f7fdb0318e4c 100644 --- a/arch/powerpc/configs/85xx/sbc8560_defconfig +++ b/arch/powerpc/configs/85xx/sbc8560_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | # CONFIG_BLK_DEV_BSG is not set | 9 | # CONFIG_BLK_DEV_BSG is not set |
10 | CONFIG_SBC8560=y | 10 | CONFIG_SBC8560=y |
diff --git a/arch/powerpc/configs/85xx/socrates_defconfig b/arch/powerpc/configs/85xx/socrates_defconfig index b6db3f47af99..77506b5d5a41 100644 --- a/arch/powerpc/configs/85xx/socrates_defconfig +++ b/arch/powerpc/configs/85xx/socrates_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=16 | 4 | CONFIG_LOG_BUF_SHIFT=16 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig index 333a41bd2a68..5d4db154bf59 100644 --- a/arch/powerpc/configs/85xx/stx_gp3_defconfig +++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODVERSIONS=y | 9 | CONFIG_MODVERSIONS=y |
10 | # CONFIG_BLK_DEV_BSG is not set | 10 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8540_defconfig b/arch/powerpc/configs/85xx/tqm8540_defconfig index 33db352f847e..ddcb9f37fa1f 100644 --- a/arch/powerpc/configs/85xx/tqm8540_defconfig +++ b/arch/powerpc/configs/85xx/tqm8540_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8541_defconfig b/arch/powerpc/configs/85xx/tqm8541_defconfig index f0c20dfbd4d3..981abd6d4b57 100644 --- a/arch/powerpc/configs/85xx/tqm8541_defconfig +++ b/arch/powerpc/configs/85xx/tqm8541_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig index a883450dcdfa..37b3d7227cdd 100644 --- a/arch/powerpc/configs/85xx/tqm8548_defconfig +++ b/arch/powerpc/configs/85xx/tqm8548_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
10 | # CONFIG_BLK_DEV_BSG is not set | 10 | # CONFIG_BLK_DEV_BSG is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8555_defconfig b/arch/powerpc/configs/85xx/tqm8555_defconfig index ff95f90dc171..3593b320c97c 100644 --- a/arch/powerpc/configs/85xx/tqm8555_defconfig +++ b/arch/powerpc/configs/85xx/tqm8555_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/85xx/tqm8560_defconfig b/arch/powerpc/configs/85xx/tqm8560_defconfig index 8d6c90ea4783..de413acc34d6 100644 --- a/arch/powerpc/configs/85xx/tqm8560_defconfig +++ b/arch/powerpc/configs/85xx/tqm8560_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_KALLSYMS is not set | 8 | # CONFIG_KALLSYMS is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_EPOLL is not set | 10 | # CONFIG_EPOLL is not set |
diff --git a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig index f53efe4a0e0c..5ea3124518fd 100644 --- a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig +++ b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_IKCONFIG_PROC=y | |||
11 | CONFIG_LOG_BUF_SHIFT=14 | 11 | CONFIG_LOG_BUF_SHIFT=14 |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_KALLSYMS_ALL=y | 15 | CONFIG_KALLSYMS_ALL=y |
16 | CONFIG_KALLSYMS_EXTRA_PASS=y | 16 | CONFIG_KALLSYMS_EXTRA_PASS=y |
17 | CONFIG_MODULES=y | 17 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig index 432ebc28d25c..4b2441244eab 100644 --- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig +++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
17 | CONFIG_MODULE_UNLOAD=y | 17 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig index ce5e919d9b55..a360ba44b928 100644 --- a/arch/powerpc/configs/86xx/gef_sbc310_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc310_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
17 | CONFIG_MODULE_UNLOAD=y | 17 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig index 589e71e6dc1c..be2829dd129f 100644 --- a/arch/powerpc/configs/86xx/gef_sbc610_defconfig +++ b/arch/powerpc/configs/86xx/gef_sbc610_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
17 | CONFIG_MODULE_UNLOAD=y | 17 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig index 321fb47096d9..036bfb2d18cd 100644 --- a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig +++ b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
12 | CONFIG_MODULES=y | 12 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig index b5e46399374e..0c9c7ed7ec75 100644 --- a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +++ b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_BLK_DEV_INITRD=y | 11 | CONFIG_BLK_DEV_INITRD=y |
12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | CONFIG_KALLSYMS_ALL=y | 14 | CONFIG_KALLSYMS_ALL=y |
15 | CONFIG_KALLSYMS_EXTRA_PASS=y | 15 | CONFIG_KALLSYMS_EXTRA_PASS=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig index 71145c3a64db..0a92ca045641 100644 --- a/arch/powerpc/configs/86xx/sbc8641d_defconfig +++ b/arch/powerpc/configs/86xx/sbc8641d_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
11 | CONFIG_RELAY=y | 11 | CONFIG_RELAY=y |
12 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
14 | CONFIG_EMBEDDED=y | 14 | CONFIG_EXPERT=y |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
17 | CONFIG_MODULE_UNLOAD=y | 17 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig index ca84c7fc24d5..69128740c14d 100644 --- a/arch/powerpc/configs/adder875_defconfig +++ b/arch/powerpc/configs/adder875_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
10 | # CONFIG_BASE_FULL is not set | 10 | # CONFIG_BASE_FULL is not set |
diff --git a/arch/powerpc/configs/e55xx_smp_defconfig b/arch/powerpc/configs/e55xx_smp_defconfig index 94d120ef99cf..06f95492afc7 100644 --- a/arch/powerpc/configs/e55xx_smp_defconfig +++ b/arch/powerpc/configs/e55xx_smp_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
12 | CONFIG_SYSFS_DEPRECATED_V2=y | 12 | CONFIG_SYSFS_DEPRECATED_V2=y |
13 | CONFIG_BLK_DEV_INITRD=y | 13 | CONFIG_BLK_DEV_INITRD=y |
14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | CONFIG_KALLSYMS_ALL=y | 16 | CONFIG_KALLSYMS_ALL=y |
17 | CONFIG_KALLSYMS_EXTRA_PASS=y | 17 | CONFIG_KALLSYMS_EXTRA_PASS=y |
18 | CONFIG_MODULES=y | 18 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig index 2677b08199e7..fceffb3cffbe 100644 --- a/arch/powerpc/configs/ep8248e_defconfig +++ b/arch/powerpc/configs/ep8248e_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_SYSVIPC=y | |||
2 | CONFIG_IKCONFIG=y | 2 | CONFIG_IKCONFIG=y |
3 | CONFIG_IKCONFIG_PROC=y | 3 | CONFIG_IKCONFIG_PROC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_KALLSYMS_ALL=y | 6 | CONFIG_KALLSYMS_ALL=y |
7 | CONFIG_SLAB=y | 7 | CONFIG_SLAB=y |
8 | # CONFIG_IOSCHED_CFQ is not set | 8 | # CONFIG_IOSCHED_CFQ is not set |
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig index f9a3112e5442..219fd470ed22 100644 --- a/arch/powerpc/configs/ep88xc_defconfig +++ b/arch/powerpc/configs/ep88xc_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
10 | # CONFIG_BASE_FULL is not set | 10 | # CONFIG_BASE_FULL is not set |
diff --git a/arch/powerpc/configs/gamecube_defconfig b/arch/powerpc/configs/gamecube_defconfig index fcf0a398cd66..e74d3a483705 100644 --- a/arch/powerpc/configs/gamecube_defconfig +++ b/arch/powerpc/configs/gamecube_defconfig | |||
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y | |||
6 | CONFIG_LOG_BUF_SHIFT=14 | 6 | CONFIG_LOG_BUF_SHIFT=14 |
7 | CONFIG_BLK_DEV_INITRD=y | 7 | CONFIG_BLK_DEV_INITRD=y |
8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 8 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EXPERT=y |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | CONFIG_PERF_COUNTERS=y | 11 | CONFIG_PERF_COUNTERS=y |
12 | # CONFIG_VM_EVENT_COUNTERS is not set | 12 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig index b9b63a609525..94ebfee188db 100644 --- a/arch/powerpc/configs/holly_defconfig +++ b/arch/powerpc/configs/holly_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_MODULES=y | 7 | CONFIG_MODULES=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | # CONFIG_PPC_CHRP is not set | 9 | # CONFIG_PPC_CHRP is not set |
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig index c4ed255af18b..39518e91822f 100644 --- a/arch/powerpc/configs/mgcoge_defconfig +++ b/arch/powerpc/configs/mgcoge_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_IKCONFIG=y | |||
3 | CONFIG_IKCONFIG_PROC=y | 3 | CONFIG_IKCONFIG_PROC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_KALLSYMS_ALL=y | 7 | CONFIG_KALLSYMS_ALL=y |
8 | CONFIG_SLAB=y | 8 | CONFIG_SLAB=y |
9 | # CONFIG_IOSCHED_CFQ is not set | 9 | # CONFIG_IOSCHED_CFQ is not set |
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig index f276c7cf555b..2a490626015c 100644 --- a/arch/powerpc/configs/mgsuvd_defconfig +++ b/arch/powerpc/configs/mgsuvd_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_BUG is not set | 10 | # CONFIG_BUG is not set |
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig index 3b9470883de5..75f0bbf0f6e8 100644 --- a/arch/powerpc/configs/mpc7448_hpc2_defconfig +++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y | |||
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_BLK_DEV_BSG is not set | 8 | # CONFIG_BLK_DEV_BSG is not set |
9 | # CONFIG_PPC_CHRP is not set | 9 | # CONFIG_PPC_CHRP is not set |
10 | # CONFIG_PPC_PMAC is not set | 10 | # CONFIG_PPC_PMAC is not set |
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig index c7d68ff1a736..6a22400f73c1 100644 --- a/arch/powerpc/configs/mpc8272_ads_defconfig +++ b/arch/powerpc/configs/mpc8272_ads_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_SYSVIPC=y | |||
2 | CONFIG_IKCONFIG=y | 2 | CONFIG_IKCONFIG=y |
3 | CONFIG_IKCONFIG_PROC=y | 3 | CONFIG_IKCONFIG_PROC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_EMBEDDED=y | 5 | CONFIG_EXPERT=y |
6 | CONFIG_KALLSYMS_ALL=y | 6 | CONFIG_KALLSYMS_ALL=y |
7 | # CONFIG_PPC_CHRP is not set | 7 | # CONFIG_PPC_CHRP is not set |
8 | # CONFIG_PPC_PMAC is not set | 8 | # CONFIG_PPC_PMAC is not set |
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig index 5b1b10fd9740..5aac9a8bc53b 100644 --- a/arch/powerpc/configs/mpc83xx_defconfig +++ b/arch/powerpc/configs/mpc83xx_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y | |||
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 5 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_SLAB=y | 7 | CONFIG_SLAB=y |
8 | CONFIG_MODULES=y | 8 | CONFIG_MODULES=y |
9 | CONFIG_MODULE_UNLOAD=y | 9 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig index 3aeb5949cfef..99a19d1e9bf8 100644 --- a/arch/powerpc/configs/mpc85xx_defconfig +++ b/arch/powerpc/configs/mpc85xx_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_BLK_DEV_INITRD=y | 11 | CONFIG_BLK_DEV_INITRD=y |
12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | CONFIG_KALLSYMS_ALL=y | 14 | CONFIG_KALLSYMS_ALL=y |
15 | CONFIG_KALLSYMS_EXTRA_PASS=y | 15 | CONFIG_KALLSYMS_EXTRA_PASS=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_smp_defconfig index d62c8016f4bc..c636f23f8c92 100644 --- a/arch/powerpc/configs/mpc85xx_smp_defconfig +++ b/arch/powerpc/configs/mpc85xx_smp_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_IKCONFIG_PROC=y | |||
12 | CONFIG_LOG_BUF_SHIFT=14 | 12 | CONFIG_LOG_BUF_SHIFT=14 |
13 | CONFIG_BLK_DEV_INITRD=y | 13 | CONFIG_BLK_DEV_INITRD=y |
14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 14 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
15 | CONFIG_EMBEDDED=y | 15 | CONFIG_EXPERT=y |
16 | CONFIG_KALLSYMS_ALL=y | 16 | CONFIG_KALLSYMS_ALL=y |
17 | CONFIG_KALLSYMS_EXTRA_PASS=y | 17 | CONFIG_KALLSYMS_EXTRA_PASS=y |
18 | CONFIG_MODULES=y | 18 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig index 668215cae890..5c258823e694 100644 --- a/arch/powerpc/configs/mpc866_ads_defconfig +++ b/arch/powerpc/configs/mpc866_ads_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_HOTPLUG is not set | 9 | # CONFIG_HOTPLUG is not set |
10 | # CONFIG_BUG is not set | 10 | # CONFIG_BUG is not set |
diff --git a/arch/powerpc/configs/mpc86xx_defconfig b/arch/powerpc/configs/mpc86xx_defconfig index 63b90d477889..55b54318fef6 100644 --- a/arch/powerpc/configs/mpc86xx_defconfig +++ b/arch/powerpc/configs/mpc86xx_defconfig | |||
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y | |||
10 | CONFIG_LOG_BUF_SHIFT=14 | 10 | CONFIG_LOG_BUF_SHIFT=14 |
11 | CONFIG_BLK_DEV_INITRD=y | 11 | CONFIG_BLK_DEV_INITRD=y |
12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 12 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
13 | CONFIG_EMBEDDED=y | 13 | CONFIG_EXPERT=y |
14 | CONFIG_KALLSYMS_ALL=y | 14 | CONFIG_KALLSYMS_ALL=y |
15 | CONFIG_KALLSYMS_EXTRA_PASS=y | 15 | CONFIG_KALLSYMS_EXTRA_PASS=y |
16 | CONFIG_MODULES=y | 16 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig index f9b83481b00e..9e146cdf63de 100644 --- a/arch/powerpc/configs/mpc885_ads_defconfig +++ b/arch/powerpc/configs/mpc885_ads_defconfig | |||
@@ -4,7 +4,7 @@ CONFIG_EXPERIMENTAL=y | |||
4 | CONFIG_SYSVIPC=y | 4 | CONFIG_SYSVIPC=y |
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 6 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
7 | CONFIG_EMBEDDED=y | 7 | CONFIG_EXPERT=y |
8 | # CONFIG_SYSCTL_SYSCALL is not set | 8 | # CONFIG_SYSCTL_SYSCALL is not set |
9 | # CONFIG_ELF_CORE is not set | 9 | # CONFIG_ELF_CORE is not set |
10 | # CONFIG_BASE_FULL is not set | 10 | # CONFIG_BASE_FULL is not set |
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig index 93d7425ce6cd..bfd634b5ada7 100644 --- a/arch/powerpc/configs/ppc40x_defconfig +++ b/arch/powerpc/configs/ppc40x_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig index 2fa05f7be4cb..47133202a625 100644 --- a/arch/powerpc/configs/ppc44x_defconfig +++ b/arch/powerpc/configs/ppc44x_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_BLK_DEV_INITRD=y | 6 | CONFIG_BLK_DEV_INITRD=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | CONFIG_KALLSYMS_ALL=y | 9 | CONFIG_KALLSYMS_ALL=y |
10 | CONFIG_KALLSYMS_EXTRA_PASS=y | 10 | CONFIG_KALLSYMS_EXTRA_PASS=y |
11 | CONFIG_MODULES=y | 11 | CONFIG_MODULES=y |
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig index a4353bef31c5..baad8db21b61 100644 --- a/arch/powerpc/configs/pq2fads_defconfig +++ b/arch/powerpc/configs/pq2fads_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_IKCONFIG=y | |||
3 | CONFIG_IKCONFIG_PROC=y | 3 | CONFIG_IKCONFIG_PROC=y |
4 | CONFIG_LOG_BUF_SHIFT=14 | 4 | CONFIG_LOG_BUF_SHIFT=14 |
5 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | CONFIG_KALLSYMS_ALL=y | 7 | CONFIG_KALLSYMS_ALL=y |
8 | # CONFIG_PPC_CHRP is not set | 8 | # CONFIG_PPC_CHRP is not set |
9 | # CONFIG_PPC_PMAC is not set | 9 | # CONFIG_PPC_PMAC is not set |
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index 49cffe003657..caba919f65d8 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_SYSVIPC=y | |||
8 | CONFIG_POSIX_MQUEUE=y | 8 | CONFIG_POSIX_MQUEUE=y |
9 | CONFIG_NAMESPACES=y | 9 | CONFIG_NAMESPACES=y |
10 | CONFIG_BLK_DEV_INITRD=y | 10 | CONFIG_BLK_DEV_INITRD=y |
11 | CONFIG_EMBEDDED=y | 11 | CONFIG_EXPERT=y |
12 | CONFIG_KALLSYMS_EXTRA_PASS=y | 12 | CONFIG_KALLSYMS_EXTRA_PASS=y |
13 | # CONFIG_PERF_EVENTS is not set | 13 | # CONFIG_PERF_EVENTS is not set |
14 | # CONFIG_COMPAT_BRK is not set | 14 | # CONFIG_COMPAT_BRK is not set |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index f87f0e15cfa7..9c3f22c6cde1 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -2,7 +2,7 @@ CONFIG_PPC64=y | |||
2 | CONFIG_ALTIVEC=y | 2 | CONFIG_ALTIVEC=y |
3 | CONFIG_VSX=y | 3 | CONFIG_VSX=y |
4 | CONFIG_SMP=y | 4 | CONFIG_SMP=y |
5 | CONFIG_NR_CPUS=128 | 5 | CONFIG_NR_CPUS=1024 |
6 | CONFIG_EXPERIMENTAL=y | 6 | CONFIG_EXPERIMENTAL=y |
7 | CONFIG_SYSVIPC=y | 7 | CONFIG_SYSVIPC=y |
8 | CONFIG_POSIX_MQUEUE=y | 8 | CONFIG_POSIX_MQUEUE=y |
@@ -45,6 +45,8 @@ CONFIG_KEXEC=y | |||
45 | CONFIG_IRQ_ALL_CPUS=y | 45 | CONFIG_IRQ_ALL_CPUS=y |
46 | CONFIG_MEMORY_HOTPLUG=y | 46 | CONFIG_MEMORY_HOTPLUG=y |
47 | CONFIG_MEMORY_HOTREMOVE=y | 47 | CONFIG_MEMORY_HOTREMOVE=y |
48 | CONFIG_PPC_64K_PAGES=y | ||
49 | CONFIG_PPC_SUBPAGE_PROT=y | ||
48 | CONFIG_SCHED_SMT=y | 50 | CONFIG_SCHED_SMT=y |
49 | CONFIG_HOTPLUG_PCI=m | 51 | CONFIG_HOTPLUG_PCI=m |
50 | CONFIG_HOTPLUG_PCI_RPA=m | 52 | CONFIG_HOTPLUG_PCI_RPA=m |
@@ -184,6 +186,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y | |||
184 | CONFIG_E1000=y | 186 | CONFIG_E1000=y |
185 | CONFIG_E1000E=y | 187 | CONFIG_E1000E=y |
186 | CONFIG_TIGON3=y | 188 | CONFIG_TIGON3=y |
189 | CONFIG_BNX2=m | ||
187 | CONFIG_CHELSIO_T1=m | 190 | CONFIG_CHELSIO_T1=m |
188 | CONFIG_CHELSIO_T3=m | 191 | CONFIG_CHELSIO_T3=m |
189 | CONFIG_EHEA=y | 192 | CONFIG_EHEA=y |
@@ -311,9 +314,7 @@ CONFIG_DEBUG_KERNEL=y | |||
311 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 314 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
312 | CONFIG_LATENCYTOP=y | 315 | CONFIG_LATENCYTOP=y |
313 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 316 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
314 | CONFIG_IRQSOFF_TRACER=y | ||
315 | CONFIG_SCHED_TRACER=y | 317 | CONFIG_SCHED_TRACER=y |
316 | CONFIG_STACK_TRACER=y | ||
317 | CONFIG_BLK_DEV_IO_TRACE=y | 318 | CONFIG_BLK_DEV_IO_TRACE=y |
318 | CONFIG_DEBUG_STACKOVERFLOW=y | 319 | CONFIG_DEBUG_STACKOVERFLOW=y |
319 | CONFIG_DEBUG_STACK_USAGE=y | 320 | CONFIG_DEBUG_STACK_USAGE=y |
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig index 4f0c10a62b9d..ebb2a66c99d3 100644 --- a/arch/powerpc/configs/storcenter_defconfig +++ b/arch/powerpc/configs/storcenter_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
3 | CONFIG_LOG_BUF_SHIFT=14 | 3 | CONFIG_LOG_BUF_SHIFT=14 |
4 | CONFIG_EMBEDDED=y | 4 | CONFIG_EXPERT=y |
5 | # CONFIG_KALLSYMS is not set | 5 | # CONFIG_KALLSYMS is not set |
6 | CONFIG_MODULES=y | 6 | CONFIG_MODULES=y |
7 | CONFIG_MODULE_UNLOAD=y | 7 | CONFIG_MODULE_UNLOAD=y |
diff --git a/arch/powerpc/configs/tqm8xx_defconfig b/arch/powerpc/configs/tqm8xx_defconfig index d0a5b6763880..8616fde0896f 100644 --- a/arch/powerpc/configs/tqm8xx_defconfig +++ b/arch/powerpc/configs/tqm8xx_defconfig | |||
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y | |||
5 | CONFIG_LOG_BUF_SHIFT=14 | 5 | CONFIG_LOG_BUF_SHIFT=14 |
6 | CONFIG_SYSFS_DEPRECATED_V2=y | 6 | CONFIG_SYSFS_DEPRECATED_V2=y |
7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 7 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EXPERT=y |
9 | # CONFIG_SYSCTL_SYSCALL is not set | 9 | # CONFIG_SYSCTL_SYSCALL is not set |
10 | # CONFIG_ELF_CORE is not set | 10 | # CONFIG_ELF_CORE is not set |
11 | # CONFIG_BASE_FULL is not set | 11 | # CONFIG_BASE_FULL is not set |
diff --git a/arch/powerpc/configs/wii_defconfig b/arch/powerpc/configs/wii_defconfig index bb8ba75b7c68..175295fbf4f3 100644 --- a/arch/powerpc/configs/wii_defconfig +++ b/arch/powerpc/configs/wii_defconfig | |||
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG_PROC=y | |||
7 | CONFIG_LOG_BUF_SHIFT=14 | 7 | CONFIG_LOG_BUF_SHIFT=14 |
8 | CONFIG_BLK_DEV_INITRD=y | 8 | CONFIG_BLK_DEV_INITRD=y |
9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
10 | CONFIG_EMBEDDED=y | 10 | CONFIG_EXPERT=y |
11 | # CONFIG_ELF_CORE is not set | 11 | # CONFIG_ELF_CORE is not set |
12 | CONFIG_PERF_COUNTERS=y | 12 | CONFIG_PERF_COUNTERS=y |
13 | # CONFIG_VM_EVENT_COUNTERS is not set | 13 | # CONFIG_VM_EVENT_COUNTERS is not set |
diff --git a/arch/powerpc/include/asm/feature-fixups.h b/arch/powerpc/include/asm/feature-fixups.h index 96a7d067fbb2..921a8470e18a 100644 --- a/arch/powerpc/include/asm/feature-fixups.h +++ b/arch/powerpc/include/asm/feature-fixups.h | |||
@@ -37,18 +37,21 @@ label##2: \ | |||
37 | .align 2; \ | 37 | .align 2; \ |
38 | label##3: | 38 | label##3: |
39 | 39 | ||
40 | #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ | 40 | #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect) \ |
41 | label##4: \ | 41 | label##4: \ |
42 | .popsection; \ | 42 | .popsection; \ |
43 | .pushsection sect,"a"; \ | 43 | .pushsection sect,"a"; \ |
44 | .align 3; \ | 44 | .align 3; \ |
45 | label##5: \ | 45 | label##5: \ |
46 | FTR_ENTRY_LONG msk; \ | 46 | FTR_ENTRY_LONG msk; \ |
47 | FTR_ENTRY_LONG val; \ | 47 | FTR_ENTRY_LONG val; \ |
48 | FTR_ENTRY_OFFSET label##1b-label##5b; \ | 48 | FTR_ENTRY_OFFSET label##1b-label##5b; \ |
49 | FTR_ENTRY_OFFSET label##2b-label##5b; \ | 49 | FTR_ENTRY_OFFSET label##2b-label##5b; \ |
50 | FTR_ENTRY_OFFSET label##3b-label##5b; \ | 50 | FTR_ENTRY_OFFSET label##3b-label##5b; \ |
51 | FTR_ENTRY_OFFSET label##4b-label##5b; \ | 51 | FTR_ENTRY_OFFSET label##4b-label##5b; \ |
52 | .ifgt (label##4b-label##3b)-(label##2b-label##1b); \ | ||
53 | .error "Feature section else case larger than body"; \ | ||
54 | .endif; \ | ||
52 | .popsection; | 55 | .popsection; |
53 | 56 | ||
54 | 57 | ||
diff --git a/arch/powerpc/include/asm/immap_qe.h b/arch/powerpc/include/asm/immap_qe.h index 4e10f508570a..0edb6842b13d 100644 --- a/arch/powerpc/include/asm/immap_qe.h +++ b/arch/powerpc/include/asm/immap_qe.h | |||
@@ -467,13 +467,22 @@ struct qe_immap { | |||
467 | extern struct qe_immap __iomem *qe_immr; | 467 | extern struct qe_immap __iomem *qe_immr; |
468 | extern phys_addr_t get_qe_base(void); | 468 | extern phys_addr_t get_qe_base(void); |
469 | 469 | ||
470 | static inline unsigned long immrbar_virt_to_phys(void *address) | 470 | /* |
471 | * Returns the offset within the QE address space of the given pointer. | ||
472 | * | ||
473 | * Note that the QE does not support 36-bit physical addresses, so if | ||
474 | * get_qe_base() returns a number above 4GB, the caller will probably fail. | ||
475 | */ | ||
476 | static inline phys_addr_t immrbar_virt_to_phys(void *address) | ||
471 | { | 477 | { |
472 | if ( ((u32)address >= (u32)qe_immr) && | 478 | void *q = (void *)qe_immr; |
473 | ((u32)address < ((u32)qe_immr + QE_IMMAP_SIZE)) ) | 479 | |
474 | return (unsigned long)(address - (u32)qe_immr + | 480 | /* Is it a MURAM address? */ |
475 | (u32)get_qe_base()); | 481 | if ((address >= q) && (address < (q + QE_IMMAP_SIZE))) |
476 | return (unsigned long)virt_to_phys(address); | 482 | return get_qe_base() + (address - q); |
483 | |||
484 | /* It's an address returned by kmalloc */ | ||
485 | return virt_to_phys(address); | ||
477 | } | 486 | } |
478 | 487 | ||
479 | #endif /* __KERNEL__ */ | 488 | #endif /* __KERNEL__ */ |
diff --git a/arch/powerpc/include/asm/irqflags.h b/arch/powerpc/include/asm/irqflags.h index b85d8ddbb666..b0b06d85788d 100644 --- a/arch/powerpc/include/asm/irqflags.h +++ b/arch/powerpc/include/asm/irqflags.h | |||
@@ -12,24 +12,44 @@ | |||
12 | 12 | ||
13 | #else | 13 | #else |
14 | #ifdef CONFIG_TRACE_IRQFLAGS | 14 | #ifdef CONFIG_TRACE_IRQFLAGS |
15 | #ifdef CONFIG_IRQSOFF_TRACER | ||
16 | /* | ||
17 | * Since the ftrace irqsoff latency trace checks CALLER_ADDR1, | ||
18 | * which is the stack frame here, we need to force a stack frame | ||
19 | * in case we came from user space. | ||
20 | */ | ||
21 | #define TRACE_WITH_FRAME_BUFFER(func) \ | ||
22 | mflr r0; \ | ||
23 | stdu r1, -32(r1); \ | ||
24 | std r0, 16(r1); \ | ||
25 | stdu r1, -32(r1); \ | ||
26 | bl func; \ | ||
27 | ld r1, 0(r1); \ | ||
28 | ld r1, 0(r1); | ||
29 | #else | ||
30 | #define TRACE_WITH_FRAME_BUFFER(func) \ | ||
31 | bl func; | ||
32 | #endif | ||
33 | |||
15 | /* | 34 | /* |
16 | * Most of the CPU's IRQ-state tracing is done from assembly code; we | 35 | * Most of the CPU's IRQ-state tracing is done from assembly code; we |
17 | * have to call a C function so call a wrapper that saves all the | 36 | * have to call a C function so call a wrapper that saves all the |
18 | * C-clobbered registers. | 37 | * C-clobbered registers. |
19 | */ | 38 | */ |
20 | #define TRACE_ENABLE_INTS bl .trace_hardirqs_on | 39 | #define TRACE_ENABLE_INTS TRACE_WITH_FRAME_BUFFER(.trace_hardirqs_on) |
21 | #define TRACE_DISABLE_INTS bl .trace_hardirqs_off | 40 | #define TRACE_DISABLE_INTS TRACE_WITH_FRAME_BUFFER(.trace_hardirqs_off) |
22 | #define TRACE_AND_RESTORE_IRQ_PARTIAL(en,skip) \ | 41 | |
23 | cmpdi en,0; \ | 42 | #define TRACE_AND_RESTORE_IRQ_PARTIAL(en,skip) \ |
24 | bne 95f; \ | 43 | cmpdi en,0; \ |
25 | stb en,PACASOFTIRQEN(r13); \ | 44 | bne 95f; \ |
26 | bl .trace_hardirqs_off; \ | 45 | stb en,PACASOFTIRQEN(r13); \ |
27 | b skip; \ | 46 | TRACE_WITH_FRAME_BUFFER(.trace_hardirqs_off) \ |
28 | 95: bl .trace_hardirqs_on; \ | 47 | b skip; \ |
48 | 95: TRACE_WITH_FRAME_BUFFER(.trace_hardirqs_on) \ | ||
29 | li en,1; | 49 | li en,1; |
30 | #define TRACE_AND_RESTORE_IRQ(en) \ | 50 | #define TRACE_AND_RESTORE_IRQ(en) \ |
31 | TRACE_AND_RESTORE_IRQ_PARTIAL(en,96f); \ | 51 | TRACE_AND_RESTORE_IRQ_PARTIAL(en,96f); \ |
32 | stb en,PACASOFTIRQEN(r13); \ | 52 | stb en,PACASOFTIRQEN(r13); \ |
33 | 96: | 53 | 96: |
34 | #else | 54 | #else |
35 | #define TRACE_ENABLE_INTS | 55 | #define TRACE_ENABLE_INTS |
diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h index 8433d36619a1..991d5998d6be 100644 --- a/arch/powerpc/include/asm/machdep.h +++ b/arch/powerpc/include/asm/machdep.h | |||
@@ -116,9 +116,6 @@ struct machdep_calls { | |||
116 | * If for some reason there is no irq, but the interrupt | 116 | * If for some reason there is no irq, but the interrupt |
117 | * shouldn't be counted as spurious, return NO_IRQ_IGNORE. */ | 117 | * shouldn't be counted as spurious, return NO_IRQ_IGNORE. */ |
118 | unsigned int (*get_irq)(void); | 118 | unsigned int (*get_irq)(void); |
119 | #ifdef CONFIG_KEXEC | ||
120 | void (*kexec_cpu_down)(int crash_shutdown, int secondary); | ||
121 | #endif | ||
122 | 119 | ||
123 | /* PCI stuff */ | 120 | /* PCI stuff */ |
124 | /* Called after scanning the bus, before allocating resources */ | 121 | /* Called after scanning the bus, before allocating resources */ |
@@ -235,11 +232,7 @@ struct machdep_calls { | |||
235 | void (*machine_shutdown)(void); | 232 | void (*machine_shutdown)(void); |
236 | 233 | ||
237 | #ifdef CONFIG_KEXEC | 234 | #ifdef CONFIG_KEXEC |
238 | /* Called to do the minimal shutdown needed to run a kexec'd kernel | 235 | void (*kexec_cpu_down)(int crash_shutdown, int secondary); |
239 | * to run successfully. | ||
240 | * XXX Should we move this one out of kexec scope? | ||
241 | */ | ||
242 | void (*machine_crash_shutdown)(struct pt_regs *regs); | ||
243 | 236 | ||
244 | /* Called to do what every setup is needed on image and the | 237 | /* Called to do what every setup is needed on image and the |
245 | * reboot code buffer. Returns 0 on success. | 238 | * reboot code buffer. Returns 0 on success. |
@@ -247,15 +240,6 @@ struct machdep_calls { | |||
247 | * claims to support kexec. | 240 | * claims to support kexec. |
248 | */ | 241 | */ |
249 | int (*machine_kexec_prepare)(struct kimage *image); | 242 | int (*machine_kexec_prepare)(struct kimage *image); |
250 | |||
251 | /* Called to handle any machine specific cleanup on image */ | ||
252 | void (*machine_kexec_cleanup)(struct kimage *image); | ||
253 | |||
254 | /* Called to perform the _real_ kexec. | ||
255 | * Do NOT allocate memory or fail here. We are past the point of | ||
256 | * no return. | ||
257 | */ | ||
258 | void (*machine_kexec)(struct kimage *image); | ||
259 | #endif /* CONFIG_KEXEC */ | 243 | #endif /* CONFIG_KEXEC */ |
260 | 244 | ||
261 | #ifdef CONFIG_SUSPEND | 245 | #ifdef CONFIG_SUSPEND |
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index ff0005eec7dd..125fc1ad665d 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -283,6 +283,7 @@ | |||
283 | #define HID0_NOPTI (1<<0) /* No-op dcbt and dcbst instr. */ | 283 | #define HID0_NOPTI (1<<0) /* No-op dcbt and dcbst instr. */ |
284 | 284 | ||
285 | #define SPRN_HID1 0x3F1 /* Hardware Implementation Register 1 */ | 285 | #define SPRN_HID1 0x3F1 /* Hardware Implementation Register 1 */ |
286 | #ifdef CONFIG_6xx | ||
286 | #define HID1_EMCP (1<<31) /* 7450 Machine Check Pin Enable */ | 287 | #define HID1_EMCP (1<<31) /* 7450 Machine Check Pin Enable */ |
287 | #define HID1_DFS (1<<22) /* 7447A Dynamic Frequency Scaling */ | 288 | #define HID1_DFS (1<<22) /* 7447A Dynamic Frequency Scaling */ |
288 | #define HID1_PC0 (1<<16) /* 7450 PLL_CFG[0] */ | 289 | #define HID1_PC0 (1<<16) /* 7450 PLL_CFG[0] */ |
@@ -292,6 +293,7 @@ | |||
292 | #define HID1_SYNCBE (1<<11) /* 7450 ABE for sync, eieio */ | 293 | #define HID1_SYNCBE (1<<11) /* 7450 ABE for sync, eieio */ |
293 | #define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */ | 294 | #define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */ |
294 | #define HID1_PS (1<<16) /* 750FX PLL selection */ | 295 | #define HID1_PS (1<<16) /* 750FX PLL selection */ |
296 | #endif | ||
295 | #define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */ | 297 | #define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */ |
296 | #define SPRN_HID2_GEKKO 0x398 /* Gekko HID2 Register */ | 298 | #define SPRN_HID2_GEKKO 0x398 /* Gekko HID2 Register */ |
297 | #define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */ | 299 | #define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */ |
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h index 667a498eaee1..e68c69bf741a 100644 --- a/arch/powerpc/include/asm/reg_booke.h +++ b/arch/powerpc/include/asm/reg_booke.h | |||
@@ -246,6 +246,20 @@ | |||
246 | store or cache line push */ | 246 | store or cache line push */ |
247 | #endif | 247 | #endif |
248 | 248 | ||
249 | /* Bit definitions for the HID1 */ | ||
250 | #ifdef CONFIG_E500 | ||
251 | /* e500v1/v2 */ | ||
252 | #define HID1_PLL_CFG_MASK 0xfc000000 /* PLL_CFG input pins */ | ||
253 | #define HID1_RFXE 0x00020000 /* Read fault exception enable */ | ||
254 | #define HID1_R1DPE 0x00008000 /* R1 data bus parity enable */ | ||
255 | #define HID1_R2DPE 0x00004000 /* R2 data bus parity enable */ | ||
256 | #define HID1_ASTME 0x00002000 /* Address bus streaming mode enable */ | ||
257 | #define HID1_ABE 0x00001000 /* Address broadcast enable */ | ||
258 | #define HID1_MPXTT 0x00000400 /* MPX re-map transfer type */ | ||
259 | #define HID1_ATS 0x00000080 /* Atomic status */ | ||
260 | #define HID1_MID_MASK 0x0000000f /* MID input pins */ | ||
261 | #endif | ||
262 | |||
249 | /* Bit definitions for the DBSR. */ | 263 | /* Bit definitions for the DBSR. */ |
250 | /* | 264 | /* |
251 | * DBSR bits which have conflicting definitions on true Book E versus IBM 40x. | 265 | * DBSR bits which have conflicting definitions on true Book E versus IBM 40x. |
diff --git a/arch/powerpc/include/asm/spu.h b/arch/powerpc/include/asm/spu.h index 0ab8d869e3d6..0c8b35d75232 100644 --- a/arch/powerpc/include/asm/spu.h +++ b/arch/powerpc/include/asm/spu.h | |||
@@ -203,14 +203,6 @@ void spu_irq_setaffinity(struct spu *spu, int cpu); | |||
203 | void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa, | 203 | void spu_setup_kernel_slbs(struct spu *spu, struct spu_lscsa *lscsa, |
204 | void *code, int code_size); | 204 | void *code, int code_size); |
205 | 205 | ||
206 | #ifdef CONFIG_KEXEC | ||
207 | void crash_register_spus(struct list_head *list); | ||
208 | #else | ||
209 | static inline void crash_register_spus(struct list_head *list) | ||
210 | { | ||
211 | } | ||
212 | #endif | ||
213 | |||
214 | extern void spu_invalidate_slbs(struct spu *spu); | 206 | extern void spu_invalidate_slbs(struct spu *spu); |
215 | extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm); | 207 | extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm); |
216 | int spu_64k_pages_available(void); | 208 | int spu_64k_pages_available(void); |
diff --git a/arch/powerpc/kernel/cpu_setup_fsl_booke.S b/arch/powerpc/kernel/cpu_setup_fsl_booke.S index 894e64fa481e..5c518ad3445c 100644 --- a/arch/powerpc/kernel/cpu_setup_fsl_booke.S +++ b/arch/powerpc/kernel/cpu_setup_fsl_booke.S | |||
@@ -64,6 +64,12 @@ _GLOBAL(__setup_cpu_e500v2) | |||
64 | bl __e500_icache_setup | 64 | bl __e500_icache_setup |
65 | bl __e500_dcache_setup | 65 | bl __e500_dcache_setup |
66 | bl __setup_e500_ivors | 66 | bl __setup_e500_ivors |
67 | #ifdef CONFIG_RAPIDIO | ||
68 | /* Ensure that RFXE is set */ | ||
69 | mfspr r3,SPRN_HID1 | ||
70 | oris r3,r3,HID1_RFXE@h | ||
71 | mtspr SPRN_HID1,r3 | ||
72 | #endif | ||
67 | mtlr r4 | 73 | mtlr r4 |
68 | blr | 74 | blr |
69 | _GLOBAL(__setup_cpu_e500mc) | 75 | _GLOBAL(__setup_cpu_e500mc) |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index be5ab18b03b5..8d74a24c5502 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -116,7 +116,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
116 | .pmc_type = PPC_PMC_IBM, | 116 | .pmc_type = PPC_PMC_IBM, |
117 | .oprofile_cpu_type = "ppc64/power3", | 117 | .oprofile_cpu_type = "ppc64/power3", |
118 | .oprofile_type = PPC_OPROFILE_RS64, | 118 | .oprofile_type = PPC_OPROFILE_RS64, |
119 | .machine_check = machine_check_generic, | ||
120 | .platform = "power3", | 119 | .platform = "power3", |
121 | }, | 120 | }, |
122 | { /* Power3+ */ | 121 | { /* Power3+ */ |
@@ -132,7 +131,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
132 | .pmc_type = PPC_PMC_IBM, | 131 | .pmc_type = PPC_PMC_IBM, |
133 | .oprofile_cpu_type = "ppc64/power3", | 132 | .oprofile_cpu_type = "ppc64/power3", |
134 | .oprofile_type = PPC_OPROFILE_RS64, | 133 | .oprofile_type = PPC_OPROFILE_RS64, |
135 | .machine_check = machine_check_generic, | ||
136 | .platform = "power3", | 134 | .platform = "power3", |
137 | }, | 135 | }, |
138 | { /* Northstar */ | 136 | { /* Northstar */ |
@@ -148,7 +146,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
148 | .pmc_type = PPC_PMC_IBM, | 146 | .pmc_type = PPC_PMC_IBM, |
149 | .oprofile_cpu_type = "ppc64/rs64", | 147 | .oprofile_cpu_type = "ppc64/rs64", |
150 | .oprofile_type = PPC_OPROFILE_RS64, | 148 | .oprofile_type = PPC_OPROFILE_RS64, |
151 | .machine_check = machine_check_generic, | ||
152 | .platform = "rs64", | 149 | .platform = "rs64", |
153 | }, | 150 | }, |
154 | { /* Pulsar */ | 151 | { /* Pulsar */ |
@@ -164,7 +161,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
164 | .pmc_type = PPC_PMC_IBM, | 161 | .pmc_type = PPC_PMC_IBM, |
165 | .oprofile_cpu_type = "ppc64/rs64", | 162 | .oprofile_cpu_type = "ppc64/rs64", |
166 | .oprofile_type = PPC_OPROFILE_RS64, | 163 | .oprofile_type = PPC_OPROFILE_RS64, |
167 | .machine_check = machine_check_generic, | ||
168 | .platform = "rs64", | 164 | .platform = "rs64", |
169 | }, | 165 | }, |
170 | { /* I-star */ | 166 | { /* I-star */ |
@@ -180,7 +176,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
180 | .pmc_type = PPC_PMC_IBM, | 176 | .pmc_type = PPC_PMC_IBM, |
181 | .oprofile_cpu_type = "ppc64/rs64", | 177 | .oprofile_cpu_type = "ppc64/rs64", |
182 | .oprofile_type = PPC_OPROFILE_RS64, | 178 | .oprofile_type = PPC_OPROFILE_RS64, |
183 | .machine_check = machine_check_generic, | ||
184 | .platform = "rs64", | 179 | .platform = "rs64", |
185 | }, | 180 | }, |
186 | { /* S-star */ | 181 | { /* S-star */ |
@@ -196,7 +191,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
196 | .pmc_type = PPC_PMC_IBM, | 191 | .pmc_type = PPC_PMC_IBM, |
197 | .oprofile_cpu_type = "ppc64/rs64", | 192 | .oprofile_cpu_type = "ppc64/rs64", |
198 | .oprofile_type = PPC_OPROFILE_RS64, | 193 | .oprofile_type = PPC_OPROFILE_RS64, |
199 | .machine_check = machine_check_generic, | ||
200 | .platform = "rs64", | 194 | .platform = "rs64", |
201 | }, | 195 | }, |
202 | { /* Power4 */ | 196 | { /* Power4 */ |
@@ -212,7 +206,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
212 | .pmc_type = PPC_PMC_IBM, | 206 | .pmc_type = PPC_PMC_IBM, |
213 | .oprofile_cpu_type = "ppc64/power4", | 207 | .oprofile_cpu_type = "ppc64/power4", |
214 | .oprofile_type = PPC_OPROFILE_POWER4, | 208 | .oprofile_type = PPC_OPROFILE_POWER4, |
215 | .machine_check = machine_check_generic, | ||
216 | .platform = "power4", | 209 | .platform = "power4", |
217 | }, | 210 | }, |
218 | { /* Power4+ */ | 211 | { /* Power4+ */ |
@@ -228,7 +221,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
228 | .pmc_type = PPC_PMC_IBM, | 221 | .pmc_type = PPC_PMC_IBM, |
229 | .oprofile_cpu_type = "ppc64/power4", | 222 | .oprofile_cpu_type = "ppc64/power4", |
230 | .oprofile_type = PPC_OPROFILE_POWER4, | 223 | .oprofile_type = PPC_OPROFILE_POWER4, |
231 | .machine_check = machine_check_generic, | ||
232 | .platform = "power4", | 224 | .platform = "power4", |
233 | }, | 225 | }, |
234 | { /* PPC970 */ | 226 | { /* PPC970 */ |
@@ -247,7 +239,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
247 | .cpu_restore = __restore_cpu_ppc970, | 239 | .cpu_restore = __restore_cpu_ppc970, |
248 | .oprofile_cpu_type = "ppc64/970", | 240 | .oprofile_cpu_type = "ppc64/970", |
249 | .oprofile_type = PPC_OPROFILE_POWER4, | 241 | .oprofile_type = PPC_OPROFILE_POWER4, |
250 | .machine_check = machine_check_generic, | ||
251 | .platform = "ppc970", | 242 | .platform = "ppc970", |
252 | }, | 243 | }, |
253 | { /* PPC970FX */ | 244 | { /* PPC970FX */ |
@@ -266,7 +257,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
266 | .cpu_restore = __restore_cpu_ppc970, | 257 | .cpu_restore = __restore_cpu_ppc970, |
267 | .oprofile_cpu_type = "ppc64/970", | 258 | .oprofile_cpu_type = "ppc64/970", |
268 | .oprofile_type = PPC_OPROFILE_POWER4, | 259 | .oprofile_type = PPC_OPROFILE_POWER4, |
269 | .machine_check = machine_check_generic, | ||
270 | .platform = "ppc970", | 260 | .platform = "ppc970", |
271 | }, | 261 | }, |
272 | { /* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */ | 262 | { /* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */ |
@@ -285,7 +275,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
285 | .cpu_restore = __restore_cpu_ppc970, | 275 | .cpu_restore = __restore_cpu_ppc970, |
286 | .oprofile_cpu_type = "ppc64/970MP", | 276 | .oprofile_cpu_type = "ppc64/970MP", |
287 | .oprofile_type = PPC_OPROFILE_POWER4, | 277 | .oprofile_type = PPC_OPROFILE_POWER4, |
288 | .machine_check = machine_check_generic, | ||
289 | .platform = "ppc970", | 278 | .platform = "ppc970", |
290 | }, | 279 | }, |
291 | { /* PPC970MP */ | 280 | { /* PPC970MP */ |
@@ -304,7 +293,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
304 | .cpu_restore = __restore_cpu_ppc970, | 293 | .cpu_restore = __restore_cpu_ppc970, |
305 | .oprofile_cpu_type = "ppc64/970MP", | 294 | .oprofile_cpu_type = "ppc64/970MP", |
306 | .oprofile_type = PPC_OPROFILE_POWER4, | 295 | .oprofile_type = PPC_OPROFILE_POWER4, |
307 | .machine_check = machine_check_generic, | ||
308 | .platform = "ppc970", | 296 | .platform = "ppc970", |
309 | }, | 297 | }, |
310 | { /* PPC970GX */ | 298 | { /* PPC970GX */ |
@@ -322,7 +310,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
322 | .cpu_setup = __setup_cpu_ppc970, | 310 | .cpu_setup = __setup_cpu_ppc970, |
323 | .oprofile_cpu_type = "ppc64/970", | 311 | .oprofile_cpu_type = "ppc64/970", |
324 | .oprofile_type = PPC_OPROFILE_POWER4, | 312 | .oprofile_type = PPC_OPROFILE_POWER4, |
325 | .machine_check = machine_check_generic, | ||
326 | .platform = "ppc970", | 313 | .platform = "ppc970", |
327 | }, | 314 | }, |
328 | { /* Power5 GR */ | 315 | { /* Power5 GR */ |
@@ -343,7 +330,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
343 | */ | 330 | */ |
344 | .oprofile_mmcra_sihv = MMCRA_SIHV, | 331 | .oprofile_mmcra_sihv = MMCRA_SIHV, |
345 | .oprofile_mmcra_sipr = MMCRA_SIPR, | 332 | .oprofile_mmcra_sipr = MMCRA_SIPR, |
346 | .machine_check = machine_check_generic, | ||
347 | .platform = "power5", | 333 | .platform = "power5", |
348 | }, | 334 | }, |
349 | { /* Power5++ */ | 335 | { /* Power5++ */ |
@@ -360,7 +346,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
360 | .oprofile_type = PPC_OPROFILE_POWER4, | 346 | .oprofile_type = PPC_OPROFILE_POWER4, |
361 | .oprofile_mmcra_sihv = MMCRA_SIHV, | 347 | .oprofile_mmcra_sihv = MMCRA_SIHV, |
362 | .oprofile_mmcra_sipr = MMCRA_SIPR, | 348 | .oprofile_mmcra_sipr = MMCRA_SIPR, |
363 | .machine_check = machine_check_generic, | ||
364 | .platform = "power5+", | 349 | .platform = "power5+", |
365 | }, | 350 | }, |
366 | { /* Power5 GS */ | 351 | { /* Power5 GS */ |
@@ -378,7 +363,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
378 | .oprofile_type = PPC_OPROFILE_POWER4, | 363 | .oprofile_type = PPC_OPROFILE_POWER4, |
379 | .oprofile_mmcra_sihv = MMCRA_SIHV, | 364 | .oprofile_mmcra_sihv = MMCRA_SIHV, |
380 | .oprofile_mmcra_sipr = MMCRA_SIPR, | 365 | .oprofile_mmcra_sipr = MMCRA_SIPR, |
381 | .machine_check = machine_check_generic, | ||
382 | .platform = "power5+", | 366 | .platform = "power5+", |
383 | }, | 367 | }, |
384 | { /* POWER6 in P5+ mode; 2.04-compliant processor */ | 368 | { /* POWER6 in P5+ mode; 2.04-compliant processor */ |
@@ -390,7 +374,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
390 | .mmu_features = MMU_FTR_HPTE_TABLE, | 374 | .mmu_features = MMU_FTR_HPTE_TABLE, |
391 | .icache_bsize = 128, | 375 | .icache_bsize = 128, |
392 | .dcache_bsize = 128, | 376 | .dcache_bsize = 128, |
393 | .machine_check = machine_check_generic, | ||
394 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", | 377 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", |
395 | .oprofile_type = PPC_OPROFILE_POWER4, | 378 | .oprofile_type = PPC_OPROFILE_POWER4, |
396 | .platform = "power5+", | 379 | .platform = "power5+", |
@@ -413,7 +396,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
413 | .oprofile_mmcra_sipr = POWER6_MMCRA_SIPR, | 396 | .oprofile_mmcra_sipr = POWER6_MMCRA_SIPR, |
414 | .oprofile_mmcra_clear = POWER6_MMCRA_THRM | | 397 | .oprofile_mmcra_clear = POWER6_MMCRA_THRM | |
415 | POWER6_MMCRA_OTHER, | 398 | POWER6_MMCRA_OTHER, |
416 | .machine_check = machine_check_generic, | ||
417 | .platform = "power6x", | 399 | .platform = "power6x", |
418 | }, | 400 | }, |
419 | { /* 2.05-compliant processor, i.e. Power6 "architected" mode */ | 401 | { /* 2.05-compliant processor, i.e. Power6 "architected" mode */ |
@@ -425,7 +407,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
425 | .mmu_features = MMU_FTR_HPTE_TABLE, | 407 | .mmu_features = MMU_FTR_HPTE_TABLE, |
426 | .icache_bsize = 128, | 408 | .icache_bsize = 128, |
427 | .dcache_bsize = 128, | 409 | .dcache_bsize = 128, |
428 | .machine_check = machine_check_generic, | ||
429 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", | 410 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", |
430 | .oprofile_type = PPC_OPROFILE_POWER4, | 411 | .oprofile_type = PPC_OPROFILE_POWER4, |
431 | .platform = "power6", | 412 | .platform = "power6", |
@@ -440,7 +421,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
440 | MMU_FTR_TLBIE_206, | 421 | MMU_FTR_TLBIE_206, |
441 | .icache_bsize = 128, | 422 | .icache_bsize = 128, |
442 | .dcache_bsize = 128, | 423 | .dcache_bsize = 128, |
443 | .machine_check = machine_check_generic, | ||
444 | .oprofile_type = PPC_OPROFILE_POWER4, | 424 | .oprofile_type = PPC_OPROFILE_POWER4, |
445 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", | 425 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", |
446 | .platform = "power7", | 426 | .platform = "power7", |
@@ -492,7 +472,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
492 | .pmc_type = PPC_PMC_IBM, | 472 | .pmc_type = PPC_PMC_IBM, |
493 | .oprofile_cpu_type = "ppc64/cell-be", | 473 | .oprofile_cpu_type = "ppc64/cell-be", |
494 | .oprofile_type = PPC_OPROFILE_CELL, | 474 | .oprofile_type = PPC_OPROFILE_CELL, |
495 | .machine_check = machine_check_generic, | ||
496 | .platform = "ppc-cell-be", | 475 | .platform = "ppc-cell-be", |
497 | }, | 476 | }, |
498 | { /* PA Semi PA6T */ | 477 | { /* PA Semi PA6T */ |
@@ -510,7 +489,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
510 | .cpu_restore = __restore_cpu_pa6t, | 489 | .cpu_restore = __restore_cpu_pa6t, |
511 | .oprofile_cpu_type = "ppc64/pa6t", | 490 | .oprofile_cpu_type = "ppc64/pa6t", |
512 | .oprofile_type = PPC_OPROFILE_PA6T, | 491 | .oprofile_type = PPC_OPROFILE_PA6T, |
513 | .machine_check = machine_check_generic, | ||
514 | .platform = "pa6t", | 492 | .platform = "pa6t", |
515 | }, | 493 | }, |
516 | { /* default match */ | 494 | { /* default match */ |
@@ -524,7 +502,6 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
524 | .dcache_bsize = 128, | 502 | .dcache_bsize = 128, |
525 | .num_pmcs = 6, | 503 | .num_pmcs = 6, |
526 | .pmc_type = PPC_PMC_IBM, | 504 | .pmc_type = PPC_PMC_IBM, |
527 | .machine_check = machine_check_generic, | ||
528 | .platform = "power4", | 505 | .platform = "power4", |
529 | } | 506 | } |
530 | #endif /* CONFIG_PPC_BOOK3S_64 */ | 507 | #endif /* CONFIG_PPC_BOOK3S_64 */ |
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index 832c8c4db254..3d569e2aff18 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c | |||
@@ -48,7 +48,7 @@ int crashing_cpu = -1; | |||
48 | static cpumask_t cpus_in_crash = CPU_MASK_NONE; | 48 | static cpumask_t cpus_in_crash = CPU_MASK_NONE; |
49 | cpumask_t cpus_in_sr = CPU_MASK_NONE; | 49 | cpumask_t cpus_in_sr = CPU_MASK_NONE; |
50 | 50 | ||
51 | #define CRASH_HANDLER_MAX 2 | 51 | #define CRASH_HANDLER_MAX 3 |
52 | /* NULL terminated list of shutdown handles */ | 52 | /* NULL terminated list of shutdown handles */ |
53 | static crash_shutdown_t crash_shutdown_handles[CRASH_HANDLER_MAX+1]; | 53 | static crash_shutdown_t crash_shutdown_handles[CRASH_HANDLER_MAX+1]; |
54 | static DEFINE_SPINLOCK(crash_handlers_lock); | 54 | static DEFINE_SPINLOCK(crash_handlers_lock); |
@@ -125,7 +125,7 @@ static void crash_kexec_prepare_cpus(int cpu) | |||
125 | smp_wmb(); | 125 | smp_wmb(); |
126 | 126 | ||
127 | /* | 127 | /* |
128 | * FIXME: Until we will have the way to stop other CPUSs reliabally, | 128 | * FIXME: Until we will have the way to stop other CPUs reliably, |
129 | * the crash CPU will send an IPI and wait for other CPUs to | 129 | * the crash CPU will send an IPI and wait for other CPUs to |
130 | * respond. | 130 | * respond. |
131 | * Delay of at least 10 seconds. | 131 | * Delay of at least 10 seconds. |
@@ -254,72 +254,6 @@ void crash_kexec_secondary(struct pt_regs *regs) | |||
254 | cpus_in_sr = CPU_MASK_NONE; | 254 | cpus_in_sr = CPU_MASK_NONE; |
255 | } | 255 | } |
256 | #endif | 256 | #endif |
257 | #ifdef CONFIG_SPU_BASE | ||
258 | |||
259 | #include <asm/spu.h> | ||
260 | #include <asm/spu_priv1.h> | ||
261 | |||
262 | struct crash_spu_info { | ||
263 | struct spu *spu; | ||
264 | u32 saved_spu_runcntl_RW; | ||
265 | u32 saved_spu_status_R; | ||
266 | u32 saved_spu_npc_RW; | ||
267 | u64 saved_mfc_sr1_RW; | ||
268 | u64 saved_mfc_dar; | ||
269 | u64 saved_mfc_dsisr; | ||
270 | }; | ||
271 | |||
272 | #define CRASH_NUM_SPUS 16 /* Enough for current hardware */ | ||
273 | static struct crash_spu_info crash_spu_info[CRASH_NUM_SPUS]; | ||
274 | |||
275 | static void crash_kexec_stop_spus(void) | ||
276 | { | ||
277 | struct spu *spu; | ||
278 | int i; | ||
279 | u64 tmp; | ||
280 | |||
281 | for (i = 0; i < CRASH_NUM_SPUS; i++) { | ||
282 | if (!crash_spu_info[i].spu) | ||
283 | continue; | ||
284 | |||
285 | spu = crash_spu_info[i].spu; | ||
286 | |||
287 | crash_spu_info[i].saved_spu_runcntl_RW = | ||
288 | in_be32(&spu->problem->spu_runcntl_RW); | ||
289 | crash_spu_info[i].saved_spu_status_R = | ||
290 | in_be32(&spu->problem->spu_status_R); | ||
291 | crash_spu_info[i].saved_spu_npc_RW = | ||
292 | in_be32(&spu->problem->spu_npc_RW); | ||
293 | |||
294 | crash_spu_info[i].saved_mfc_dar = spu_mfc_dar_get(spu); | ||
295 | crash_spu_info[i].saved_mfc_dsisr = spu_mfc_dsisr_get(spu); | ||
296 | tmp = spu_mfc_sr1_get(spu); | ||
297 | crash_spu_info[i].saved_mfc_sr1_RW = tmp; | ||
298 | |||
299 | tmp &= ~MFC_STATE1_MASTER_RUN_CONTROL_MASK; | ||
300 | spu_mfc_sr1_set(spu, tmp); | ||
301 | |||
302 | __delay(200); | ||
303 | } | ||
304 | } | ||
305 | |||
306 | void crash_register_spus(struct list_head *list) | ||
307 | { | ||
308 | struct spu *spu; | ||
309 | |||
310 | list_for_each_entry(spu, list, full_list) { | ||
311 | if (WARN_ON(spu->number >= CRASH_NUM_SPUS)) | ||
312 | continue; | ||
313 | |||
314 | crash_spu_info[spu->number].spu = spu; | ||
315 | } | ||
316 | } | ||
317 | |||
318 | #else | ||
319 | static inline void crash_kexec_stop_spus(void) | ||
320 | { | ||
321 | } | ||
322 | #endif /* CONFIG_SPU_BASE */ | ||
323 | 257 | ||
324 | /* | 258 | /* |
325 | * Register a function to be called on shutdown. Only use this if you | 259 | * Register a function to be called on shutdown. Only use this if you |
@@ -439,8 +373,6 @@ void default_machine_crash_shutdown(struct pt_regs *regs) | |||
439 | crash_shutdown_cpu = -1; | 373 | crash_shutdown_cpu = -1; |
440 | __debugger_fault_handler = old_handler; | 374 | __debugger_fault_handler = old_handler; |
441 | 375 | ||
442 | crash_kexec_stop_spus(); | ||
443 | |||
444 | if (ppc_md.kexec_cpu_down) | 376 | if (ppc_md.kexec_cpu_down) |
445 | ppc_md.kexec_cpu_down(1, 0); | 377 | ppc_md.kexec_cpu_down(1, 0); |
446 | } | 378 | } |
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index c22dc1ec1c94..56212bc0ab08 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S | |||
@@ -880,7 +880,18 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x) | |||
880 | */ | 880 | */ |
881 | andi. r10,r9,MSR_EE | 881 | andi. r10,r9,MSR_EE |
882 | beq 1f | 882 | beq 1f |
883 | /* | ||
884 | * Since the ftrace irqsoff latency trace checks CALLER_ADDR1, | ||
885 | * which is the stack frame here, we need to force a stack frame | ||
886 | * in case we came from user space. | ||
887 | */ | ||
888 | stwu r1,-32(r1) | ||
889 | mflr r0 | ||
890 | stw r0,4(r1) | ||
891 | stwu r1,-32(r1) | ||
883 | bl trace_hardirqs_on | 892 | bl trace_hardirqs_on |
893 | lwz r1,0(r1) | ||
894 | lwz r1,0(r1) | ||
884 | lwz r9,_MSR(r1) | 895 | lwz r9,_MSR(r1) |
885 | 1: | 896 | 1: |
886 | #endif /* CONFIG_TRACE_IRQFLAGS */ | 897 | #endif /* CONFIG_TRACE_IRQFLAGS */ |
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c index df7e20c191cd..49a170af8145 100644 --- a/arch/powerpc/kernel/machine_kexec.c +++ b/arch/powerpc/kernel/machine_kexec.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/memblock.h> | 15 | #include <linux/memblock.h> |
16 | #include <linux/of.h> | 16 | #include <linux/of.h> |
17 | #include <linux/irq.h> | 17 | #include <linux/irq.h> |
18 | #include <linux/ftrace.h> | ||
18 | 19 | ||
19 | #include <asm/machdep.h> | 20 | #include <asm/machdep.h> |
20 | #include <asm/prom.h> | 21 | #include <asm/prom.h> |
@@ -44,10 +45,7 @@ void machine_kexec_mask_interrupts(void) { | |||
44 | 45 | ||
45 | void machine_crash_shutdown(struct pt_regs *regs) | 46 | void machine_crash_shutdown(struct pt_regs *regs) |
46 | { | 47 | { |
47 | if (ppc_md.machine_crash_shutdown) | 48 | default_machine_crash_shutdown(regs); |
48 | ppc_md.machine_crash_shutdown(regs); | ||
49 | else | ||
50 | default_machine_crash_shutdown(regs); | ||
51 | } | 49 | } |
52 | 50 | ||
53 | /* | 51 | /* |
@@ -65,8 +63,6 @@ int machine_kexec_prepare(struct kimage *image) | |||
65 | 63 | ||
66 | void machine_kexec_cleanup(struct kimage *image) | 64 | void machine_kexec_cleanup(struct kimage *image) |
67 | { | 65 | { |
68 | if (ppc_md.machine_kexec_cleanup) | ||
69 | ppc_md.machine_kexec_cleanup(image); | ||
70 | } | 66 | } |
71 | 67 | ||
72 | void arch_crash_save_vmcoreinfo(void) | 68 | void arch_crash_save_vmcoreinfo(void) |
@@ -87,10 +83,13 @@ void arch_crash_save_vmcoreinfo(void) | |||
87 | */ | 83 | */ |
88 | void machine_kexec(struct kimage *image) | 84 | void machine_kexec(struct kimage *image) |
89 | { | 85 | { |
90 | if (ppc_md.machine_kexec) | 86 | int save_ftrace_enabled; |
91 | ppc_md.machine_kexec(image); | 87 | |
92 | else | 88 | save_ftrace_enabled = __ftrace_enabled_save(); |
93 | default_machine_kexec(image); | 89 | |
90 | default_machine_kexec(image); | ||
91 | |||
92 | __ftrace_enabled_restore(save_ftrace_enabled); | ||
94 | 93 | ||
95 | /* Fall back to normal restart if we're still alive. */ | 94 | /* Fall back to normal restart if we're still alive. */ |
96 | machine_restart(NULL); | 95 | machine_restart(NULL); |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 84906d3fc860..7a1d5cb76932 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -631,7 +631,7 @@ void show_regs(struct pt_regs * regs) | |||
631 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 631 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
632 | printk("DEAR: "REG", ESR: "REG"\n", regs->dar, regs->dsisr); | 632 | printk("DEAR: "REG", ESR: "REG"\n", regs->dar, regs->dsisr); |
633 | #else | 633 | #else |
634 | printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr); | 634 | printk("DAR: "REG", DSISR: %08lx\n", regs->dar, regs->dsisr); |
635 | #endif | 635 | #endif |
636 | printk("TASK = %p[%d] '%s' THREAD: %p", | 636 | printk("TASK = %p[%d] '%s' THREAD: %p", |
637 | current, task_pid_nr(current), current->comm, task_thread_info(current)); | 637 | current, task_pid_nr(current), current->comm, task_thread_info(current)); |
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c index 2b442e6c21e6..bf5f5ce3a7bd 100644 --- a/arch/powerpc/kernel/rtas_flash.c +++ b/arch/powerpc/kernel/rtas_flash.c | |||
@@ -256,31 +256,16 @@ static ssize_t rtas_flash_read(struct file *file, char __user *buf, | |||
256 | struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode); | 256 | struct proc_dir_entry *dp = PDE(file->f_path.dentry->d_inode); |
257 | struct rtas_update_flash_t *uf; | 257 | struct rtas_update_flash_t *uf; |
258 | char msg[RTAS_MSG_MAXLEN]; | 258 | char msg[RTAS_MSG_MAXLEN]; |
259 | int msglen; | ||
260 | 259 | ||
261 | uf = (struct rtas_update_flash_t *) dp->data; | 260 | uf = dp->data; |
262 | 261 | ||
263 | if (!strcmp(dp->name, FIRMWARE_FLASH_NAME)) { | 262 | if (!strcmp(dp->name, FIRMWARE_FLASH_NAME)) { |
264 | get_flash_status_msg(uf->status, msg); | 263 | get_flash_status_msg(uf->status, msg); |
265 | } else { /* FIRMWARE_UPDATE_NAME */ | 264 | } else { /* FIRMWARE_UPDATE_NAME */ |
266 | sprintf(msg, "%d\n", uf->status); | 265 | sprintf(msg, "%d\n", uf->status); |
267 | } | 266 | } |
268 | msglen = strlen(msg); | ||
269 | if (msglen > count) | ||
270 | msglen = count; | ||
271 | |||
272 | if (ppos && *ppos != 0) | ||
273 | return 0; /* be cheap */ | ||
274 | |||
275 | if (!access_ok(VERIFY_WRITE, buf, msglen)) | ||
276 | return -EINVAL; | ||
277 | 267 | ||
278 | if (copy_to_user(buf, msg, msglen)) | 268 | return simple_read_from_buffer(buf, count, ppos, msg, strlen(msg)); |
279 | return -EFAULT; | ||
280 | |||
281 | if (ppos) | ||
282 | *ppos = msglen; | ||
283 | return msglen; | ||
284 | } | 269 | } |
285 | 270 | ||
286 | /* constructor for flash_block_cache */ | 271 | /* constructor for flash_block_cache */ |
@@ -394,26 +379,13 @@ static ssize_t manage_flash_read(struct file *file, char __user *buf, | |||
394 | char msg[RTAS_MSG_MAXLEN]; | 379 | char msg[RTAS_MSG_MAXLEN]; |
395 | int msglen; | 380 | int msglen; |
396 | 381 | ||
397 | args_buf = (struct rtas_manage_flash_t *) dp->data; | 382 | args_buf = dp->data; |
398 | if (args_buf == NULL) | 383 | if (args_buf == NULL) |
399 | return 0; | 384 | return 0; |
400 | 385 | ||
401 | msglen = sprintf(msg, "%d\n", args_buf->status); | 386 | msglen = sprintf(msg, "%d\n", args_buf->status); |
402 | if (msglen > count) | ||
403 | msglen = count; | ||
404 | 387 | ||
405 | if (ppos && *ppos != 0) | 388 | return simple_read_from_buffer(buf, count, ppos, msg, msglen); |
406 | return 0; /* be cheap */ | ||
407 | |||
408 | if (!access_ok(VERIFY_WRITE, buf, msglen)) | ||
409 | return -EINVAL; | ||
410 | |||
411 | if (copy_to_user(buf, msg, msglen)) | ||
412 | return -EFAULT; | ||
413 | |||
414 | if (ppos) | ||
415 | *ppos = msglen; | ||
416 | return msglen; | ||
417 | } | 389 | } |
418 | 390 | ||
419 | static ssize_t manage_flash_write(struct file *file, const char __user *buf, | 391 | static ssize_t manage_flash_write(struct file *file, const char __user *buf, |
@@ -495,24 +467,11 @@ static ssize_t validate_flash_read(struct file *file, char __user *buf, | |||
495 | char msg[RTAS_MSG_MAXLEN]; | 467 | char msg[RTAS_MSG_MAXLEN]; |
496 | int msglen; | 468 | int msglen; |
497 | 469 | ||
498 | args_buf = (struct rtas_validate_flash_t *) dp->data; | 470 | args_buf = dp->data; |
499 | 471 | ||
500 | if (ppos && *ppos != 0) | ||
501 | return 0; /* be cheap */ | ||
502 | |||
503 | msglen = get_validate_flash_msg(args_buf, msg); | 472 | msglen = get_validate_flash_msg(args_buf, msg); |
504 | if (msglen > count) | ||
505 | msglen = count; | ||
506 | |||
507 | if (!access_ok(VERIFY_WRITE, buf, msglen)) | ||
508 | return -EINVAL; | ||
509 | |||
510 | if (copy_to_user(buf, msg, msglen)) | ||
511 | return -EFAULT; | ||
512 | 473 | ||
513 | if (ppos) | 474 | return simple_read_from_buffer(buf, count, ppos, msg, msglen); |
514 | *ppos = msglen; | ||
515 | return msglen; | ||
516 | } | 475 | } |
517 | 476 | ||
518 | static ssize_t validate_flash_write(struct file *file, const char __user *buf, | 477 | static ssize_t validate_flash_write(struct file *file, const char __user *buf, |
diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c index 0438f819fe6b..049dbecb5dbc 100644 --- a/arch/powerpc/kernel/rtasd.c +++ b/arch/powerpc/kernel/rtasd.c | |||
@@ -160,7 +160,7 @@ static int log_rtas_len(char * buf) | |||
160 | /* rtas fixed header */ | 160 | /* rtas fixed header */ |
161 | len = 8; | 161 | len = 8; |
162 | err = (struct rtas_error_log *)buf; | 162 | err = (struct rtas_error_log *)buf; |
163 | if (err->extended_log_length) { | 163 | if (err->extended && err->extended_log_length) { |
164 | 164 | ||
165 | /* extended header */ | 165 | /* extended header */ |
166 | len += err->extended_log_length; | 166 | len += err->extended_log_length; |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 09e4dea4a85a..09d31dbf43f9 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -265,11 +265,26 @@ void accumulate_stolen_time(void) | |||
265 | { | 265 | { |
266 | u64 sst, ust; | 266 | u64 sst, ust; |
267 | 267 | ||
268 | sst = scan_dispatch_log(get_paca()->starttime_user); | 268 | u8 save_soft_enabled = local_paca->soft_enabled; |
269 | ust = scan_dispatch_log(get_paca()->starttime); | 269 | u8 save_hard_enabled = local_paca->hard_enabled; |
270 | get_paca()->system_time -= sst; | 270 | |
271 | get_paca()->user_time -= ust; | 271 | /* We are called early in the exception entry, before |
272 | get_paca()->stolen_time += ust + sst; | 272 | * soft/hard_enabled are sync'ed to the expected state |
273 | * for the exception. We are hard disabled but the PACA | ||
274 | * needs to reflect that so various debug stuff doesn't | ||
275 | * complain | ||
276 | */ | ||
277 | local_paca->soft_enabled = 0; | ||
278 | local_paca->hard_enabled = 0; | ||
279 | |||
280 | sst = scan_dispatch_log(local_paca->starttime_user); | ||
281 | ust = scan_dispatch_log(local_paca->starttime); | ||
282 | local_paca->system_time -= sst; | ||
283 | local_paca->user_time -= ust; | ||
284 | local_paca->stolen_time += ust + sst; | ||
285 | |||
286 | local_paca->soft_enabled = save_soft_enabled; | ||
287 | local_paca->hard_enabled = save_hard_enabled; | ||
273 | } | 288 | } |
274 | 289 | ||
275 | static inline u64 calculate_stolen_time(u64 stop_tb) | 290 | static inline u64 calculate_stolen_time(u64 stop_tb) |
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 1b2cdc8eec90..bd74fac169be 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -626,12 +626,6 @@ void machine_check_exception(struct pt_regs *regs) | |||
626 | if (recover > 0) | 626 | if (recover > 0) |
627 | return; | 627 | return; |
628 | 628 | ||
629 | if (user_mode(regs)) { | ||
630 | regs->msr |= MSR_RI; | ||
631 | _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); | ||
632 | return; | ||
633 | } | ||
634 | |||
635 | #if defined(CONFIG_8xx) && defined(CONFIG_PCI) | 629 | #if defined(CONFIG_8xx) && defined(CONFIG_PCI) |
636 | /* the qspan pci read routines can cause machine checks -- Cort | 630 | /* the qspan pci read routines can cause machine checks -- Cort |
637 | * | 631 | * |
@@ -643,16 +637,12 @@ void machine_check_exception(struct pt_regs *regs) | |||
643 | return; | 637 | return; |
644 | #endif | 638 | #endif |
645 | 639 | ||
646 | if (debugger_fault_handler(regs)) { | 640 | if (debugger_fault_handler(regs)) |
647 | regs->msr |= MSR_RI; | ||
648 | return; | 641 | return; |
649 | } | ||
650 | 642 | ||
651 | if (check_io_access(regs)) | 643 | if (check_io_access(regs)) |
652 | return; | 644 | return; |
653 | 645 | ||
654 | if (debugger_fault_handler(regs)) | ||
655 | return; | ||
656 | die("Machine check", regs, SIGBUS); | 646 | die("Machine check", regs, SIGBUS); |
657 | 647 | ||
658 | /* Must die if the interrupt is not recoverable */ | 648 | /* Must die if the interrupt is not recoverable */ |
diff --git a/arch/powerpc/lib/feature-fixups-test.S b/arch/powerpc/lib/feature-fixups-test.S index cb737484c5aa..f4613118132e 100644 --- a/arch/powerpc/lib/feature-fixups-test.S +++ b/arch/powerpc/lib/feature-fixups-test.S | |||
@@ -172,6 +172,25 @@ globl(ftr_fixup_test6_expected) | |||
172 | 3: or 3,3,3 | 172 | 3: or 3,3,3 |
173 | 173 | ||
174 | 174 | ||
175 | #if 0 | ||
176 | /* Test that if we have a larger else case the assembler spots it and | ||
177 | * reports an error. #if 0'ed so as not to break the build normally. | ||
178 | */ | ||
179 | ftr_fixup_test7: | ||
180 | or 1,1,1 | ||
181 | BEGIN_FTR_SECTION | ||
182 | or 2,2,2 | ||
183 | or 2,2,2 | ||
184 | or 2,2,2 | ||
185 | FTR_SECTION_ELSE | ||
186 | or 3,3,3 | ||
187 | or 3,3,3 | ||
188 | or 3,3,3 | ||
189 | or 3,3,3 | ||
190 | ALT_FTR_SECTION_END(0, 1) | ||
191 | or 1,1,1 | ||
192 | #endif | ||
193 | |||
175 | #define MAKE_MACRO_TEST(TYPE) \ | 194 | #define MAKE_MACRO_TEST(TYPE) \ |
176 | globl(ftr_fixup_test_ ##TYPE##_macros) \ | 195 | globl(ftr_fixup_test_ ##TYPE##_macros) \ |
177 | or 1,1,1; \ | 196 | or 1,1,1; \ |
diff --git a/arch/powerpc/platforms/83xx/mpc830x_rdb.c b/arch/powerpc/platforms/83xx/mpc830x_rdb.c index 661d354e4ff2..d0c4e15b7794 100644 --- a/arch/powerpc/platforms/83xx/mpc830x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc830x_rdb.c | |||
@@ -57,12 +57,12 @@ static void __init mpc830x_rdb_init_IRQ(void) | |||
57 | ipic_set_default_priority(); | 57 | ipic_set_default_priority(); |
58 | } | 58 | } |
59 | 59 | ||
60 | struct const char *board[] __initdata = { | 60 | static const char *board[] __initdata = { |
61 | "MPC8308RDB", | 61 | "MPC8308RDB", |
62 | "fsl,mpc8308rdb", | 62 | "fsl,mpc8308rdb", |
63 | "denx,mpc8308_p1m", | 63 | "denx,mpc8308_p1m", |
64 | NULL | 64 | NULL |
65 | } | 65 | }; |
66 | 66 | ||
67 | /* | 67 | /* |
68 | * Called very early, MMU is off, device-tree isn't unflattened | 68 | * Called very early, MMU is off, device-tree isn't unflattened |
diff --git a/arch/powerpc/platforms/83xx/mpc831x_rdb.c b/arch/powerpc/platforms/83xx/mpc831x_rdb.c index b54cd736a895..f859ead49a8d 100644 --- a/arch/powerpc/platforms/83xx/mpc831x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc831x_rdb.c | |||
@@ -60,11 +60,11 @@ static void __init mpc831x_rdb_init_IRQ(void) | |||
60 | ipic_set_default_priority(); | 60 | ipic_set_default_priority(); |
61 | } | 61 | } |
62 | 62 | ||
63 | struct const char *board[] __initdata = { | 63 | static const char *board[] __initdata = { |
64 | "MPC8313ERDB", | 64 | "MPC8313ERDB", |
65 | "fsl,mpc8315erdb", | 65 | "fsl,mpc8315erdb", |
66 | NULL | 66 | NULL |
67 | } | 67 | }; |
68 | 68 | ||
69 | /* | 69 | /* |
70 | * Called very early, MMU is off, device-tree isn't unflattened | 70 | * Called very early, MMU is off, device-tree isn't unflattened |
diff --git a/arch/powerpc/platforms/83xx/mpc83xx.h b/arch/powerpc/platforms/83xx/mpc83xx.h index 0fea8811d45b..82a434510d83 100644 --- a/arch/powerpc/platforms/83xx/mpc83xx.h +++ b/arch/powerpc/platforms/83xx/mpc83xx.h | |||
@@ -35,6 +35,8 @@ | |||
35 | 35 | ||
36 | /* system i/o configuration register high */ | 36 | /* system i/o configuration register high */ |
37 | #define MPC83XX_SICRH_OFFS 0x118 | 37 | #define MPC83XX_SICRH_OFFS 0x118 |
38 | #define MPC8308_SICRH_USB_MASK 0x000c0000 | ||
39 | #define MPC8308_SICRH_USB_ULPI 0x00040000 | ||
38 | #define MPC834X_SICRH_USB_UTMI 0x00020000 | 40 | #define MPC834X_SICRH_USB_UTMI 0x00020000 |
39 | #define MPC831X_SICRH_USB_MASK 0x000000e0 | 41 | #define MPC831X_SICRH_USB_MASK 0x000000e0 |
40 | #define MPC831X_SICRH_USB_ULPI 0x000000a0 | 42 | #define MPC831X_SICRH_USB_ULPI 0x000000a0 |
diff --git a/arch/powerpc/platforms/83xx/usb.c b/arch/powerpc/platforms/83xx/usb.c index 3ba4bb7d41bb..2c64164722d0 100644 --- a/arch/powerpc/platforms/83xx/usb.c +++ b/arch/powerpc/platforms/83xx/usb.c | |||
@@ -127,7 +127,8 @@ int mpc831x_usb_cfg(void) | |||
127 | 127 | ||
128 | /* Configure clock */ | 128 | /* Configure clock */ |
129 | immr_node = of_get_parent(np); | 129 | immr_node = of_get_parent(np); |
130 | if (immr_node && of_device_is_compatible(immr_node, "fsl,mpc8315-immr")) | 130 | if (immr_node && (of_device_is_compatible(immr_node, "fsl,mpc8315-immr") || |
131 | of_device_is_compatible(immr_node, "fsl,mpc8308-immr"))) | ||
131 | clrsetbits_be32(immap + MPC83XX_SCCR_OFFS, | 132 | clrsetbits_be32(immap + MPC83XX_SCCR_OFFS, |
132 | MPC8315_SCCR_USB_MASK, | 133 | MPC8315_SCCR_USB_MASK, |
133 | MPC8315_SCCR_USB_DRCM_01); | 134 | MPC8315_SCCR_USB_DRCM_01); |
@@ -138,7 +139,11 @@ int mpc831x_usb_cfg(void) | |||
138 | 139 | ||
139 | /* Configure pin mux for ULPI. There is no pin mux for UTMI */ | 140 | /* Configure pin mux for ULPI. There is no pin mux for UTMI */ |
140 | if (prop && !strcmp(prop, "ulpi")) { | 141 | if (prop && !strcmp(prop, "ulpi")) { |
141 | if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr")) { | 142 | if (of_device_is_compatible(immr_node, "fsl,mpc8308-immr")) { |
143 | clrsetbits_be32(immap + MPC83XX_SICRH_OFFS, | ||
144 | MPC8308_SICRH_USB_MASK, | ||
145 | MPC8308_SICRH_USB_ULPI); | ||
146 | } else if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr")) { | ||
142 | clrsetbits_be32(immap + MPC83XX_SICRL_OFFS, | 147 | clrsetbits_be32(immap + MPC83XX_SICRL_OFFS, |
143 | MPC8315_SICRL_USB_MASK, | 148 | MPC8315_SICRL_USB_MASK, |
144 | MPC8315_SICRL_USB_ULPI); | 149 | MPC8315_SICRL_USB_ULPI); |
@@ -173,6 +178,9 @@ int mpc831x_usb_cfg(void) | |||
173 | !strcmp(prop, "utmi"))) { | 178 | !strcmp(prop, "utmi"))) { |
174 | u32 refsel; | 179 | u32 refsel; |
175 | 180 | ||
181 | if (of_device_is_compatible(immr_node, "fsl,mpc8308-immr")) | ||
182 | goto out; | ||
183 | |||
176 | if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr")) | 184 | if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr")) |
177 | refsel = CONTROL_REFSEL_24MHZ; | 185 | refsel = CONTROL_REFSEL_24MHZ; |
178 | else | 186 | else |
@@ -186,9 +194,11 @@ int mpc831x_usb_cfg(void) | |||
186 | temp = CONTROL_PHY_CLK_SEL_ULPI; | 194 | temp = CONTROL_PHY_CLK_SEL_ULPI; |
187 | #ifdef CONFIG_USB_OTG | 195 | #ifdef CONFIG_USB_OTG |
188 | /* Set OTG_PORT */ | 196 | /* Set OTG_PORT */ |
189 | dr_mode = of_get_property(np, "dr_mode", NULL); | 197 | if (!of_device_is_compatible(immr_node, "fsl,mpc8308-immr")) { |
190 | if (dr_mode && !strcmp(dr_mode, "otg")) | 198 | dr_mode = of_get_property(np, "dr_mode", NULL); |
191 | temp |= CONTROL_OTG_PORT; | 199 | if (dr_mode && !strcmp(dr_mode, "otg")) |
200 | temp |= CONTROL_OTG_PORT; | ||
201 | } | ||
192 | #endif /* CONFIG_USB_OTG */ | 202 | #endif /* CONFIG_USB_OTG */ |
193 | out_be32(usb_regs + FSL_USB2_CONTROL_OFFS, temp); | 203 | out_be32(usb_regs + FSL_USB2_CONTROL_OFFS, temp); |
194 | } else { | 204 | } else { |
@@ -196,6 +206,7 @@ int mpc831x_usb_cfg(void) | |||
196 | ret = -EINVAL; | 206 | ret = -EINVAL; |
197 | } | 207 | } |
198 | 208 | ||
209 | out: | ||
199 | iounmap(usb_regs); | 210 | iounmap(usb_regs); |
200 | of_node_put(np); | 211 | of_node_put(np); |
201 | return ret; | 212 | return ret; |
diff --git a/arch/powerpc/platforms/cell/cpufreq_spudemand.c b/arch/powerpc/platforms/cell/cpufreq_spudemand.c index 968c1c0b4d5b..d809836bcf5f 100644 --- a/arch/powerpc/platforms/cell/cpufreq_spudemand.c +++ b/arch/powerpc/platforms/cell/cpufreq_spudemand.c | |||
@@ -39,8 +39,6 @@ struct spu_gov_info_struct { | |||
39 | }; | 39 | }; |
40 | static DEFINE_PER_CPU(struct spu_gov_info_struct, spu_gov_info); | 40 | static DEFINE_PER_CPU(struct spu_gov_info_struct, spu_gov_info); |
41 | 41 | ||
42 | static struct workqueue_struct *kspugov_wq; | ||
43 | |||
44 | static int calc_freq(struct spu_gov_info_struct *info) | 42 | static int calc_freq(struct spu_gov_info_struct *info) |
45 | { | 43 | { |
46 | int cpu; | 44 | int cpu; |
@@ -71,14 +69,14 @@ static void spu_gov_work(struct work_struct *work) | |||
71 | __cpufreq_driver_target(info->policy, target_freq, CPUFREQ_RELATION_H); | 69 | __cpufreq_driver_target(info->policy, target_freq, CPUFREQ_RELATION_H); |
72 | 70 | ||
73 | delay = usecs_to_jiffies(info->poll_int); | 71 | delay = usecs_to_jiffies(info->poll_int); |
74 | queue_delayed_work_on(info->policy->cpu, kspugov_wq, &info->work, delay); | 72 | schedule_delayed_work_on(info->policy->cpu, &info->work, delay); |
75 | } | 73 | } |
76 | 74 | ||
77 | static void spu_gov_init_work(struct spu_gov_info_struct *info) | 75 | static void spu_gov_init_work(struct spu_gov_info_struct *info) |
78 | { | 76 | { |
79 | int delay = usecs_to_jiffies(info->poll_int); | 77 | int delay = usecs_to_jiffies(info->poll_int); |
80 | INIT_DELAYED_WORK_DEFERRABLE(&info->work, spu_gov_work); | 78 | INIT_DELAYED_WORK_DEFERRABLE(&info->work, spu_gov_work); |
81 | queue_delayed_work_on(info->policy->cpu, kspugov_wq, &info->work, delay); | 79 | schedule_delayed_work_on(info->policy->cpu, &info->work, delay); |
82 | } | 80 | } |
83 | 81 | ||
84 | static void spu_gov_cancel_work(struct spu_gov_info_struct *info) | 82 | static void spu_gov_cancel_work(struct spu_gov_info_struct *info) |
@@ -152,27 +150,15 @@ static int __init spu_gov_init(void) | |||
152 | { | 150 | { |
153 | int ret; | 151 | int ret; |
154 | 152 | ||
155 | kspugov_wq = create_workqueue("kspugov"); | ||
156 | if (!kspugov_wq) { | ||
157 | printk(KERN_ERR "creation of kspugov failed\n"); | ||
158 | ret = -EFAULT; | ||
159 | goto out; | ||
160 | } | ||
161 | |||
162 | ret = cpufreq_register_governor(&spu_governor); | 153 | ret = cpufreq_register_governor(&spu_governor); |
163 | if (ret) { | 154 | if (ret) |
164 | printk(KERN_ERR "registration of governor failed\n"); | 155 | printk(KERN_ERR "registration of governor failed\n"); |
165 | destroy_workqueue(kspugov_wq); | ||
166 | goto out; | ||
167 | } | ||
168 | out: | ||
169 | return ret; | 156 | return ret; |
170 | } | 157 | } |
171 | 158 | ||
172 | static void __exit spu_gov_exit(void) | 159 | static void __exit spu_gov_exit(void) |
173 | { | 160 | { |
174 | cpufreq_unregister_governor(&spu_governor); | 161 | cpufreq_unregister_governor(&spu_governor); |
175 | destroy_workqueue(kspugov_wq); | ||
176 | } | 162 | } |
177 | 163 | ||
178 | 164 | ||
diff --git a/arch/powerpc/platforms/cell/qpace_setup.c b/arch/powerpc/platforms/cell/qpace_setup.c index 1b5749042756..d31c594cfdf3 100644 --- a/arch/powerpc/platforms/cell/qpace_setup.c +++ b/arch/powerpc/platforms/cell/qpace_setup.c | |||
@@ -145,9 +145,4 @@ define_machine(qpace) { | |||
145 | .calibrate_decr = generic_calibrate_decr, | 145 | .calibrate_decr = generic_calibrate_decr, |
146 | .progress = qpace_progress, | 146 | .progress = qpace_progress, |
147 | .init_IRQ = iic_init_IRQ, | 147 | .init_IRQ = iic_init_IRQ, |
148 | #ifdef CONFIG_KEXEC | ||
149 | .machine_kexec = default_machine_kexec, | ||
150 | .machine_kexec_prepare = default_machine_kexec_prepare, | ||
151 | .machine_crash_shutdown = default_machine_crash_shutdown, | ||
152 | #endif | ||
153 | }; | 148 | }; |
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index 8547e86bfb42..acfaccea5f4f 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <asm/spu_csa.h> | 37 | #include <asm/spu_csa.h> |
38 | #include <asm/xmon.h> | 38 | #include <asm/xmon.h> |
39 | #include <asm/prom.h> | 39 | #include <asm/prom.h> |
40 | #include <asm/kexec.h> | ||
40 | 41 | ||
41 | const struct spu_management_ops *spu_management_ops; | 42 | const struct spu_management_ops *spu_management_ops; |
42 | EXPORT_SYMBOL_GPL(spu_management_ops); | 43 | EXPORT_SYMBOL_GPL(spu_management_ops); |
@@ -727,6 +728,75 @@ static ssize_t spu_stat_show(struct sys_device *sysdev, | |||
727 | 728 | ||
728 | static SYSDEV_ATTR(stat, 0644, spu_stat_show, NULL); | 729 | static SYSDEV_ATTR(stat, 0644, spu_stat_show, NULL); |
729 | 730 | ||
731 | #ifdef CONFIG_KEXEC | ||
732 | |||
733 | struct crash_spu_info { | ||
734 | struct spu *spu; | ||
735 | u32 saved_spu_runcntl_RW; | ||
736 | u32 saved_spu_status_R; | ||
737 | u32 saved_spu_npc_RW; | ||
738 | u64 saved_mfc_sr1_RW; | ||
739 | u64 saved_mfc_dar; | ||
740 | u64 saved_mfc_dsisr; | ||
741 | }; | ||
742 | |||
743 | #define CRASH_NUM_SPUS 16 /* Enough for current hardware */ | ||
744 | static struct crash_spu_info crash_spu_info[CRASH_NUM_SPUS]; | ||
745 | |||
746 | static void crash_kexec_stop_spus(void) | ||
747 | { | ||
748 | struct spu *spu; | ||
749 | int i; | ||
750 | u64 tmp; | ||
751 | |||
752 | for (i = 0; i < CRASH_NUM_SPUS; i++) { | ||
753 | if (!crash_spu_info[i].spu) | ||
754 | continue; | ||
755 | |||
756 | spu = crash_spu_info[i].spu; | ||
757 | |||
758 | crash_spu_info[i].saved_spu_runcntl_RW = | ||
759 | in_be32(&spu->problem->spu_runcntl_RW); | ||
760 | crash_spu_info[i].saved_spu_status_R = | ||
761 | in_be32(&spu->problem->spu_status_R); | ||
762 | crash_spu_info[i].saved_spu_npc_RW = | ||
763 | in_be32(&spu->problem->spu_npc_RW); | ||
764 | |||
765 | crash_spu_info[i].saved_mfc_dar = spu_mfc_dar_get(spu); | ||
766 | crash_spu_info[i].saved_mfc_dsisr = spu_mfc_dsisr_get(spu); | ||
767 | tmp = spu_mfc_sr1_get(spu); | ||
768 | crash_spu_info[i].saved_mfc_sr1_RW = tmp; | ||
769 | |||
770 | tmp &= ~MFC_STATE1_MASTER_RUN_CONTROL_MASK; | ||
771 | spu_mfc_sr1_set(spu, tmp); | ||
772 | |||
773 | __delay(200); | ||
774 | } | ||
775 | } | ||
776 | |||
777 | static void crash_register_spus(struct list_head *list) | ||
778 | { | ||
779 | struct spu *spu; | ||
780 | int ret; | ||
781 | |||
782 | list_for_each_entry(spu, list, full_list) { | ||
783 | if (WARN_ON(spu->number >= CRASH_NUM_SPUS)) | ||
784 | continue; | ||
785 | |||
786 | crash_spu_info[spu->number].spu = spu; | ||
787 | } | ||
788 | |||
789 | ret = crash_shutdown_register(&crash_kexec_stop_spus); | ||
790 | if (ret) | ||
791 | printk(KERN_ERR "Could not register SPU crash handler"); | ||
792 | } | ||
793 | |||
794 | #else | ||
795 | static inline void crash_register_spus(struct list_head *list) | ||
796 | { | ||
797 | } | ||
798 | #endif | ||
799 | |||
730 | static int __init init_spu_base(void) | 800 | static int __init init_spu_base(void) |
731 | { | 801 | { |
732 | int i, ret = 0; | 802 | int i, ret = 0; |
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 02f7b113a31b..3c7c3f82d842 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c | |||
@@ -219,24 +219,17 @@ spufs_mem_write(struct file *file, const char __user *buffer, | |||
219 | loff_t pos = *ppos; | 219 | loff_t pos = *ppos; |
220 | int ret; | 220 | int ret; |
221 | 221 | ||
222 | if (pos < 0) | ||
223 | return -EINVAL; | ||
224 | if (pos > LS_SIZE) | 222 | if (pos > LS_SIZE) |
225 | return -EFBIG; | 223 | return -EFBIG; |
226 | if (size > LS_SIZE - pos) | ||
227 | size = LS_SIZE - pos; | ||
228 | 224 | ||
229 | ret = spu_acquire(ctx); | 225 | ret = spu_acquire(ctx); |
230 | if (ret) | 226 | if (ret) |
231 | return ret; | 227 | return ret; |
232 | 228 | ||
233 | local_store = ctx->ops->get_ls(ctx); | 229 | local_store = ctx->ops->get_ls(ctx); |
234 | ret = copy_from_user(local_store + pos, buffer, size); | 230 | size = simple_write_to_buffer(local_store, LS_SIZE, ppos, buffer, size); |
235 | spu_release(ctx); | 231 | spu_release(ctx); |
236 | 232 | ||
237 | if (ret) | ||
238 | return -EFAULT; | ||
239 | *ppos = pos + size; | ||
240 | return size; | 233 | return size; |
241 | } | 234 | } |
242 | 235 | ||
@@ -574,18 +567,15 @@ spufs_regs_write(struct file *file, const char __user *buffer, | |||
574 | if (*pos >= sizeof(lscsa->gprs)) | 567 | if (*pos >= sizeof(lscsa->gprs)) |
575 | return -EFBIG; | 568 | return -EFBIG; |
576 | 569 | ||
577 | size = min_t(ssize_t, sizeof(lscsa->gprs) - *pos, size); | ||
578 | *pos += size; | ||
579 | |||
580 | ret = spu_acquire_saved(ctx); | 570 | ret = spu_acquire_saved(ctx); |
581 | if (ret) | 571 | if (ret) |
582 | return ret; | 572 | return ret; |
583 | 573 | ||
584 | ret = copy_from_user((char *)lscsa->gprs + *pos - size, | 574 | size = simple_write_to_buffer(lscsa->gprs, sizeof(lscsa->gprs), pos, |
585 | buffer, size) ? -EFAULT : size; | 575 | buffer, size); |
586 | 576 | ||
587 | spu_release_saved(ctx); | 577 | spu_release_saved(ctx); |
588 | return ret; | 578 | return size; |
589 | } | 579 | } |
590 | 580 | ||
591 | static const struct file_operations spufs_regs_fops = { | 581 | static const struct file_operations spufs_regs_fops = { |
@@ -630,18 +620,15 @@ spufs_fpcr_write(struct file *file, const char __user * buffer, | |||
630 | if (*pos >= sizeof(lscsa->fpcr)) | 620 | if (*pos >= sizeof(lscsa->fpcr)) |
631 | return -EFBIG; | 621 | return -EFBIG; |
632 | 622 | ||
633 | size = min_t(ssize_t, sizeof(lscsa->fpcr) - *pos, size); | ||
634 | |||
635 | ret = spu_acquire_saved(ctx); | 623 | ret = spu_acquire_saved(ctx); |
636 | if (ret) | 624 | if (ret) |
637 | return ret; | 625 | return ret; |
638 | 626 | ||
639 | *pos += size; | 627 | size = simple_write_to_buffer(&lscsa->fpcr, sizeof(lscsa->fpcr), pos, |
640 | ret = copy_from_user((char *)&lscsa->fpcr + *pos - size, | 628 | buffer, size); |
641 | buffer, size) ? -EFAULT : size; | ||
642 | 629 | ||
643 | spu_release_saved(ctx); | 630 | spu_release_saved(ctx); |
644 | return ret; | 631 | return size; |
645 | } | 632 | } |
646 | 633 | ||
647 | static const struct file_operations spufs_fpcr_fops = { | 634 | static const struct file_operations spufs_fpcr_fops = { |
diff --git a/arch/powerpc/platforms/embedded6xx/gamecube.c b/arch/powerpc/platforms/embedded6xx/gamecube.c index 1106fd99627f..a138e14bad2e 100644 --- a/arch/powerpc/platforms/embedded6xx/gamecube.c +++ b/arch/powerpc/platforms/embedded6xx/gamecube.c | |||
@@ -75,14 +75,6 @@ static void gamecube_shutdown(void) | |||
75 | flipper_quiesce(); | 75 | flipper_quiesce(); |
76 | } | 76 | } |
77 | 77 | ||
78 | #ifdef CONFIG_KEXEC | ||
79 | static int gamecube_kexec_prepare(struct kimage *image) | ||
80 | { | ||
81 | return 0; | ||
82 | } | ||
83 | #endif /* CONFIG_KEXEC */ | ||
84 | |||
85 | |||
86 | define_machine(gamecube) { | 78 | define_machine(gamecube) { |
87 | .name = "gamecube", | 79 | .name = "gamecube", |
88 | .probe = gamecube_probe, | 80 | .probe = gamecube_probe, |
@@ -95,9 +87,6 @@ define_machine(gamecube) { | |||
95 | .calibrate_decr = generic_calibrate_decr, | 87 | .calibrate_decr = generic_calibrate_decr, |
96 | .progress = udbg_progress, | 88 | .progress = udbg_progress, |
97 | .machine_shutdown = gamecube_shutdown, | 89 | .machine_shutdown = gamecube_shutdown, |
98 | #ifdef CONFIG_KEXEC | ||
99 | .machine_kexec_prepare = gamecube_kexec_prepare, | ||
100 | #endif | ||
101 | }; | 90 | }; |
102 | 91 | ||
103 | 92 | ||
diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c index 649473a729b8..1b5dc1a2e145 100644 --- a/arch/powerpc/platforms/embedded6xx/wii.c +++ b/arch/powerpc/platforms/embedded6xx/wii.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/irq.h> | 19 | #include <linux/irq.h> |
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/kexec.h> | ||
22 | #include <linux/of_platform.h> | 21 | #include <linux/of_platform.h> |
23 | #include <linux/memblock.h> | 22 | #include <linux/memblock.h> |
24 | #include <mm/mmu_decl.h> | 23 | #include <mm/mmu_decl.h> |
@@ -226,13 +225,6 @@ static void wii_shutdown(void) | |||
226 | flipper_quiesce(); | 225 | flipper_quiesce(); |
227 | } | 226 | } |
228 | 227 | ||
229 | #ifdef CONFIG_KEXEC | ||
230 | static int wii_machine_kexec_prepare(struct kimage *image) | ||
231 | { | ||
232 | return 0; | ||
233 | } | ||
234 | #endif /* CONFIG_KEXEC */ | ||
235 | |||
236 | define_machine(wii) { | 228 | define_machine(wii) { |
237 | .name = "wii", | 229 | .name = "wii", |
238 | .probe = wii_probe, | 230 | .probe = wii_probe, |
@@ -246,9 +238,6 @@ define_machine(wii) { | |||
246 | .calibrate_decr = generic_calibrate_decr, | 238 | .calibrate_decr = generic_calibrate_decr, |
247 | .progress = udbg_progress, | 239 | .progress = udbg_progress, |
248 | .machine_shutdown = wii_shutdown, | 240 | .machine_shutdown = wii_shutdown, |
249 | #ifdef CONFIG_KEXEC | ||
250 | .machine_kexec_prepare = wii_machine_kexec_prepare, | ||
251 | #endif | ||
252 | }; | 241 | }; |
253 | 242 | ||
254 | static struct of_device_id wii_of_bus[] = { | 243 | static struct of_device_id wii_of_bus[] = { |
diff --git a/arch/powerpc/platforms/iseries/Kconfig b/arch/powerpc/platforms/iseries/Kconfig index 47a20cfb4486..e5bc9f75d474 100644 --- a/arch/powerpc/platforms/iseries/Kconfig +++ b/arch/powerpc/platforms/iseries/Kconfig | |||
@@ -2,7 +2,7 @@ config PPC_ISERIES | |||
2 | bool "IBM Legacy iSeries" | 2 | bool "IBM Legacy iSeries" |
3 | depends on PPC64 && PPC_BOOK3S | 3 | depends on PPC64 && PPC_BOOK3S |
4 | select PPC_INDIRECT_IO | 4 | select PPC_INDIRECT_IO |
5 | select PPC_PCI_CHOICE if EMBEDDED | 5 | select PPC_PCI_CHOICE if EXPERT |
6 | 6 | ||
7 | menu "iSeries device drivers" | 7 | menu "iSeries device drivers" |
8 | depends on PPC_ISERIES | 8 | depends on PPC_ISERIES |
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig index 5d1b743dbe7e..5b3da4b4ea79 100644 --- a/arch/powerpc/platforms/pseries/Kconfig +++ b/arch/powerpc/platforms/pseries/Kconfig | |||
@@ -10,7 +10,7 @@ config PPC_PSERIES | |||
10 | select RTAS_ERROR_LOGGING | 10 | select RTAS_ERROR_LOGGING |
11 | select PPC_UDBG_16550 | 11 | select PPC_UDBG_16550 |
12 | select PPC_NATIVE | 12 | select PPC_NATIVE |
13 | select PPC_PCI_CHOICE if EMBEDDED | 13 | select PPC_PCI_CHOICE if EXPERT |
14 | default y | 14 | default y |
15 | 15 | ||
16 | config PPC_SPLPAR | 16 | config PPC_SPLPAR |
@@ -24,9 +24,9 @@ config PPC_SPLPAR | |||
24 | two or more partitions. | 24 | two or more partitions. |
25 | 25 | ||
26 | config EEH | 26 | config EEH |
27 | bool "PCI Extended Error Handling (EEH)" if EMBEDDED | 27 | bool "PCI Extended Error Handling (EEH)" if EXPERT |
28 | depends on PPC_PSERIES && PCI | 28 | depends on PPC_PSERIES && PCI |
29 | default y if !EMBEDDED | 29 | default y if !EXPERT |
30 | 30 | ||
31 | config PSERIES_MSI | 31 | config PSERIES_MSI |
32 | bool | 32 | bool |
diff --git a/arch/powerpc/platforms/pseries/kexec.c b/arch/powerpc/platforms/pseries/kexec.c index 53cbd53d8740..77d38a5e2ff9 100644 --- a/arch/powerpc/platforms/pseries/kexec.c +++ b/arch/powerpc/platforms/pseries/kexec.c | |||
@@ -61,13 +61,3 @@ void __init setup_kexec_cpu_down_xics(void) | |||
61 | { | 61 | { |
62 | ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_xics; | 62 | ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_xics; |
63 | } | 63 | } |
64 | |||
65 | static int __init pseries_kexec_setup(void) | ||
66 | { | ||
67 | ppc_md.machine_kexec = default_machine_kexec; | ||
68 | ppc_md.machine_kexec_prepare = default_machine_kexec_prepare; | ||
69 | ppc_md.machine_crash_shutdown = default_machine_crash_shutdown; | ||
70 | |||
71 | return 0; | ||
72 | } | ||
73 | machine_device_initcall(pseries, pseries_kexec_setup); | ||
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index a4fc6da87c2e..c55d7ad9c648 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c | |||
@@ -54,7 +54,8 @@ | |||
54 | static unsigned char ras_log_buf[RTAS_ERROR_LOG_MAX]; | 54 | static unsigned char ras_log_buf[RTAS_ERROR_LOG_MAX]; |
55 | static DEFINE_SPINLOCK(ras_log_buf_lock); | 55 | static DEFINE_SPINLOCK(ras_log_buf_lock); |
56 | 56 | ||
57 | static char mce_data_buf[RTAS_ERROR_LOG_MAX]; | 57 | static char global_mce_data_buf[RTAS_ERROR_LOG_MAX]; |
58 | static DEFINE_PER_CPU(__u64, mce_data_buf); | ||
58 | 59 | ||
59 | static int ras_get_sensor_state_token; | 60 | static int ras_get_sensor_state_token; |
60 | static int ras_check_exception_token; | 61 | static int ras_check_exception_token; |
@@ -196,12 +197,24 @@ static irqreturn_t ras_error_interrupt(int irq, void *dev_id) | |||
196 | return IRQ_HANDLED; | 197 | return IRQ_HANDLED; |
197 | } | 198 | } |
198 | 199 | ||
199 | /* Get the error information for errors coming through the | 200 | /* |
201 | * Some versions of FWNMI place the buffer inside the 4kB page starting at | ||
202 | * 0x7000. Other versions place it inside the rtas buffer. We check both. | ||
203 | */ | ||
204 | #define VALID_FWNMI_BUFFER(A) \ | ||
205 | ((((A) >= 0x7000) && ((A) < 0x7ff0)) || \ | ||
206 | (((A) >= rtas.base) && ((A) < (rtas.base + rtas.size - 16)))) | ||
207 | |||
208 | /* | ||
209 | * Get the error information for errors coming through the | ||
200 | * FWNMI vectors. The pt_regs' r3 will be updated to reflect | 210 | * FWNMI vectors. The pt_regs' r3 will be updated to reflect |
201 | * the actual r3 if possible, and a ptr to the error log entry | 211 | * the actual r3 if possible, and a ptr to the error log entry |
202 | * will be returned if found. | 212 | * will be returned if found. |
203 | * | 213 | * |
204 | * The mce_data_buf does not have any locks or protection around it, | 214 | * If the RTAS error is not of the extended type, then we put it in a per |
215 | * cpu 64bit buffer. If it is the extended type we use global_mce_data_buf. | ||
216 | * | ||
217 | * The global_mce_data_buf does not have any locks or protection around it, | ||
205 | * if a second machine check comes in, or a system reset is done | 218 | * if a second machine check comes in, or a system reset is done |
206 | * before we have logged the error, then we will get corruption in the | 219 | * before we have logged the error, then we will get corruption in the |
207 | * error log. This is preferable over holding off on calling | 220 | * error log. This is preferable over holding off on calling |
@@ -210,20 +223,31 @@ static irqreturn_t ras_error_interrupt(int irq, void *dev_id) | |||
210 | */ | 223 | */ |
211 | static struct rtas_error_log *fwnmi_get_errinfo(struct pt_regs *regs) | 224 | static struct rtas_error_log *fwnmi_get_errinfo(struct pt_regs *regs) |
212 | { | 225 | { |
213 | unsigned long errdata = regs->gpr[3]; | ||
214 | struct rtas_error_log *errhdr = NULL; | ||
215 | unsigned long *savep; | 226 | unsigned long *savep; |
227 | struct rtas_error_log *h, *errhdr = NULL; | ||
228 | |||
229 | if (!VALID_FWNMI_BUFFER(regs->gpr[3])) { | ||
230 | printk(KERN_ERR "FWNMI: corrupt r3\n"); | ||
231 | return NULL; | ||
232 | } | ||
216 | 233 | ||
217 | if ((errdata >= 0x7000 && errdata < 0x7fff0) || | 234 | savep = __va(regs->gpr[3]); |
218 | (errdata >= rtas.base && errdata < rtas.base + rtas.size - 16)) { | 235 | regs->gpr[3] = savep[0]; /* restore original r3 */ |
219 | savep = __va(errdata); | 236 | |
220 | regs->gpr[3] = savep[0]; /* restore original r3 */ | 237 | /* If it isn't an extended log we can use the per cpu 64bit buffer */ |
221 | memset(mce_data_buf, 0, RTAS_ERROR_LOG_MAX); | 238 | h = (struct rtas_error_log *)&savep[1]; |
222 | memcpy(mce_data_buf, (char *)(savep + 1), RTAS_ERROR_LOG_MAX); | 239 | if (!h->extended) { |
223 | errhdr = (struct rtas_error_log *)mce_data_buf; | 240 | memcpy(&__get_cpu_var(mce_data_buf), h, sizeof(__u64)); |
241 | errhdr = (struct rtas_error_log *)&__get_cpu_var(mce_data_buf); | ||
224 | } else { | 242 | } else { |
225 | printk("FWNMI: corrupt r3\n"); | 243 | int len; |
244 | |||
245 | len = max_t(int, 8+h->extended_log_length, RTAS_ERROR_LOG_MAX); | ||
246 | memset(global_mce_data_buf, 0, RTAS_ERROR_LOG_MAX); | ||
247 | memcpy(global_mce_data_buf, h, len); | ||
248 | errhdr = (struct rtas_error_log *)global_mce_data_buf; | ||
226 | } | 249 | } |
250 | |||
227 | return errhdr; | 251 | return errhdr; |
228 | } | 252 | } |
229 | 253 | ||
@@ -235,7 +259,7 @@ static void fwnmi_release_errinfo(void) | |||
235 | { | 259 | { |
236 | int ret = rtas_call(rtas_token("ibm,nmi-interlock"), 0, 1, NULL); | 260 | int ret = rtas_call(rtas_token("ibm,nmi-interlock"), 0, 1, NULL); |
237 | if (ret != 0) | 261 | if (ret != 0) |
238 | printk("FWNMI: nmi-interlock failed: %d\n", ret); | 262 | printk(KERN_ERR "FWNMI: nmi-interlock failed: %d\n", ret); |
239 | } | 263 | } |
240 | 264 | ||
241 | int pSeries_system_reset_exception(struct pt_regs *regs) | 265 | int pSeries_system_reset_exception(struct pt_regs *regs) |
@@ -259,31 +283,43 @@ int pSeries_system_reset_exception(struct pt_regs *regs) | |||
259 | * Return 1 if corrected (or delivered a signal). | 283 | * Return 1 if corrected (or delivered a signal). |
260 | * Return 0 if there is nothing we can do. | 284 | * Return 0 if there is nothing we can do. |
261 | */ | 285 | */ |
262 | static int recover_mce(struct pt_regs *regs, struct rtas_error_log * err) | 286 | static int recover_mce(struct pt_regs *regs, struct rtas_error_log *err) |
263 | { | 287 | { |
264 | int nonfatal = 0; | 288 | int recovered = 0; |
265 | 289 | ||
266 | if (err->disposition == RTAS_DISP_FULLY_RECOVERED) { | 290 | if (!(regs->msr & MSR_RI)) { |
291 | /* If MSR_RI isn't set, we cannot recover */ | ||
292 | recovered = 0; | ||
293 | |||
294 | } else if (err->disposition == RTAS_DISP_FULLY_RECOVERED) { | ||
267 | /* Platform corrected itself */ | 295 | /* Platform corrected itself */ |
268 | nonfatal = 1; | 296 | recovered = 1; |
269 | } else if ((regs->msr & MSR_RI) && | 297 | |
270 | user_mode(regs) && | 298 | } else if (err->disposition == RTAS_DISP_LIMITED_RECOVERY) { |
271 | err->severity == RTAS_SEVERITY_ERROR_SYNC && | 299 | /* Platform corrected itself but could be degraded */ |
272 | err->disposition == RTAS_DISP_NOT_RECOVERED && | 300 | printk(KERN_ERR "MCE: limited recovery, system may " |
273 | err->target == RTAS_TARGET_MEMORY && | 301 | "be degraded\n"); |
274 | err->type == RTAS_TYPE_ECC_UNCORR && | 302 | recovered = 1; |
275 | !(current->pid == 0 || is_global_init(current))) { | 303 | |
276 | /* Kill off a user process with an ECC error */ | 304 | } else if (user_mode(regs) && !is_global_init(current) && |
277 | printk(KERN_ERR "MCE: uncorrectable ecc error for pid %d\n", | 305 | err->severity == RTAS_SEVERITY_ERROR_SYNC) { |
278 | current->pid); | 306 | |
279 | /* XXX something better for ECC error? */ | 307 | /* |
280 | _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); | 308 | * If we received a synchronous error when in userspace |
281 | nonfatal = 1; | 309 | * kill the task. Firmware may report details of the fail |
310 | * asynchronously, so we can't rely on the target and type | ||
311 | * fields being valid here. | ||
312 | */ | ||
313 | printk(KERN_ERR "MCE: uncorrectable error, killing task " | ||
314 | "%s:%d\n", current->comm, current->pid); | ||
315 | |||
316 | _exception(SIGBUS, regs, BUS_MCEERR_AR, regs->nip); | ||
317 | recovered = 1; | ||
282 | } | 318 | } |
283 | 319 | ||
284 | log_error((char *)err, ERR_TYPE_RTAS_LOG, !nonfatal); | 320 | log_error((char *)err, ERR_TYPE_RTAS_LOG, 0); |
285 | 321 | ||
286 | return nonfatal; | 322 | return recovered; |
287 | } | 323 | } |
288 | 324 | ||
289 | /* | 325 | /* |
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c index 9f99bef2adec..8c6cab013278 100644 --- a/arch/powerpc/sysdev/fsl_rio.c +++ b/arch/powerpc/sysdev/fsl_rio.c | |||
@@ -1555,8 +1555,6 @@ int fsl_rio_setup(struct platform_device *dev) | |||
1555 | saved_mcheck_exception = ppc_md.machine_check_exception; | 1555 | saved_mcheck_exception = ppc_md.machine_check_exception; |
1556 | ppc_md.machine_check_exception = fsl_rio_mcheck_exception; | 1556 | ppc_md.machine_check_exception = fsl_rio_mcheck_exception; |
1557 | #endif | 1557 | #endif |
1558 | /* Ensure that RFXE is set */ | ||
1559 | mtspr(SPRN_HID1, (mfspr(SPRN_HID1) | 0x20000)); | ||
1560 | 1558 | ||
1561 | return 0; | 1559 | return 0; |
1562 | err: | 1560 | err: |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 7c1342618a30..b0c8469e5ddd 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -674,7 +674,8 @@ void mpic_unmask_irq(unsigned int irq) | |||
674 | /* make sure mask gets to controller before we return to user */ | 674 | /* make sure mask gets to controller before we return to user */ |
675 | do { | 675 | do { |
676 | if (!loops--) { | 676 | if (!loops--) { |
677 | printk(KERN_ERR "mpic_enable_irq timeout\n"); | 677 | printk(KERN_ERR "%s: timeout on hwirq %u\n", |
678 | __func__, src); | ||
678 | break; | 679 | break; |
679 | } | 680 | } |
680 | } while(mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI)) & MPIC_VECPRI_MASK); | 681 | } while(mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI)) & MPIC_VECPRI_MASK); |
@@ -695,7 +696,8 @@ void mpic_mask_irq(unsigned int irq) | |||
695 | /* make sure mask gets to controller before we return to user */ | 696 | /* make sure mask gets to controller before we return to user */ |
696 | do { | 697 | do { |
697 | if (!loops--) { | 698 | if (!loops--) { |
698 | printk(KERN_ERR "mpic_enable_irq timeout\n"); | 699 | printk(KERN_ERR "%s: timeout on hwirq %u\n", |
700 | __func__, src); | ||
699 | break; | 701 | break; |
700 | } | 702 | } |
701 | } while(!(mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI)) & MPIC_VECPRI_MASK)); | 703 | } while(!(mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI)) & MPIC_VECPRI_MASK)); |
diff --git a/arch/score/Kconfig b/arch/score/Kconfig index 4293fdcb5398..27b2295f41f3 100644 --- a/arch/score/Kconfig +++ b/arch/score/Kconfig | |||
@@ -1,5 +1,9 @@ | |||
1 | menu "Machine selection" | 1 | menu "Machine selection" |
2 | 2 | ||
3 | config SCORE | ||
4 | def_bool y | ||
5 | select HAVE_GENERIC_HARDIRQS | ||
6 | |||
3 | choice | 7 | choice |
4 | prompt "System type" | 8 | prompt "System type" |
5 | default MACH_SPCT6600 | 9 | default MACH_SPCT6600 |
@@ -53,9 +57,6 @@ config GENERIC_CLOCKEVENTS | |||
53 | config SCHED_NO_NO_OMIT_FRAME_POINTER | 57 | config SCHED_NO_NO_OMIT_FRAME_POINTER |
54 | def_bool y | 58 | def_bool y |
55 | 59 | ||
56 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
57 | def_bool y | ||
58 | |||
59 | config GENERIC_SYSCALL_TABLE | 60 | config GENERIC_SYSCALL_TABLE |
60 | def_bool y | 61 | def_bool y |
61 | 62 | ||
@@ -68,9 +69,6 @@ menu "Kernel type" | |||
68 | config 32BIT | 69 | config 32BIT |
69 | def_bool y | 70 | def_bool y |
70 | 71 | ||
71 | config GENERIC_HARDIRQS | ||
72 | def_bool y | ||
73 | |||
74 | config ARCH_FLATMEM_ENABLE | 72 | config ARCH_FLATMEM_ENABLE |
75 | def_bool y | 73 | def_bool y |
76 | 74 | ||
diff --git a/arch/score/configs/spct6600_defconfig b/arch/score/configs/spct6600_defconfig index 9883c50e4636..df1edbf507a2 100644 --- a/arch/score/configs/spct6600_defconfig +++ b/arch/score/configs/spct6600_defconfig | |||
@@ -9,7 +9,7 @@ CONFIG_LOG_BUF_SHIFT=12 | |||
9 | CONFIG_SYSFS_DEPRECATED_V2=y | 9 | CONFIG_SYSFS_DEPRECATED_V2=y |
10 | CONFIG_BLK_DEV_INITRD=y | 10 | CONFIG_BLK_DEV_INITRD=y |
11 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 11 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
12 | CONFIG_EMBEDDED=y | 12 | CONFIG_EXPERT=y |
13 | # CONFIG_KALLSYMS is not set | 13 | # CONFIG_KALLSYMS is not set |
14 | # CONFIG_HOTPLUG is not set | 14 | # CONFIG_HOTPLUG is not set |
15 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index fff252209f63..8a9011dced14 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config SUPERH | 1 | config SUPERH |
2 | def_bool y | 2 | def_bool y |
3 | select EMBEDDED | 3 | select EXPERT |
4 | select CLKDEV_LOOKUP | 4 | select CLKDEV_LOOKUP |
5 | select HAVE_IDE if HAS_IOPORT | 5 | select HAVE_IDE if HAS_IOPORT |
6 | select HAVE_MEMBLOCK | 6 | select HAVE_MEMBLOCK |
@@ -15,6 +15,7 @@ config SUPERH | |||
15 | select HAVE_KERNEL_GZIP | 15 | select HAVE_KERNEL_GZIP |
16 | select HAVE_KERNEL_BZIP2 | 16 | select HAVE_KERNEL_BZIP2 |
17 | select HAVE_KERNEL_LZMA | 17 | select HAVE_KERNEL_LZMA |
18 | select HAVE_KERNEL_XZ | ||
18 | select HAVE_KERNEL_LZO | 19 | select HAVE_KERNEL_LZO |
19 | select HAVE_SYSCALL_TRACEPOINTS | 20 | select HAVE_SYSCALL_TRACEPOINTS |
20 | select HAVE_REGS_AND_STACK_ACCESS_API | 21 | select HAVE_REGS_AND_STACK_ACCESS_API |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 9c8c6e1a2a15..e3d8170ad00b 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -200,7 +200,7 @@ endif | |||
200 | libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) | 200 | libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) |
201 | libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) | 201 | libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) |
202 | 202 | ||
203 | BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.lzo \ | 203 | BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.xz uImage.lzo \ |
204 | uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \ | 204 | uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \ |
205 | romImage | 205 | romImage |
206 | PHONY += $(BOOT_TARGETS) | 206 | PHONY += $(BOOT_TARGETS) |
@@ -230,5 +230,6 @@ define archhelp | |||
230 | @echo '* uImage.gz - Kernel-only image for U-Boot (gzip)' | 230 | @echo '* uImage.gz - Kernel-only image for U-Boot (gzip)' |
231 | @echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)' | 231 | @echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)' |
232 | @echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)' | 232 | @echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)' |
233 | @echo ' uImage.xz - Kernel-only image for U-Boot (xz)' | ||
233 | @echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)' | 234 | @echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)' |
234 | endef | 235 | endef |
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c index 33b662999fc6..701667acfd89 100644 --- a/arch/sh/boards/mach-ecovec24/setup.c +++ b/arch/sh/boards/mach-ecovec24/setup.c | |||
@@ -1294,6 +1294,7 @@ static int __init arch_setup(void) | |||
1294 | i2c_register_board_info(1, i2c1_devices, | 1294 | i2c_register_board_info(1, i2c1_devices, |
1295 | ARRAY_SIZE(i2c1_devices)); | 1295 | ARRAY_SIZE(i2c1_devices)); |
1296 | 1296 | ||
1297 | #if defined(CONFIG_VIDEO_SH_VOU) || defined(CONFIG_VIDEO_SH_VOU_MODULE) | ||
1297 | /* VOU */ | 1298 | /* VOU */ |
1298 | gpio_request(GPIO_FN_DV_D15, NULL); | 1299 | gpio_request(GPIO_FN_DV_D15, NULL); |
1299 | gpio_request(GPIO_FN_DV_D14, NULL); | 1300 | gpio_request(GPIO_FN_DV_D14, NULL); |
@@ -1325,6 +1326,7 @@ static int __init arch_setup(void) | |||
1325 | 1326 | ||
1326 | /* Remove reset */ | 1327 | /* Remove reset */ |
1327 | gpio_set_value(GPIO_PTG4, 1); | 1328 | gpio_set_value(GPIO_PTG4, 1); |
1329 | #endif | ||
1328 | 1330 | ||
1329 | return platform_add_devices(ecovec_devices, | 1331 | return platform_add_devices(ecovec_devices, |
1330 | ARRAY_SIZE(ecovec_devices)); | 1332 | ARRAY_SIZE(ecovec_devices)); |
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile index 1ce63624c9b9..ba515d800245 100644 --- a/arch/sh/boot/Makefile +++ b/arch/sh/boot/Makefile | |||
@@ -24,12 +24,13 @@ suffix-y := bin | |||
24 | suffix-$(CONFIG_KERNEL_GZIP) := gz | 24 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
25 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | 25 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 |
26 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | 26 | suffix-$(CONFIG_KERNEL_LZMA) := lzma |
27 | suffix-$(CONFIG_KERNEL_XZ) := xz | ||
27 | suffix-$(CONFIG_KERNEL_LZO) := lzo | 28 | suffix-$(CONFIG_KERNEL_LZO) := lzo |
28 | 29 | ||
29 | targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \ | 30 | targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \ |
30 | uImage.bz2 uImage.lzma uImage.lzo uImage.bin | 31 | uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin |
31 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ | 32 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ |
32 | vmlinux.bin.lzo | 33 | vmlinux.bin.xz vmlinux.bin.lzo |
33 | subdir- := compressed romimage | 34 | subdir- := compressed romimage |
34 | 35 | ||
35 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | 36 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE |
@@ -76,6 +77,9 @@ $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | |||
76 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | 77 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE |
77 | $(call if_changed,lzma) | 78 | $(call if_changed,lzma) |
78 | 79 | ||
80 | $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE | ||
81 | $(call if_changed,xzkern) | ||
82 | |||
79 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE | 83 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE |
80 | $(call if_changed,lzo) | 84 | $(call if_changed,lzo) |
81 | 85 | ||
@@ -88,6 +92,9 @@ $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz | |||
88 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma | 92 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma |
89 | $(call if_changed,uimage,lzma) | 93 | $(call if_changed,uimage,lzma) |
90 | 94 | ||
95 | $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz | ||
96 | $(call if_changed,uimage,xz) | ||
97 | |||
91 | $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo | 98 | $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo |
92 | $(call if_changed,uimage,lzo) | 99 | $(call if_changed,uimage,lzo) |
93 | 100 | ||
diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile index cfa5a087a886..e0b0293bae63 100644 --- a/arch/sh/boot/compressed/Makefile +++ b/arch/sh/boot/compressed/Makefile | |||
@@ -6,7 +6,7 @@ | |||
6 | 6 | ||
7 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ | 7 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ |
8 | vmlinux.bin.bz2 vmlinux.bin.lzma \ | 8 | vmlinux.bin.bz2 vmlinux.bin.lzma \ |
9 | vmlinux.bin.lzo \ | 9 | vmlinux.bin.xz vmlinux.bin.lzo \ |
10 | head_$(BITS).o misc.o piggy.o | 10 | head_$(BITS).o misc.o piggy.o |
11 | 11 | ||
12 | OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o | 12 | OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o |
@@ -50,6 +50,8 @@ $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE | |||
50 | $(call if_changed,bzip2) | 50 | $(call if_changed,bzip2) |
51 | $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE | 51 | $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE |
52 | $(call if_changed,lzma) | 52 | $(call if_changed,lzma) |
53 | $(obj)/vmlinux.bin.xz: $(vmlinux.bin.all-y) FORCE | ||
54 | $(call if_changed,xzkern) | ||
53 | $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE | 55 | $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE |
54 | $(call if_changed,lzo) | 56 | $(call if_changed,lzo) |
55 | 57 | ||
diff --git a/arch/sh/boot/compressed/misc.c b/arch/sh/boot/compressed/misc.c index 27140a6b365d..95470a472d2c 100644 --- a/arch/sh/boot/compressed/misc.c +++ b/arch/sh/boot/compressed/misc.c | |||
@@ -61,6 +61,10 @@ static unsigned long free_mem_end_ptr; | |||
61 | #include "../../../../lib/decompress_unlzma.c" | 61 | #include "../../../../lib/decompress_unlzma.c" |
62 | #endif | 62 | #endif |
63 | 63 | ||
64 | #ifdef CONFIG_KERNEL_XZ | ||
65 | #include "../../../../lib/decompress_unxz.c" | ||
66 | #endif | ||
67 | |||
64 | #ifdef CONFIG_KERNEL_LZO | 68 | #ifdef CONFIG_KERNEL_LZO |
65 | #include "../../../../lib/decompress_unlzo.c" | 69 | #include "../../../../lib/decompress_unlzo.c" |
66 | #endif | 70 | #endif |
diff --git a/arch/sh/include/asm/pgtable.h b/arch/sh/include/asm/pgtable.h index 083ea068e819..db85916b9e95 100644 --- a/arch/sh/include/asm/pgtable.h +++ b/arch/sh/include/asm/pgtable.h | |||
@@ -134,6 +134,7 @@ typedef pte_t *pte_addr_t; | |||
134 | extern void pgtable_cache_init(void); | 134 | extern void pgtable_cache_init(void); |
135 | 135 | ||
136 | struct vm_area_struct; | 136 | struct vm_area_struct; |
137 | struct mm_struct; | ||
137 | 138 | ||
138 | extern void __update_cache(struct vm_area_struct *vma, | 139 | extern void __update_cache(struct vm_area_struct *vma, |
139 | unsigned long address, pte_t pte); | 140 | unsigned long address, pte_t pte); |
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index c2b0aaaedcae..672944f5b19c 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c | |||
@@ -230,10 +230,10 @@ static struct platform_device *sh7750_devices[] __initdata = { | |||
230 | static int __init sh7750_devices_setup(void) | 230 | static int __init sh7750_devices_setup(void) |
231 | { | 231 | { |
232 | if (mach_is_rts7751r2d()) { | 232 | if (mach_is_rts7751r2d()) { |
233 | platform_register_device(&scif_device); | 233 | platform_device_register(&scif_device); |
234 | } else { | 234 | } else { |
235 | platform_register_device(&sci_device); | 235 | platform_device_register(&sci_device); |
236 | platform_register_device(&scif_device); | 236 | platform_device_register(&scif_device); |
237 | } | 237 | } |
238 | 238 | ||
239 | return platform_add_devices(sh7750_devices, | 239 | return platform_add_devices(sh7750_devices, |
diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c index 948fdb656933..38e862852dd0 100644 --- a/arch/sh/kernel/topology.c +++ b/arch/sh/kernel/topology.c | |||
@@ -17,6 +17,7 @@ | |||
17 | static DEFINE_PER_CPU(struct cpu, cpu_devices); | 17 | static DEFINE_PER_CPU(struct cpu, cpu_devices); |
18 | 18 | ||
19 | cpumask_t cpu_core_map[NR_CPUS]; | 19 | cpumask_t cpu_core_map[NR_CPUS]; |
20 | EXPORT_SYMBOL(cpu_core_map); | ||
20 | 21 | ||
21 | static cpumask_t cpu_coregroup_map(unsigned int cpu) | 22 | static cpumask_t cpu_coregroup_map(unsigned int cpu) |
22 | { | 23 | { |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 45d9c87d083a..95695e97703e 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -50,6 +50,7 @@ config SPARC64 | |||
50 | select RTC_DRV_STARFIRE | 50 | select RTC_DRV_STARFIRE |
51 | select HAVE_PERF_EVENTS | 51 | select HAVE_PERF_EVENTS |
52 | select PERF_USE_VMALLOC | 52 | select PERF_USE_VMALLOC |
53 | select HAVE_GENERIC_HARDIRQS | ||
53 | 54 | ||
54 | config ARCH_DEFCONFIG | 55 | config ARCH_DEFCONFIG |
55 | string | 56 | string |
@@ -107,10 +108,6 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK | |||
107 | config NEED_PER_CPU_PAGE_FIRST_CHUNK | 108 | config NEED_PER_CPU_PAGE_FIRST_CHUNK |
108 | def_bool y if SPARC64 | 109 | def_bool y if SPARC64 |
109 | 110 | ||
110 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
111 | bool | ||
112 | def_bool y if SPARC64 | ||
113 | |||
114 | config MMU | 111 | config MMU |
115 | bool | 112 | bool |
116 | default y | 113 | default y |
@@ -276,10 +273,6 @@ config HOTPLUG_CPU | |||
276 | can be controlled through /sys/devices/system/cpu/cpu#. | 273 | can be controlled through /sys/devices/system/cpu/cpu#. |
277 | Say N if you want to disable CPU hotplug. | 274 | Say N if you want to disable CPU hotplug. |
278 | 275 | ||
279 | config GENERIC_HARDIRQS | ||
280 | bool | ||
281 | default y if SPARC64 | ||
282 | |||
283 | source "kernel/time/Kconfig" | 276 | source "kernel/time/Kconfig" |
284 | 277 | ||
285 | if SPARC64 | 278 | if SPARC64 |
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index e11b5fcb70eb..08948e4e1503 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -1,24 +1,33 @@ | |||
1 | # For a description of the syntax of this configuration file, | 1 | # For a description of the syntax of this configuration file, |
2 | # see Documentation/kbuild/config-language.txt. | 2 | # see Documentation/kbuild/config-language.txt. |
3 | 3 | ||
4 | config MMU | 4 | config TILE |
5 | def_bool y | ||
6 | |||
7 | config GENERIC_CSUM | ||
8 | def_bool y | ||
9 | |||
10 | config GENERIC_HARDIRQS | ||
11 | def_bool y | 5 | def_bool y |
6 | select HAVE_KVM if !TILEGX | ||
7 | select GENERIC_FIND_FIRST_BIT | ||
8 | select GENERIC_FIND_NEXT_BIT | ||
9 | select USE_GENERIC_SMP_HELPERS | ||
10 | select CC_OPTIMIZE_FOR_SIZE | ||
11 | select HAVE_GENERIC_HARDIRQS | ||
12 | select GENERIC_IRQ_PROBE | ||
13 | select GENERIC_PENDING_IRQ if SMP | ||
12 | 14 | ||
13 | config GENERIC_HARDIRQS_NO__DO_IRQ | 15 | # FIXME: investigate whether we need/want these options. |
14 | def_bool y | 16 | # select HAVE_IOREMAP_PROT |
17 | # select HAVE_OPTPROBES | ||
18 | # select HAVE_REGS_AND_STACK_ACCESS_API | ||
19 | # select HAVE_HW_BREAKPOINT | ||
20 | # select PERF_EVENTS | ||
21 | # select HAVE_USER_RETURN_NOTIFIER | ||
22 | # config NO_BOOTMEM | ||
23 | # config ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
24 | # config HUGETLB_PAGE_SIZE_VARIABLE | ||
15 | 25 | ||
16 | config GENERIC_IRQ_PROBE | 26 | config MMU |
17 | def_bool y | 27 | def_bool y |
18 | 28 | ||
19 | config GENERIC_PENDING_IRQ | 29 | config GENERIC_CSUM |
20 | def_bool y | 30 | def_bool y |
21 | depends on GENERIC_HARDIRQS && SMP | ||
22 | 31 | ||
23 | config SEMAPHORE_SLEEPERS | 32 | config SEMAPHORE_SLEEPERS |
24 | def_bool y | 33 | def_bool y |
@@ -97,26 +106,6 @@ config HVC_TILE | |||
97 | select HVC_DRIVER | 106 | select HVC_DRIVER |
98 | def_bool y | 107 | def_bool y |
99 | 108 | ||
100 | config TILE | ||
101 | def_bool y | ||
102 | select HAVE_KVM if !TILEGX | ||
103 | select GENERIC_FIND_FIRST_BIT | ||
104 | select GENERIC_FIND_NEXT_BIT | ||
105 | select USE_GENERIC_SMP_HELPERS | ||
106 | select CC_OPTIMIZE_FOR_SIZE | ||
107 | |||
108 | # FIXME: investigate whether we need/want these options. | ||
109 | # select HAVE_IOREMAP_PROT | ||
110 | # select HAVE_OPTPROBES | ||
111 | # select HAVE_REGS_AND_STACK_ACCESS_API | ||
112 | # select HAVE_HW_BREAKPOINT | ||
113 | # select PERF_EVENTS | ||
114 | # select HAVE_USER_RETURN_NOTIFIER | ||
115 | # config NO_BOOTMEM | ||
116 | # config ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
117 | # config HUGETLB_PAGE_SIZE_VARIABLE | ||
118 | |||
119 | |||
120 | # Please note: TILE-Gx support is not yet finalized; this is | 109 | # Please note: TILE-Gx support is not yet finalized; this is |
121 | # the preliminary support. TILE-Gx drivers are only provided | 110 | # the preliminary support. TILE-Gx drivers are only provided |
122 | # with the alpha or beta test versions for Tilera customers. | 111 | # with the alpha or beta test versions for Tilera customers. |
@@ -220,7 +209,7 @@ config FORCE_MAX_ZONEORDER | |||
220 | 209 | ||
221 | choice | 210 | choice |
222 | depends on !TILEGX | 211 | depends on !TILEGX |
223 | prompt "Memory split" if EMBEDDED | 212 | prompt "Memory split" if EXPERT |
224 | default VMSPLIT_3G | 213 | default VMSPLIT_3G |
225 | ---help--- | 214 | ---help--- |
226 | Select the desired split between kernel and user memory. | 215 | Select the desired split between kernel and user memory. |
diff --git a/arch/tile/Kconfig.debug b/arch/tile/Kconfig.debug index a81f0fbf7e60..9bc161a02c71 100644 --- a/arch/tile/Kconfig.debug +++ b/arch/tile/Kconfig.debug | |||
@@ -3,7 +3,7 @@ menu "Kernel hacking" | |||
3 | source "lib/Kconfig.debug" | 3 | source "lib/Kconfig.debug" |
4 | 4 | ||
5 | config EARLY_PRINTK | 5 | config EARLY_PRINTK |
6 | bool "Early printk" if EMBEDDED && DEBUG_KERNEL | 6 | bool "Early printk" if EXPERT && DEBUG_KERNEL |
7 | default y | 7 | default y |
8 | help | 8 | help |
9 | Write kernel log output directly via the hypervisor console. | 9 | Write kernel log output directly via the hypervisor console. |
diff --git a/arch/tile/configs/tile_defconfig b/arch/tile/configs/tile_defconfig index 919c54afd981..0fe54445fda5 100644 --- a/arch/tile/configs/tile_defconfig +++ b/arch/tile/configs/tile_defconfig | |||
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y | |||
3 | CONFIG_SYSVIPC=y | 3 | CONFIG_SYSVIPC=y |
4 | CONFIG_BLK_DEV_INITRD=y | 4 | CONFIG_BLK_DEV_INITRD=y |
5 | CONFIG_INITRAMFS_SOURCE="usr/contents.txt" | 5 | CONFIG_INITRAMFS_SOURCE="usr/contents.txt" |
6 | CONFIG_EMBEDDED=y | 6 | CONFIG_EXPERT=y |
7 | # CONFIG_COMPAT_BRK is not set | 7 | # CONFIG_COMPAT_BRK is not set |
8 | CONFIG_PROFILING=y | 8 | CONFIG_PROFILING=y |
9 | CONFIG_MODULES=y | 9 | CONFIG_MODULES=y |
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common index 049d048b070d..e351e14b4339 100644 --- a/arch/um/Kconfig.common +++ b/arch/um/Kconfig.common | |||
@@ -3,14 +3,10 @@ config DEFCONFIG_LIST | |||
3 | option defconfig_list | 3 | option defconfig_list |
4 | default "arch/$ARCH/defconfig" | 4 | default "arch/$ARCH/defconfig" |
5 | 5 | ||
6 | # UML uses the generic IRQ subsystem | ||
7 | config GENERIC_HARDIRQS | ||
8 | bool | ||
9 | default y | ||
10 | |||
11 | config UML | 6 | config UML |
12 | bool | 7 | bool |
13 | default y | 8 | default y |
9 | select HAVE_GENERIC_HARDIRQS | ||
14 | 10 | ||
15 | config MMU | 11 | config MMU |
16 | bool | 12 | bool |
diff --git a/arch/um/Kconfig.um b/arch/um/Kconfig.um index f8d1d0d47fe6..90a438acbfaf 100644 --- a/arch/um/Kconfig.um +++ b/arch/um/Kconfig.um | |||
@@ -120,9 +120,6 @@ config SMP | |||
120 | 120 | ||
121 | If you don't know what to do, say N. | 121 | If you don't know what to do, say N. |
122 | 122 | ||
123 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
124 | def_bool y | ||
125 | |||
126 | config NR_CPUS | 123 | config NR_CPUS |
127 | int "Maximum number of CPUs (2-32)" | 124 | int "Maximum number of CPUs (2-32)" |
128 | range 2 32 | 125 | range 2 32 |
diff --git a/arch/um/defconfig b/arch/um/defconfig index 564f3de65b4a..9f7634f08cf3 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig | |||
@@ -133,7 +133,7 @@ CONFIG_SYSFS_DEPRECATED=y | |||
133 | # CONFIG_BLK_DEV_INITRD is not set | 133 | # CONFIG_BLK_DEV_INITRD is not set |
134 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 134 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
135 | CONFIG_SYSCTL=y | 135 | CONFIG_SYSCTL=y |
136 | # CONFIG_EMBEDDED is not set | 136 | # CONFIG_EXPERT is not set |
137 | CONFIG_UID16=y | 137 | CONFIG_UID16=y |
138 | CONFIG_SYSCTL_SYSCALL=y | 138 | CONFIG_SYSCTL_SYSCALL=y |
139 | CONFIG_KALLSYMS=y | 139 | CONFIG_KALLSYMS=y |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 3ed5ad92b029..d5ed94d30aad 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -627,11 +627,11 @@ config APB_TIMER | |||
627 | as it is off-chip. APB timers are always running regardless of CPU | 627 | as it is off-chip. APB timers are always running regardless of CPU |
628 | C states, they are used as per CPU clockevent device when possible. | 628 | C states, they are used as per CPU clockevent device when possible. |
629 | 629 | ||
630 | # Mark as embedded because too many people got it wrong. | 630 | # Mark as expert because too many people got it wrong. |
631 | # The code disables itself when not needed. | 631 | # The code disables itself when not needed. |
632 | config DMI | 632 | config DMI |
633 | default y | 633 | default y |
634 | bool "Enable DMI scanning" if EMBEDDED | 634 | bool "Enable DMI scanning" if EXPERT |
635 | ---help--- | 635 | ---help--- |
636 | Enabled scanning of DMI to identify machine quirks. Say Y | 636 | Enabled scanning of DMI to identify machine quirks. Say Y |
637 | here unless you have verified that your setup is not | 637 | here unless you have verified that your setup is not |
@@ -639,7 +639,7 @@ config DMI | |||
639 | BIOS code. | 639 | BIOS code. |
640 | 640 | ||
641 | config GART_IOMMU | 641 | config GART_IOMMU |
642 | bool "GART IOMMU support" if EMBEDDED | 642 | bool "GART IOMMU support" if EXPERT |
643 | default y | 643 | default y |
644 | select SWIOTLB | 644 | select SWIOTLB |
645 | depends on X86_64 && PCI && AMD_NB | 645 | depends on X86_64 && PCI && AMD_NB |
@@ -889,7 +889,7 @@ config X86_THERMAL_VECTOR | |||
889 | depends on X86_MCE_INTEL | 889 | depends on X86_MCE_INTEL |
890 | 890 | ||
891 | config VM86 | 891 | config VM86 |
892 | bool "Enable VM86 support" if EMBEDDED | 892 | bool "Enable VM86 support" if EXPERT |
893 | default y | 893 | default y |
894 | depends on X86_32 | 894 | depends on X86_32 |
895 | ---help--- | 895 | ---help--- |
@@ -1073,7 +1073,7 @@ endchoice | |||
1073 | 1073 | ||
1074 | choice | 1074 | choice |
1075 | depends on EXPERIMENTAL | 1075 | depends on EXPERIMENTAL |
1076 | prompt "Memory split" if EMBEDDED | 1076 | prompt "Memory split" if EXPERT |
1077 | default VMSPLIT_3G | 1077 | default VMSPLIT_3G |
1078 | depends on X86_32 | 1078 | depends on X86_32 |
1079 | ---help--- | 1079 | ---help--- |
@@ -1135,7 +1135,7 @@ config ARCH_DMA_ADDR_T_64BIT | |||
1135 | def_bool X86_64 || HIGHMEM64G | 1135 | def_bool X86_64 || HIGHMEM64G |
1136 | 1136 | ||
1137 | config DIRECT_GBPAGES | 1137 | config DIRECT_GBPAGES |
1138 | bool "Enable 1GB pages for kernel pagetables" if EMBEDDED | 1138 | bool "Enable 1GB pages for kernel pagetables" if EXPERT |
1139 | default y | 1139 | default y |
1140 | depends on X86_64 | 1140 | depends on X86_64 |
1141 | ---help--- | 1141 | ---help--- |
@@ -1369,7 +1369,7 @@ config MATH_EMULATION | |||
1369 | 1369 | ||
1370 | config MTRR | 1370 | config MTRR |
1371 | def_bool y | 1371 | def_bool y |
1372 | prompt "MTRR (Memory Type Range Register) support" if EMBEDDED | 1372 | prompt "MTRR (Memory Type Range Register) support" if EXPERT |
1373 | ---help--- | 1373 | ---help--- |
1374 | On Intel P6 family processors (Pentium Pro, Pentium II and later) | 1374 | On Intel P6 family processors (Pentium Pro, Pentium II and later) |
1375 | the Memory Type Range Registers (MTRRs) may be used to control | 1375 | the Memory Type Range Registers (MTRRs) may be used to control |
@@ -1435,7 +1435,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT | |||
1435 | 1435 | ||
1436 | config X86_PAT | 1436 | config X86_PAT |
1437 | def_bool y | 1437 | def_bool y |
1438 | prompt "x86 PAT support" if EMBEDDED | 1438 | prompt "x86 PAT support" if EXPERT |
1439 | depends on MTRR | 1439 | depends on MTRR |
1440 | ---help--- | 1440 | ---help--- |
1441 | Use PAT attributes to setup page level cache control. | 1441 | Use PAT attributes to setup page level cache control. |
@@ -1539,7 +1539,7 @@ config KEXEC_JUMP | |||
1539 | code in physical address mode via KEXEC | 1539 | code in physical address mode via KEXEC |
1540 | 1540 | ||
1541 | config PHYSICAL_START | 1541 | config PHYSICAL_START |
1542 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) | 1542 | hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) |
1543 | default "0x1000000" | 1543 | default "0x1000000" |
1544 | ---help--- | 1544 | ---help--- |
1545 | This gives the physical address where the kernel is loaded. | 1545 | This gives the physical address where the kernel is loaded. |
@@ -1934,7 +1934,7 @@ config PCI_MMCONFIG | |||
1934 | depends on X86_64 && PCI && ACPI | 1934 | depends on X86_64 && PCI && ACPI |
1935 | 1935 | ||
1936 | config PCI_CNB20LE_QUIRK | 1936 | config PCI_CNB20LE_QUIRK |
1937 | bool "Read CNB20LE Host Bridge Windows" if EMBEDDED | 1937 | bool "Read CNB20LE Host Bridge Windows" if EXPERT |
1938 | default n | 1938 | default n |
1939 | depends on PCI && EXPERIMENTAL | 1939 | depends on PCI && EXPERIMENTAL |
1940 | help | 1940 | help |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 15588a0ef466..283c5a6a03a6 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -424,7 +424,7 @@ config X86_DEBUGCTLMSR | |||
424 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) && !UML | 424 | depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) && !UML |
425 | 425 | ||
426 | menuconfig PROCESSOR_SELECT | 426 | menuconfig PROCESSOR_SELECT |
427 | bool "Supported processor vendors" if EMBEDDED | 427 | bool "Supported processor vendors" if EXPERT |
428 | ---help--- | 428 | ---help--- |
429 | This lets you choose what x86 vendor support code your kernel | 429 | This lets you choose what x86 vendor support code your kernel |
430 | will include. | 430 | will include. |
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug index 45143bbcfe5e..615e18810f48 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug | |||
@@ -31,7 +31,7 @@ config X86_VERBOSE_BOOTUP | |||
31 | see errors. Disable this if you want silent bootup. | 31 | see errors. Disable this if you want silent bootup. |
32 | 32 | ||
33 | config EARLY_PRINTK | 33 | config EARLY_PRINTK |
34 | bool "Early printk" if EMBEDDED | 34 | bool "Early printk" if EXPERT |
35 | default y | 35 | default y |
36 | ---help--- | 36 | ---help--- |
37 | Write kernel log output directly into the VGA buffer or to a serial | 37 | Write kernel log output directly into the VGA buffer or to a serial |
@@ -138,7 +138,7 @@ config DEBUG_NX_TEST | |||
138 | 138 | ||
139 | config DOUBLEFAULT | 139 | config DOUBLEFAULT |
140 | default y | 140 | default y |
141 | bool "Enable doublefault exception handler" if EMBEDDED | 141 | bool "Enable doublefault exception handler" if EXPERT |
142 | depends on X86_32 | 142 | depends on X86_32 |
143 | ---help--- | 143 | ---help--- |
144 | This option allows trapping of rare doublefault exceptions that | 144 | This option allows trapping of rare doublefault exceptions that |
diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h index 63e35ec9075c..62f084478f7e 100644 --- a/arch/x86/include/asm/cacheflush.h +++ b/arch/x86/include/asm/cacheflush.h | |||
@@ -1,48 +1,8 @@ | |||
1 | #ifndef _ASM_X86_CACHEFLUSH_H | 1 | #ifndef _ASM_X86_CACHEFLUSH_H |
2 | #define _ASM_X86_CACHEFLUSH_H | 2 | #define _ASM_X86_CACHEFLUSH_H |
3 | 3 | ||
4 | /* Keep includes the same across arches. */ | ||
5 | #include <linux/mm.h> | ||
6 | |||
7 | /* Caches aren't brain-dead on the intel. */ | 4 | /* Caches aren't brain-dead on the intel. */ |
8 | static inline void flush_cache_all(void) { } | 5 | #include <asm-generic/cacheflush.h> |
9 | static inline void flush_cache_mm(struct mm_struct *mm) { } | ||
10 | static inline void flush_cache_dup_mm(struct mm_struct *mm) { } | ||
11 | static inline void flush_cache_range(struct vm_area_struct *vma, | ||
12 | unsigned long start, unsigned long end) { } | ||
13 | static inline void flush_cache_page(struct vm_area_struct *vma, | ||
14 | unsigned long vmaddr, unsigned long pfn) { } | ||
15 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 | ||
16 | static inline void flush_dcache_page(struct page *page) { } | ||
17 | static inline void flush_dcache_mmap_lock(struct address_space *mapping) { } | ||
18 | static inline void flush_dcache_mmap_unlock(struct address_space *mapping) { } | ||
19 | static inline void flush_icache_range(unsigned long start, | ||
20 | unsigned long end) { } | ||
21 | static inline void flush_icache_page(struct vm_area_struct *vma, | ||
22 | struct page *page) { } | ||
23 | static inline void flush_icache_user_range(struct vm_area_struct *vma, | ||
24 | struct page *page, | ||
25 | unsigned long addr, | ||
26 | unsigned long len) { } | ||
27 | static inline void flush_cache_vmap(unsigned long start, unsigned long end) { } | ||
28 | static inline void flush_cache_vunmap(unsigned long start, | ||
29 | unsigned long end) { } | ||
30 | |||
31 | static inline void copy_to_user_page(struct vm_area_struct *vma, | ||
32 | struct page *page, unsigned long vaddr, | ||
33 | void *dst, const void *src, | ||
34 | unsigned long len) | ||
35 | { | ||
36 | memcpy(dst, src, len); | ||
37 | } | ||
38 | |||
39 | static inline void copy_from_user_page(struct vm_area_struct *vma, | ||
40 | struct page *page, unsigned long vaddr, | ||
41 | void *dst, const void *src, | ||
42 | unsigned long len) | ||
43 | { | ||
44 | memcpy(dst, src, len); | ||
45 | } | ||
46 | 6 | ||
47 | #ifdef CONFIG_X86_PAT | 7 | #ifdef CONFIG_X86_PAT |
48 | /* | 8 | /* |
diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h index 4fab24de26b1..6e6e7558e702 100644 --- a/arch/x86/include/asm/cpu.h +++ b/arch/x86/include/asm/cpu.h | |||
@@ -32,5 +32,6 @@ extern void arch_unregister_cpu(int); | |||
32 | 32 | ||
33 | DECLARE_PER_CPU(int, cpu_state); | 33 | DECLARE_PER_CPU(int, cpu_state); |
34 | 34 | ||
35 | int __cpuinit mwait_usable(const struct cpuinfo_x86 *); | ||
35 | 36 | ||
36 | #endif /* _ASM_X86_CPU_H */ | 37 | #endif /* _ASM_X86_CPU_H */ |
diff --git a/arch/x86/include/asm/jump_label.h b/arch/x86/include/asm/jump_label.h index f52d42e80585..574dbc22893a 100644 --- a/arch/x86/include/asm/jump_label.h +++ b/arch/x86/include/asm/jump_label.h | |||
@@ -14,7 +14,7 @@ | |||
14 | do { \ | 14 | do { \ |
15 | asm goto("1:" \ | 15 | asm goto("1:" \ |
16 | JUMP_LABEL_INITIAL_NOP \ | 16 | JUMP_LABEL_INITIAL_NOP \ |
17 | ".pushsection __jump_table, \"a\" \n\t"\ | 17 | ".pushsection __jump_table, \"aw\" \n\t"\ |
18 | _ASM_PTR "1b, %l[" #label "], %c0 \n\t" \ | 18 | _ASM_PTR "1b, %l[" #label "], %c0 \n\t" \ |
19 | ".popsection \n\t" \ | 19 | ".popsection \n\t" \ |
20 | : : "i" (key) : : label); \ | 20 | : : "i" (key) : : label); \ |
diff --git a/arch/x86/include/asm/numa_32.h b/arch/x86/include/asm/numa_32.h index a37229011b56..b0ef2b449a9d 100644 --- a/arch/x86/include/asm/numa_32.h +++ b/arch/x86/include/asm/numa_32.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _ASM_X86_NUMA_32_H | 1 | #ifndef _ASM_X86_NUMA_32_H |
2 | #define _ASM_X86_NUMA_32_H | 2 | #define _ASM_X86_NUMA_32_H |
3 | 3 | ||
4 | extern int numa_off; | ||
5 | |||
4 | extern int pxm_to_nid(int pxm); | 6 | extern int pxm_to_nid(int pxm); |
5 | extern void numa_remove_cpu(int cpu); | 7 | extern void numa_remove_cpu(int cpu); |
6 | 8 | ||
diff --git a/arch/x86/include/asm/numa_64.h b/arch/x86/include/asm/numa_64.h index 5ae87285a502..0493be39607c 100644 --- a/arch/x86/include/asm/numa_64.h +++ b/arch/x86/include/asm/numa_64.h | |||
@@ -40,6 +40,7 @@ extern void __cpuinit numa_remove_cpu(int cpu); | |||
40 | #ifdef CONFIG_NUMA_EMU | 40 | #ifdef CONFIG_NUMA_EMU |
41 | #define FAKE_NODE_MIN_SIZE ((u64)32 << 20) | 41 | #define FAKE_NODE_MIN_SIZE ((u64)32 << 20) |
42 | #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL)) | 42 | #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL)) |
43 | void numa_emu_cmdline(char *); | ||
43 | #endif /* CONFIG_NUMA_EMU */ | 44 | #endif /* CONFIG_NUMA_EMU */ |
44 | #else | 45 | #else |
45 | static inline void init_cpu_to_node(void) { } | 46 | static inline void init_cpu_to_node(void) { } |
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index 2071a8b2b32f..ebbc4d8ab170 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h | |||
@@ -558,13 +558,12 @@ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr, | |||
558 | static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr, | 558 | static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr, |
559 | pmd_t *pmdp, pmd_t pmd) | 559 | pmd_t *pmdp, pmd_t pmd) |
560 | { | 560 | { |
561 | #if PAGETABLE_LEVELS >= 3 | ||
562 | if (sizeof(pmdval_t) > sizeof(long)) | 561 | if (sizeof(pmdval_t) > sizeof(long)) |
563 | /* 5 arg words */ | 562 | /* 5 arg words */ |
564 | pv_mmu_ops.set_pmd_at(mm, addr, pmdp, pmd); | 563 | pv_mmu_ops.set_pmd_at(mm, addr, pmdp, pmd); |
565 | else | 564 | else |
566 | PVOP_VCALL4(pv_mmu_ops.set_pmd_at, mm, addr, pmdp, pmd.pmd); | 565 | PVOP_VCALL4(pv_mmu_ops.set_pmd_at, mm, addr, pmdp, |
567 | #endif | 566 | native_pmd_val(pmd)); |
568 | } | 567 | } |
569 | #endif | 568 | #endif |
570 | 569 | ||
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index 8ee45167e817..7e172955ee57 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h | |||
@@ -273,34 +273,34 @@ do { \ | |||
273 | typeof(var) pxo_new__ = (nval); \ | 273 | typeof(var) pxo_new__ = (nval); \ |
274 | switch (sizeof(var)) { \ | 274 | switch (sizeof(var)) { \ |
275 | case 1: \ | 275 | case 1: \ |
276 | asm("\n1:mov "__percpu_arg(1)",%%al" \ | 276 | asm("\n\tmov "__percpu_arg(1)",%%al" \ |
277 | "\n\tcmpxchgb %2, "__percpu_arg(1) \ | 277 | "\n1:\tcmpxchgb %2, "__percpu_arg(1) \ |
278 | "\n\tjnz 1b" \ | 278 | "\n\tjnz 1b" \ |
279 | : "=a" (pxo_ret__), "+m" (var) \ | 279 | : "=&a" (pxo_ret__), "+m" (var) \ |
280 | : "q" (pxo_new__) \ | 280 | : "q" (pxo_new__) \ |
281 | : "memory"); \ | 281 | : "memory"); \ |
282 | break; \ | 282 | break; \ |
283 | case 2: \ | 283 | case 2: \ |
284 | asm("\n1:mov "__percpu_arg(1)",%%ax" \ | 284 | asm("\n\tmov "__percpu_arg(1)",%%ax" \ |
285 | "\n\tcmpxchgw %2, "__percpu_arg(1) \ | 285 | "\n1:\tcmpxchgw %2, "__percpu_arg(1) \ |
286 | "\n\tjnz 1b" \ | 286 | "\n\tjnz 1b" \ |
287 | : "=a" (pxo_ret__), "+m" (var) \ | 287 | : "=&a" (pxo_ret__), "+m" (var) \ |
288 | : "r" (pxo_new__) \ | 288 | : "r" (pxo_new__) \ |
289 | : "memory"); \ | 289 | : "memory"); \ |
290 | break; \ | 290 | break; \ |
291 | case 4: \ | 291 | case 4: \ |
292 | asm("\n1:mov "__percpu_arg(1)",%%eax" \ | 292 | asm("\n\tmov "__percpu_arg(1)",%%eax" \ |
293 | "\n\tcmpxchgl %2, "__percpu_arg(1) \ | 293 | "\n1:\tcmpxchgl %2, "__percpu_arg(1) \ |
294 | "\n\tjnz 1b" \ | 294 | "\n\tjnz 1b" \ |
295 | : "=a" (pxo_ret__), "+m" (var) \ | 295 | : "=&a" (pxo_ret__), "+m" (var) \ |
296 | : "r" (pxo_new__) \ | 296 | : "r" (pxo_new__) \ |
297 | : "memory"); \ | 297 | : "memory"); \ |
298 | break; \ | 298 | break; \ |
299 | case 8: \ | 299 | case 8: \ |
300 | asm("\n1:mov "__percpu_arg(1)",%%rax" \ | 300 | asm("\n\tmov "__percpu_arg(1)",%%rax" \ |
301 | "\n\tcmpxchgq %2, "__percpu_arg(1) \ | 301 | "\n1:\tcmpxchgq %2, "__percpu_arg(1) \ |
302 | "\n\tjnz 1b" \ | 302 | "\n\tjnz 1b" \ |
303 | : "=a" (pxo_ret__), "+m" (var) \ | 303 | : "=&a" (pxo_ret__), "+m" (var) \ |
304 | : "r" (pxo_new__) \ | 304 | : "r" (pxo_new__) \ |
305 | : "memory"); \ | 305 | : "memory"); \ |
306 | break; \ | 306 | break; \ |
@@ -414,8 +414,6 @@ do { \ | |||
414 | #define this_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval) | 414 | #define this_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval) |
415 | #define this_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval) | 415 | #define this_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval) |
416 | #define this_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval) | 416 | #define this_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval) |
417 | #define this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval) | ||
418 | #define this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval) | ||
419 | 417 | ||
420 | #define irqsafe_cpu_add_1(pcp, val) percpu_add_op((pcp), val) | 418 | #define irqsafe_cpu_add_1(pcp, val) percpu_add_op((pcp), val) |
421 | #define irqsafe_cpu_add_2(pcp, val) percpu_add_op((pcp), val) | 419 | #define irqsafe_cpu_add_2(pcp, val) percpu_add_op((pcp), val) |
@@ -432,8 +430,6 @@ do { \ | |||
432 | #define irqsafe_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval) | 430 | #define irqsafe_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval) |
433 | #define irqsafe_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval) | 431 | #define irqsafe_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval) |
434 | #define irqsafe_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval) | 432 | #define irqsafe_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval) |
435 | #define irqsafe_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval) | ||
436 | #define irqsafe_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval) | ||
437 | 433 | ||
438 | #ifndef CONFIG_M386 | 434 | #ifndef CONFIG_M386 |
439 | #define __this_cpu_add_return_1(pcp, val) percpu_add_return_op(pcp, val) | 435 | #define __this_cpu_add_return_1(pcp, val) percpu_add_return_op(pcp, val) |
@@ -475,11 +471,15 @@ do { \ | |||
475 | #define this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) | 471 | #define this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) |
476 | #define this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) | 472 | #define this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) |
477 | #define this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val) | 473 | #define this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val) |
474 | #define this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval) | ||
475 | #define this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval) | ||
478 | 476 | ||
479 | #define irqsafe_cpu_add_8(pcp, val) percpu_add_op((pcp), val) | 477 | #define irqsafe_cpu_add_8(pcp, val) percpu_add_op((pcp), val) |
480 | #define irqsafe_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val) | 478 | #define irqsafe_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val) |
481 | #define irqsafe_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) | 479 | #define irqsafe_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) |
482 | #define irqsafe_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) | 480 | #define irqsafe_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) |
481 | #define irqsafe_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval) | ||
482 | #define irqsafe_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval) | ||
483 | #endif | 483 | #endif |
484 | 484 | ||
485 | /* This is not atomic against other CPUs -- CPU preemption needs to be off */ | 485 | /* This is not atomic against other CPUs -- CPU preemption needs to be off */ |
diff --git a/arch/x86/include/asm/system_64.h b/arch/x86/include/asm/system_64.h deleted file mode 100644 index 1159e091ad09..000000000000 --- a/arch/x86/include/asm/system_64.h +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | #ifndef _ASM_X86_SYSTEM_64_H | ||
2 | #define _ASM_X86_SYSTEM_64_H | ||
3 | |||
4 | #include <asm/segment.h> | ||
5 | #include <asm/cmpxchg.h> | ||
6 | |||
7 | |||
8 | static inline unsigned long read_cr8(void) | ||
9 | { | ||
10 | unsigned long cr8; | ||
11 | asm volatile("movq %%cr8,%0" : "=r" (cr8)); | ||
12 | return cr8; | ||
13 | } | ||
14 | |||
15 | static inline void write_cr8(unsigned long val) | ||
16 | { | ||
17 | asm volatile("movq %0,%%cr8" :: "r" (val) : "memory"); | ||
18 | } | ||
19 | |||
20 | #include <linux/irqflags.h> | ||
21 | |||
22 | #endif /* _ASM_X86_SYSTEM_64_H */ | ||
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index 7283e98deaae..ec2c19a7b8ef 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c | |||
@@ -45,6 +45,7 @@ static const struct _cache_table __cpuinitconst cache_table[] = | |||
45 | { 0x0a, LVL_1_DATA, 8 }, /* 2 way set assoc, 32 byte line size */ | 45 | { 0x0a, LVL_1_DATA, 8 }, /* 2 way set assoc, 32 byte line size */ |
46 | { 0x0c, LVL_1_DATA, 16 }, /* 4-way set assoc, 32 byte line size */ | 46 | { 0x0c, LVL_1_DATA, 16 }, /* 4-way set assoc, 32 byte line size */ |
47 | { 0x0d, LVL_1_DATA, 16 }, /* 4-way set assoc, 64 byte line size */ | 47 | { 0x0d, LVL_1_DATA, 16 }, /* 4-way set assoc, 64 byte line size */ |
48 | { 0x0e, LVL_1_DATA, 24 }, /* 6-way set assoc, 64 byte line size */ | ||
48 | { 0x21, LVL_2, 256 }, /* 8-way set assoc, 64 byte line size */ | 49 | { 0x21, LVL_2, 256 }, /* 8-way set assoc, 64 byte line size */ |
49 | { 0x22, LVL_3, 512 }, /* 4-way set assoc, sectored cache, 64 byte line size */ | 50 | { 0x22, LVL_3, 512 }, /* 4-way set assoc, sectored cache, 64 byte line size */ |
50 | { 0x23, LVL_3, MB(1) }, /* 8-way set assoc, sectored cache, 64 byte line size */ | 51 | { 0x23, LVL_3, MB(1) }, /* 8-way set assoc, sectored cache, 64 byte line size */ |
@@ -66,6 +67,7 @@ static const struct _cache_table __cpuinitconst cache_table[] = | |||
66 | { 0x45, LVL_2, MB(2) }, /* 4-way set assoc, 32 byte line size */ | 67 | { 0x45, LVL_2, MB(2) }, /* 4-way set assoc, 32 byte line size */ |
67 | { 0x46, LVL_3, MB(4) }, /* 4-way set assoc, 64 byte line size */ | 68 | { 0x46, LVL_3, MB(4) }, /* 4-way set assoc, 64 byte line size */ |
68 | { 0x47, LVL_3, MB(8) }, /* 8-way set assoc, 64 byte line size */ | 69 | { 0x47, LVL_3, MB(8) }, /* 8-way set assoc, 64 byte line size */ |
70 | { 0x48, LVL_2, MB(3) }, /* 12-way set assoc, 64 byte line size */ | ||
69 | { 0x49, LVL_3, MB(4) }, /* 16-way set assoc, 64 byte line size */ | 71 | { 0x49, LVL_3, MB(4) }, /* 16-way set assoc, 64 byte line size */ |
70 | { 0x4a, LVL_3, MB(6) }, /* 12-way set assoc, 64 byte line size */ | 72 | { 0x4a, LVL_3, MB(6) }, /* 12-way set assoc, 64 byte line size */ |
71 | { 0x4b, LVL_3, MB(8) }, /* 16-way set assoc, 64 byte line size */ | 73 | { 0x4b, LVL_3, MB(8) }, /* 16-way set assoc, 64 byte line size */ |
@@ -87,6 +89,7 @@ static const struct _cache_table __cpuinitconst cache_table[] = | |||
87 | { 0x7c, LVL_2, MB(1) }, /* 8-way set assoc, sectored cache, 64 byte line size */ | 89 | { 0x7c, LVL_2, MB(1) }, /* 8-way set assoc, sectored cache, 64 byte line size */ |
88 | { 0x7d, LVL_2, MB(2) }, /* 8-way set assoc, 64 byte line size */ | 90 | { 0x7d, LVL_2, MB(2) }, /* 8-way set assoc, 64 byte line size */ |
89 | { 0x7f, LVL_2, 512 }, /* 2-way set assoc, 64 byte line size */ | 91 | { 0x7f, LVL_2, 512 }, /* 2-way set assoc, 64 byte line size */ |
92 | { 0x80, LVL_2, 512 }, /* 8-way set assoc, 64 byte line size */ | ||
90 | { 0x82, LVL_2, 256 }, /* 8-way set assoc, 32 byte line size */ | 93 | { 0x82, LVL_2, 256 }, /* 8-way set assoc, 32 byte line size */ |
91 | { 0x83, LVL_2, 512 }, /* 8-way set assoc, 32 byte line size */ | 94 | { 0x83, LVL_2, 512 }, /* 8-way set assoc, 32 byte line size */ |
92 | { 0x84, LVL_2, MB(1) }, /* 8-way set assoc, 32 byte line size */ | 95 | { 0x84, LVL_2, MB(1) }, /* 8-way set assoc, 32 byte line size */ |
diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index e12246ff5aa6..6f8c5e9da97f 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c | |||
@@ -59,6 +59,7 @@ struct thermal_state { | |||
59 | 59 | ||
60 | /* Callback to handle core threshold interrupts */ | 60 | /* Callback to handle core threshold interrupts */ |
61 | int (*platform_thermal_notify)(__u64 msr_val); | 61 | int (*platform_thermal_notify)(__u64 msr_val); |
62 | EXPORT_SYMBOL(platform_thermal_notify); | ||
62 | 63 | ||
63 | static DEFINE_PER_CPU(struct thermal_state, thermal_state); | 64 | static DEFINE_PER_CPU(struct thermal_state, thermal_state); |
64 | 65 | ||
diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c index 64101335de19..a6b6fcf7f0ae 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c | |||
@@ -149,13 +149,13 @@ void dump_trace(struct task_struct *task, | |||
149 | unsigned used = 0; | 149 | unsigned used = 0; |
150 | struct thread_info *tinfo; | 150 | struct thread_info *tinfo; |
151 | int graph = 0; | 151 | int graph = 0; |
152 | unsigned long dummy; | ||
152 | unsigned long bp; | 153 | unsigned long bp; |
153 | 154 | ||
154 | if (!task) | 155 | if (!task) |
155 | task = current; | 156 | task = current; |
156 | 157 | ||
157 | if (!stack) { | 158 | if (!stack) { |
158 | unsigned long dummy; | ||
159 | stack = &dummy; | 159 | stack = &dummy; |
160 | if (task && task != current) | 160 | if (task && task != current) |
161 | stack = (unsigned long *)task->thread.sp; | 161 | stack = (unsigned long *)task->thread.sp; |
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index d8286ed54ffa..e764fc05d700 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/utsname.h> | 14 | #include <linux/utsname.h> |
15 | #include <trace/events/power.h> | 15 | #include <trace/events/power.h> |
16 | #include <linux/hw_breakpoint.h> | 16 | #include <linux/hw_breakpoint.h> |
17 | #include <asm/cpu.h> | ||
17 | #include <asm/system.h> | 18 | #include <asm/system.h> |
18 | #include <asm/apic.h> | 19 | #include <asm/apic.h> |
19 | #include <asm/syscalls.h> | 20 | #include <asm/syscalls.h> |
@@ -505,7 +506,7 @@ static void poll_idle(void) | |||
505 | #define MWAIT_ECX_EXTENDED_INFO 0x01 | 506 | #define MWAIT_ECX_EXTENDED_INFO 0x01 |
506 | #define MWAIT_EDX_C1 0xf0 | 507 | #define MWAIT_EDX_C1 0xf0 |
507 | 508 | ||
508 | static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) | 509 | int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) |
509 | { | 510 | { |
510 | u32 eax, ebx, ecx, edx; | 511 | u32 eax, ebx, ecx, edx; |
511 | 512 | ||
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 763df77343dd..0cbe8c0b35ed 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1402,8 +1402,9 @@ static inline void mwait_play_dead(void) | |||
1402 | unsigned int highest_subcstate = 0; | 1402 | unsigned int highest_subcstate = 0; |
1403 | int i; | 1403 | int i; |
1404 | void *mwait_ptr; | 1404 | void *mwait_ptr; |
1405 | struct cpuinfo_x86 *c = __this_cpu_ptr(&cpu_info); | ||
1405 | 1406 | ||
1406 | if (!cpu_has(__this_cpu_ptr(&cpu_info), X86_FEATURE_MWAIT)) | 1407 | if (!(cpu_has(c, X86_FEATURE_MWAIT) && mwait_usable(c))) |
1407 | return; | 1408 | return; |
1408 | if (!cpu_has(__this_cpu_ptr(&cpu_info), X86_FEATURE_CLFLSH)) | 1409 | if (!cpu_has(__this_cpu_ptr(&cpu_info), X86_FEATURE_CLFLSH)) |
1409 | return; | 1410 | return; |
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index b34ab80fddd5..bf4700755184 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -34,9 +34,11 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) | |||
34 | #ifdef CONFIG_X86_32 | 34 | #ifdef CONFIG_X86_32 |
35 | OUTPUT_ARCH(i386) | 35 | OUTPUT_ARCH(i386) |
36 | ENTRY(phys_startup_32) | 36 | ENTRY(phys_startup_32) |
37 | jiffies = jiffies_64; | ||
37 | #else | 38 | #else |
38 | OUTPUT_ARCH(i386:x86-64) | 39 | OUTPUT_ARCH(i386:x86-64) |
39 | ENTRY(phys_startup_64) | 40 | ENTRY(phys_startup_64) |
41 | jiffies_64 = jiffies; | ||
40 | #endif | 42 | #endif |
41 | 43 | ||
42 | #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) | 44 | #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) |
@@ -140,15 +142,6 @@ SECTIONS | |||
140 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) | 142 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) |
141 | 143 | ||
142 | DATA_DATA | 144 | DATA_DATA |
143 | /* | ||
144 | * Workaround a binutils (2.20.51.0.12 to 2.21.51.0.3) bug. | ||
145 | * This makes jiffies relocatable in such binutils | ||
146 | */ | ||
147 | #ifdef CONFIG_X86_32 | ||
148 | jiffies = jiffies_64; | ||
149 | #else | ||
150 | jiffies_64 = jiffies; | ||
151 | #endif | ||
152 | CONSTRUCTORS | 145 | CONSTRUCTORS |
153 | 146 | ||
154 | /* rarely changed data like cpu maps */ | 147 | /* rarely changed data like cpu maps */ |
diff --git a/arch/x86/lguest/Kconfig b/arch/x86/lguest/Kconfig index 38718041efc3..6e121a2a49e1 100644 --- a/arch/x86/lguest/Kconfig +++ b/arch/x86/lguest/Kconfig | |||
@@ -2,6 +2,7 @@ config LGUEST_GUEST | |||
2 | bool "Lguest guest support" | 2 | bool "Lguest guest support" |
3 | select PARAVIRT | 3 | select PARAVIRT |
4 | depends on X86_32 | 4 | depends on X86_32 |
5 | select VIRTUALIZATION | ||
5 | select VIRTIO | 6 | select VIRTIO |
6 | select VIRTIO_RING | 7 | select VIRTIO_RING |
7 | select VIRTIO_CONSOLE | 8 | select VIRTIO_CONSOLE |
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index 4996cf5f73a0..eba687f0cc0c 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
@@ -824,7 +824,7 @@ static void __init lguest_init_IRQ(void) | |||
824 | 824 | ||
825 | for (i = FIRST_EXTERNAL_VECTOR; i < NR_VECTORS; i++) { | 825 | for (i = FIRST_EXTERNAL_VECTOR; i < NR_VECTORS; i++) { |
826 | /* Some systems map "vectors" to interrupts weirdly. Not us! */ | 826 | /* Some systems map "vectors" to interrupts weirdly. Not us! */ |
827 | __get_cpu_var(vector_irq)[i] = i - FIRST_EXTERNAL_VECTOR; | 827 | __this_cpu_write(vector_irq[i], i - FIRST_EXTERNAL_VECTOR); |
828 | if (i != SYSCALL_VECTOR) | 828 | if (i != SYSCALL_VECTOR) |
829 | set_intr_gate(i, interrupt[i - FIRST_EXTERNAL_VECTOR]); | 829 | set_intr_gate(i, interrupt[i - FIRST_EXTERNAL_VECTOR]); |
830 | } | 830 | } |
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index 787c52ca49c3..ebf6d7887a38 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c | |||
@@ -2,6 +2,28 @@ | |||
2 | #include <linux/topology.h> | 2 | #include <linux/topology.h> |
3 | #include <linux/module.h> | 3 | #include <linux/module.h> |
4 | #include <linux/bootmem.h> | 4 | #include <linux/bootmem.h> |
5 | #include <asm/numa.h> | ||
6 | #include <asm/acpi.h> | ||
7 | |||
8 | int __initdata numa_off; | ||
9 | |||
10 | static __init int numa_setup(char *opt) | ||
11 | { | ||
12 | if (!opt) | ||
13 | return -EINVAL; | ||
14 | if (!strncmp(opt, "off", 3)) | ||
15 | numa_off = 1; | ||
16 | #ifdef CONFIG_NUMA_EMU | ||
17 | if (!strncmp(opt, "fake=", 5)) | ||
18 | numa_emu_cmdline(opt + 5); | ||
19 | #endif | ||
20 | #ifdef CONFIG_ACPI_NUMA | ||
21 | if (!strncmp(opt, "noacpi", 6)) | ||
22 | acpi_numa = -1; | ||
23 | #endif | ||
24 | return 0; | ||
25 | } | ||
26 | early_param("numa", numa_setup); | ||
5 | 27 | ||
6 | /* | 28 | /* |
7 | * Which logical CPUs are on which nodes | 29 | * Which logical CPUs are on which nodes |
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index 1e72102e80c9..95ea1551eebc 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -30,7 +30,6 @@ s16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = { | |||
30 | [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE | 30 | [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE |
31 | }; | 31 | }; |
32 | 32 | ||
33 | int numa_off __initdata; | ||
34 | static unsigned long __initdata nodemap_addr; | 33 | static unsigned long __initdata nodemap_addr; |
35 | static unsigned long __initdata nodemap_size; | 34 | static unsigned long __initdata nodemap_size; |
36 | 35 | ||
@@ -263,6 +262,11 @@ static struct bootnode nodes[MAX_NUMNODES] __initdata; | |||
263 | static struct bootnode physnodes[MAX_NUMNODES] __cpuinitdata; | 262 | static struct bootnode physnodes[MAX_NUMNODES] __cpuinitdata; |
264 | static char *cmdline __initdata; | 263 | static char *cmdline __initdata; |
265 | 264 | ||
265 | void __init numa_emu_cmdline(char *str) | ||
266 | { | ||
267 | cmdline = str; | ||
268 | } | ||
269 | |||
266 | static int __init setup_physnodes(unsigned long start, unsigned long end, | 270 | static int __init setup_physnodes(unsigned long start, unsigned long end, |
267 | int acpi, int amd) | 271 | int acpi, int amd) |
268 | { | 272 | { |
@@ -670,24 +674,6 @@ unsigned long __init numa_free_all_bootmem(void) | |||
670 | return pages; | 674 | return pages; |
671 | } | 675 | } |
672 | 676 | ||
673 | static __init int numa_setup(char *opt) | ||
674 | { | ||
675 | if (!opt) | ||
676 | return -EINVAL; | ||
677 | if (!strncmp(opt, "off", 3)) | ||
678 | numa_off = 1; | ||
679 | #ifdef CONFIG_NUMA_EMU | ||
680 | if (!strncmp(opt, "fake=", 5)) | ||
681 | cmdline = opt + 5; | ||
682 | #endif | ||
683 | #ifdef CONFIG_ACPI_NUMA | ||
684 | if (!strncmp(opt, "noacpi", 6)) | ||
685 | acpi_numa = -1; | ||
686 | #endif | ||
687 | return 0; | ||
688 | } | ||
689 | early_param("numa", numa_setup); | ||
690 | |||
691 | #ifdef CONFIG_NUMA | 677 | #ifdef CONFIG_NUMA |
692 | 678 | ||
693 | static __init int find_near_online_node(int node) | 679 | static __init int find_near_online_node(int node) |
diff --git a/arch/x86/mm/srat_32.c b/arch/x86/mm/srat_32.c index f16434568a51..ae96e7b8051d 100644 --- a/arch/x86/mm/srat_32.c +++ b/arch/x86/mm/srat_32.c | |||
@@ -59,7 +59,6 @@ static struct node_memory_chunk_s __initdata node_memory_chunk[MAXCHUNKS]; | |||
59 | static int __initdata num_memory_chunks; /* total number of memory chunks */ | 59 | static int __initdata num_memory_chunks; /* total number of memory chunks */ |
60 | static u8 __initdata apicid_to_pxm[MAX_APICID]; | 60 | static u8 __initdata apicid_to_pxm[MAX_APICID]; |
61 | 61 | ||
62 | int numa_off __initdata; | ||
63 | int acpi_numa __initdata; | 62 | int acpi_numa __initdata; |
64 | 63 | ||
65 | static __init void bad_srat(void) | 64 | static __init void bad_srat(void) |
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 7e8d3bc80af6..50542efe45fb 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -1194,7 +1194,7 @@ asmlinkage void __init xen_start_kernel(void) | |||
1194 | per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; | 1194 | per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; |
1195 | 1195 | ||
1196 | local_irq_disable(); | 1196 | local_irq_disable(); |
1197 | early_boot_irqs_off(); | 1197 | early_boot_irqs_disabled = true; |
1198 | 1198 | ||
1199 | memblock_init(); | 1199 | memblock_init(); |
1200 | 1200 | ||
diff --git a/arch/x86/xen/irq.c b/arch/x86/xen/irq.c index 9d30105a0c4a..6a6fe8939645 100644 --- a/arch/x86/xen/irq.c +++ b/arch/x86/xen/irq.c | |||
@@ -126,7 +126,7 @@ static const struct pv_irq_ops xen_irq_ops __initdata = { | |||
126 | #endif | 126 | #endif |
127 | }; | 127 | }; |
128 | 128 | ||
129 | void __init xen_init_irq_ops() | 129 | void __init xen_init_irq_ops(void) |
130 | { | 130 | { |
131 | pv_irq_ops = xen_irq_ops; | 131 | pv_irq_ops = xen_irq_ops; |
132 | x86_init.irqs.intr_init = xen_init_IRQ; | 132 | x86_init.irqs.intr_init = xen_init_IRQ; |
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c index 8f2251d2a3f8..fd12d7ce7ff9 100644 --- a/arch/x86/xen/p2m.c +++ b/arch/x86/xen/p2m.c | |||
@@ -237,6 +237,18 @@ void __init xen_build_dynamic_phys_to_machine(void) | |||
237 | p2m_top[topidx] = mid; | 237 | p2m_top[topidx] = mid; |
238 | } | 238 | } |
239 | 239 | ||
240 | /* | ||
241 | * As long as the mfn_list has enough entries to completely | ||
242 | * fill a p2m page, pointing into the array is ok. But if | ||
243 | * not the entries beyond the last pfn will be undefined. | ||
244 | */ | ||
245 | if (unlikely(pfn + P2M_PER_PAGE > max_pfn)) { | ||
246 | unsigned long p2midx; | ||
247 | |||
248 | p2midx = max_pfn % P2M_PER_PAGE; | ||
249 | for ( ; p2midx < P2M_PER_PAGE; p2midx++) | ||
250 | mfn_list[pfn + p2midx] = INVALID_P2M_ENTRY; | ||
251 | } | ||
240 | p2m_top[topidx][mididx] = &mfn_list[pfn]; | 252 | p2m_top[topidx][mididx] = &mfn_list[pfn]; |
241 | } | 253 | } |
242 | 254 | ||
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index b5a7f928234b..a8a66a50d446 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c | |||
@@ -179,8 +179,13 @@ char * __init xen_memory_setup(void) | |||
179 | e820.nr_map = 0; | 179 | e820.nr_map = 0; |
180 | xen_extra_mem_start = mem_end; | 180 | xen_extra_mem_start = mem_end; |
181 | for (i = 0; i < memmap.nr_entries; i++) { | 181 | for (i = 0; i < memmap.nr_entries; i++) { |
182 | unsigned long long end = map[i].addr + map[i].size; | 182 | unsigned long long end; |
183 | 183 | ||
184 | /* Guard against non-page aligned E820 entries. */ | ||
185 | if (map[i].type == E820_RAM) | ||
186 | map[i].size -= (map[i].size + map[i].addr) % PAGE_SIZE; | ||
187 | |||
188 | end = map[i].addr + map[i].size; | ||
184 | if (map[i].type == E820_RAM && end > mem_end) { | 189 | if (map[i].type == E820_RAM && end > mem_end) { |
185 | /* RAM off the end - may be partially included */ | 190 | /* RAM off the end - may be partially included */ |
186 | u64 delta = min(map[i].size, end - mem_end); | 191 | u64 delta = min(map[i].size, end - mem_end); |
@@ -350,6 +355,7 @@ void __init xen_arch_setup(void) | |||
350 | boot_cpu_data.hlt_works_ok = 1; | 355 | boot_cpu_data.hlt_works_ok = 1; |
351 | #endif | 356 | #endif |
352 | pm_idle = default_idle; | 357 | pm_idle = default_idle; |
358 | boot_option_idle_override = IDLE_HALT; | ||
353 | 359 | ||
354 | fiddle_vdso(); | 360 | fiddle_vdso(); |
355 | } | 361 | } |
diff --git a/arch/xtensa/configs/common_defconfig b/arch/xtensa/configs/common_defconfig index 1d230ee081b4..b90038e40dd3 100644 --- a/arch/xtensa/configs/common_defconfig +++ b/arch/xtensa/configs/common_defconfig | |||
@@ -32,7 +32,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
32 | # CONFIG_HOTPLUG is not set | 32 | # CONFIG_HOTPLUG is not set |
33 | CONFIG_KOBJECT_UEVENT=y | 33 | CONFIG_KOBJECT_UEVENT=y |
34 | # CONFIG_IKCONFIG is not set | 34 | # CONFIG_IKCONFIG is not set |
35 | # CONFIG_EMBEDDED is not set | 35 | # CONFIG_EXPERT is not set |
36 | CONFIG_KALLSYMS=y | 36 | CONFIG_KALLSYMS=y |
37 | # CONFIG_KALLSYMS_ALL is not set | 37 | # CONFIG_KALLSYMS_ALL is not set |
38 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 38 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
diff --git a/arch/xtensa/configs/iss_defconfig b/arch/xtensa/configs/iss_defconfig index 7368164843b9..0234cd198c54 100644 --- a/arch/xtensa/configs/iss_defconfig +++ b/arch/xtensa/configs/iss_defconfig | |||
@@ -55,7 +55,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
55 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 55 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
56 | CONFIG_SYSCTL=y | 56 | CONFIG_SYSCTL=y |
57 | CONFIG_ANON_INODES=y | 57 | CONFIG_ANON_INODES=y |
58 | CONFIG_EMBEDDED=y | 58 | CONFIG_EXPERT=y |
59 | CONFIG_SYSCTL_SYSCALL=y | 59 | CONFIG_SYSCTL_SYSCALL=y |
60 | CONFIG_KALLSYMS=y | 60 | CONFIG_KALLSYMS=y |
61 | # CONFIG_KALLSYMS_ALL is not set | 61 | # CONFIG_KALLSYMS_ALL is not set |
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig index bb84fbc9921f..095cd8084164 100644 --- a/arch/xtensa/configs/s6105_defconfig +++ b/arch/xtensa/configs/s6105_defconfig | |||
@@ -55,7 +55,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
55 | CONFIG_INITRAMFS_SOURCE="" | 55 | CONFIG_INITRAMFS_SOURCE="" |
56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
57 | CONFIG_SYSCTL=y | 57 | CONFIG_SYSCTL=y |
58 | CONFIG_EMBEDDED=y | 58 | CONFIG_EXPERT=y |
59 | CONFIG_SYSCTL_SYSCALL=y | 59 | CONFIG_SYSCTL_SYSCALL=y |
60 | CONFIG_KALLSYMS=y | 60 | CONFIG_KALLSYMS=y |
61 | # CONFIG_KALLSYMS_ALL is not set | 61 | # CONFIG_KALLSYMS_ALL is not set |