mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-06 06:35:12 +00:00
sparseirq: fix Alpha build failure
Impact: build fix on Alpha -tip testing found this build failure on the Alpha defconfig: /home/mingo/tip/fs/proc/stat.c: In function 'show_stat': /home/mingo/tip/fs/proc/stat.c:48: error: implicit declaration of function 'for_each_irq_desc' /home/mingo/tip/fs/proc/stat.c:48: error: expected ';' before '{' token can not use irq_desc() in stat.c on older architectures. Signed-off-by: Yinghai Lu <yinghai@kernel.orgg> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
50dd94e017
commit
240d367b4e
3 changed files with 29 additions and 19 deletions
|
@ -45,9 +45,12 @@ static int show_stat(struct seq_file *p, void *v)
|
||||||
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
|
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
|
||||||
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
|
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
|
||||||
guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
|
guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
|
||||||
for_each_irq_desc(j, desc) {
|
for_each_irq_nr(j) {
|
||||||
|
#ifdef CONFIG_SPARSE_IRQ
|
||||||
|
desc = irq_to_desc(j);
|
||||||
if (!desc)
|
if (!desc)
|
||||||
continue;
|
continue;
|
||||||
|
#endif
|
||||||
sum += kstat_irqs_cpu(j, i);
|
sum += kstat_irqs_cpu(j, i);
|
||||||
}
|
}
|
||||||
sum += arch_irq_stat_cpu(i);
|
sum += arch_irq_stat_cpu(i);
|
||||||
|
@ -92,14 +95,17 @@ static int show_stat(struct seq_file *p, void *v)
|
||||||
seq_printf(p, "intr %llu", (unsigned long long)sum);
|
seq_printf(p, "intr %llu", (unsigned long long)sum);
|
||||||
|
|
||||||
/* sum again ? it could be updated? */
|
/* sum again ? it could be updated? */
|
||||||
for (j = 0; j < NR_IRQS; j++) {
|
for_each_irq_nr(j) {
|
||||||
desc = irq_to_desc(j);
|
|
||||||
per_irq_sum = 0;
|
per_irq_sum = 0;
|
||||||
|
#ifdef CONFIG_SPARSE_IRQ
|
||||||
if (desc) {
|
desc = irq_to_desc(j);
|
||||||
for_each_possible_cpu(i)
|
if (!desc) {
|
||||||
per_irq_sum += kstat_irqs_cpu(j, i);
|
seq_printf(p, " %u", per_irq_sum);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
for_each_possible_cpu(i)
|
||||||
|
per_irq_sum += kstat_irqs_cpu(j, i);
|
||||||
|
|
||||||
seq_printf(p, " %u", per_irq_sum);
|
seq_printf(p, " %u", per_irq_sum);
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,7 +198,6 @@ extern void arch_init_copy_chip_data(struct irq_desc *old_desc,
|
||||||
extern void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc);
|
extern void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc);
|
||||||
|
|
||||||
#ifndef CONFIG_SPARSE_IRQ
|
#ifndef CONFIG_SPARSE_IRQ
|
||||||
|
|
||||||
extern struct irq_desc irq_desc[NR_IRQS];
|
extern struct irq_desc irq_desc[NR_IRQS];
|
||||||
|
|
||||||
static inline struct irq_desc *irq_to_desc(unsigned int irq)
|
static inline struct irq_desc *irq_to_desc(unsigned int irq)
|
||||||
|
@ -210,14 +209,6 @@ static inline struct irq_desc *irq_to_desc_alloc_cpu(unsigned int irq, int cpu)
|
||||||
return irq_to_desc(irq);
|
return irq_to_desc(irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_GENERIC_HARDIRQS
|
|
||||||
# define for_each_irq_desc(irq, desc) \
|
|
||||||
for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++)
|
|
||||||
# define for_each_irq_desc_reverse(irq, desc) \
|
|
||||||
for (irq = nr_irqs - 1, desc = irq_desc + (nr_irqs - 1); \
|
|
||||||
irq >= 0; irq--, desc--)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
extern struct irq_desc *irq_to_desc(unsigned int irq);
|
extern struct irq_desc *irq_to_desc(unsigned int irq);
|
||||||
|
|
|
@ -8,9 +8,22 @@
|
||||||
# define for_each_irq_desc(irq, desc) \
|
# define for_each_irq_desc(irq, desc) \
|
||||||
for (irq = 0; irq < nr_irqs; irq++)
|
for (irq = 0; irq < nr_irqs; irq++)
|
||||||
|
|
||||||
static inline early_sparse_irq_init(void)
|
# define for_each_irq_desc_reverse(irq, desc) \
|
||||||
{
|
for (irq = nr_irqs - 1; irq >= 0; irq--)
|
||||||
}
|
#else
|
||||||
|
#ifndef CONFIG_SPARSE_IRQ
|
||||||
|
|
||||||
|
struct irq_desc;
|
||||||
|
extern int nr_irqs;
|
||||||
|
# define for_each_irq_desc(irq, desc) \
|
||||||
|
for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++)
|
||||||
|
# define for_each_irq_desc_reverse(irq, desc) \
|
||||||
|
for (irq = nr_irqs - 1, desc = irq_desc + (nr_irqs - 1); \
|
||||||
|
irq >= 0; irq--, desc--)
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define for_each_irq_nr(irq) \
|
||||||
|
for (irq = 0; irq < nr_irqs; irq++)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue