Go to the documentation of this file.
4 #include <linux/list.h>
5 #include <linux/kernel.h>
6 #include <linux/types.h>
8 #include <linux/device.h>
10 #define _INTC_MK(fn, mode, addr_e, addr_d, width, shift) \
11 ((shift) | ((width) << 5) | ((fn) << 9) | ((mode) << 13) | \
12 ((addr_e) << 16) | ((addr_d << 24)))
14 #define _INTC_SHIFT(h) (h & 0x1f)
15 #define _INTC_WIDTH(h) ((h >> 5) & 0xf)
16 #define _INTC_FN(h) ((h >> 9) & 0xf)
17 #define _INTC_MODE(h) ((h >> 13) & 0x7)
18 #define _INTC_ADDR_E(h) ((h >> 16) & 0xff)
19 #define _INTC_ADDR_D(h) ((h >> 24) & 0xff)
22 #define IS_SMP(x) (x.smp)
23 #define INTC_REG(d, x, c) (d->reg[(x)] + ((d->smp[(x)] & 0xff) * c))
24 #define SMP_NR(d, x) ((d->smp[(x)] >> 8) ? (d->smp[(x)] >> 8) : 1)
27 #define INTC_REG(d, x, c) (d->reg[(x)])
28 #define SMP_NR(d, x) 1
90 static inline struct intc_desc_int *get_intc_desc(
unsigned int irq)
100 static inline void activate_irq(
int irq)
109 irq_set_noprobe(irq);
113 static inline int intc_handle_int_cmp(
const void *
a,
const void *
b)
144 unsigned int field_value,
150 #ifdef CONFIG_INTC_BALANCING