diff options
Diffstat (limited to 'arch/xtensa')
-rw-r--r-- | arch/xtensa/Kconfig | 4 | ||||
-rw-r--r-- | arch/xtensa/configs/iss_defconfig | 2 | ||||
-rw-r--r-- | arch/xtensa/configs/s6105_defconfig | 2 | ||||
-rw-r--r-- | arch/xtensa/include/asm/Kbuild | 5 | ||||
-rw-r--r-- | arch/xtensa/kernel/irq.c | 22 |
5 files changed, 10 insertions, 25 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index c87ae7c6e5f9..02d6d29a63c1 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -41,7 +41,7 @@ config ARCH_HAS_ILOG2_U32 | |||
41 | config ARCH_HAS_ILOG2_U64 | 41 | config ARCH_HAS_ILOG2_U64 |
42 | def_bool n | 42 | def_bool n |
43 | 43 | ||
44 | config NO_IOPORT | 44 | config NO_IOPORT_MAP |
45 | def_bool n | 45 | def_bool n |
46 | 46 | ||
47 | config HZ | 47 | config HZ |
@@ -239,7 +239,7 @@ config XTENSA_PLATFORM_XT2000 | |||
239 | config XTENSA_PLATFORM_S6105 | 239 | config XTENSA_PLATFORM_S6105 |
240 | bool "S6105" | 240 | bool "S6105" |
241 | select SERIAL_CONSOLE | 241 | select SERIAL_CONSOLE |
242 | select NO_IOPORT | 242 | select NO_IOPORT_MAP |
243 | 243 | ||
244 | config XTENSA_PLATFORM_XTFPGA | 244 | config XTENSA_PLATFORM_XTFPGA |
245 | bool "XTFPGA" | 245 | bool "XTFPGA" |
diff --git a/arch/xtensa/configs/iss_defconfig b/arch/xtensa/configs/iss_defconfig index 711f8aa14743..1493c68352d1 100644 --- a/arch/xtensa/configs/iss_defconfig +++ b/arch/xtensa/configs/iss_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
11 | CONFIG_GENERIC_HWEIGHT=y | 11 | CONFIG_GENERIC_HWEIGHT=y |
12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
14 | CONFIG_NO_IOPORT=y | 14 | CONFIG_NO_IOPORT_MAP=y |
15 | CONFIG_HZ=100 | 15 | CONFIG_HZ=100 |
16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
17 | CONFIG_CONSTRUCTORS=y | 17 | CONFIG_CONSTRUCTORS=y |
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig index 78318a76fa16..12a492ab6d17 100644 --- a/arch/xtensa/configs/s6105_defconfig +++ b/arch/xtensa/configs/s6105_defconfig | |||
@@ -11,7 +11,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
11 | CONFIG_GENERIC_HWEIGHT=y | 11 | CONFIG_GENERIC_HWEIGHT=y |
12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 12 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 13 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
14 | CONFIG_NO_IOPORT=y | 14 | CONFIG_NO_IOPORT_MAP=y |
15 | CONFIG_HZ=100 | 15 | CONFIG_HZ=100 |
16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
17 | 17 | ||
diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild index 0a337e4a8370..c3d20ba6eb86 100644 --- a/arch/xtensa/include/asm/Kbuild +++ b/arch/xtensa/include/asm/Kbuild | |||
@@ -9,6 +9,7 @@ generic-y += errno.h | |||
9 | generic-y += exec.h | 9 | generic-y += exec.h |
10 | generic-y += fcntl.h | 10 | generic-y += fcntl.h |
11 | generic-y += hardirq.h | 11 | generic-y += hardirq.h |
12 | generic-y += hash.h | ||
12 | generic-y += ioctl.h | 13 | generic-y += ioctl.h |
13 | generic-y += irq_regs.h | 14 | generic-y += irq_regs.h |
14 | generic-y += kdebug.h | 15 | generic-y += kdebug.h |
@@ -17,7 +18,9 @@ generic-y += kvm_para.h | |||
17 | generic-y += linkage.h | 18 | generic-y += linkage.h |
18 | generic-y += local.h | 19 | generic-y += local.h |
19 | generic-y += local64.h | 20 | generic-y += local64.h |
21 | generic-y += mcs_spinlock.h | ||
20 | generic-y += percpu.h | 22 | generic-y += percpu.h |
23 | generic-y += preempt.h | ||
21 | generic-y += resource.h | 24 | generic-y += resource.h |
22 | generic-y += scatterlist.h | 25 | generic-y += scatterlist.h |
23 | generic-y += sections.h | 26 | generic-y += sections.h |
@@ -27,5 +30,3 @@ generic-y += termios.h | |||
27 | generic-y += topology.h | 30 | generic-y += topology.h |
28 | generic-y += trace_clock.h | 31 | generic-y += trace_clock.h |
29 | generic-y += xor.h | 32 | generic-y += xor.h |
30 | generic-y += preempt.h | ||
31 | generic-y += hash.h | ||
diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index 482868a2de6e..3eee94f621eb 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c | |||
@@ -155,18 +155,6 @@ void __init init_IRQ(void) | |||
155 | } | 155 | } |
156 | 156 | ||
157 | #ifdef CONFIG_HOTPLUG_CPU | 157 | #ifdef CONFIG_HOTPLUG_CPU |
158 | static void route_irq(struct irq_data *data, unsigned int irq, unsigned int cpu) | ||
159 | { | ||
160 | struct irq_desc *desc = irq_to_desc(irq); | ||
161 | struct irq_chip *chip = irq_data_get_irq_chip(data); | ||
162 | unsigned long flags; | ||
163 | |||
164 | raw_spin_lock_irqsave(&desc->lock, flags); | ||
165 | if (chip->irq_set_affinity) | ||
166 | chip->irq_set_affinity(data, cpumask_of(cpu), false); | ||
167 | raw_spin_unlock_irqrestore(&desc->lock, flags); | ||
168 | } | ||
169 | |||
170 | /* | 158 | /* |
171 | * The CPU has been marked offline. Migrate IRQs off this CPU. If | 159 | * The CPU has been marked offline. Migrate IRQs off this CPU. If |
172 | * the affinity settings do not allow other CPUs, force them onto any | 160 | * the affinity settings do not allow other CPUs, force them onto any |
@@ -175,10 +163,9 @@ static void route_irq(struct irq_data *data, unsigned int irq, unsigned int cpu) | |||
175 | void migrate_irqs(void) | 163 | void migrate_irqs(void) |
176 | { | 164 | { |
177 | unsigned int i, cpu = smp_processor_id(); | 165 | unsigned int i, cpu = smp_processor_id(); |
178 | struct irq_desc *desc; | ||
179 | 166 | ||
180 | for_each_irq_desc(i, desc) { | 167 | for_each_active_irq(i) { |
181 | struct irq_data *data = irq_desc_get_irq_data(desc); | 168 | struct irq_data *data = irq_get_irq_data(i); |
182 | unsigned int newcpu; | 169 | unsigned int newcpu; |
183 | 170 | ||
184 | if (irqd_is_per_cpu(data)) | 171 | if (irqd_is_per_cpu(data)) |
@@ -194,11 +181,8 @@ void migrate_irqs(void) | |||
194 | i, cpu); | 181 | i, cpu); |
195 | 182 | ||
196 | cpumask_setall(data->affinity); | 183 | cpumask_setall(data->affinity); |
197 | newcpu = cpumask_any_and(data->affinity, | ||
198 | cpu_online_mask); | ||
199 | } | 184 | } |
200 | 185 | irq_set_affinity(i, data->affinity); | |
201 | route_irq(data, i, newcpu); | ||
202 | } | 186 | } |
203 | } | 187 | } |
204 | #endif /* CONFIG_HOTPLUG_CPU */ | 188 | #endif /* CONFIG_HOTPLUG_CPU */ |