#ifndef __ASM_HARDIRQ_H #define __ASM_HARDIRQ_H #include <linux/threads.h> #include <linux/irq.h> typedef struct { unsigned int __softirq_pending; unsigned long idle_timestamp; unsigned int __nmi_count; /* arch dependent */ unsigned int apic_timer_irqs; /* arch dependent */ unsigned int irq0_irqs; unsigned int irq_resched_count; unsigned int irq_call_count; unsigned int irq_tlb_count; unsigned int irq_thermal_count; unsigned int irq_spurious_count; } ____cacheline_aligned irq_cpustat_t; DECLARE_PER_CPU(irq_cpustat_t, irq_stat); #define __ARCH_IRQ_STAT #define __IRQ_STAT(cpu, member) (per_cpu(irq_stat, cpu).member) void ack_bad_irq(unsigned int irq); #include <linux/irq_cpustat.h> #endif /* __ASM_HARDIRQ_H */