struct pending_irq {
u32 virt_id;
- u8 priority;
- u8 hw;
- union {
- /* Physical id, when hw is 1 */
- u16 irq;
- struct {
- /* GICv2 needs cpuid for SGIs */
- u16 cpuid : 15;
- /* EOI generates a maintenance irq */
- u16 maintenance : 1;
- } sgi __attribute__((packed));
- } type;
-
struct pending_irq *next;
struct pending_irq *prev;
} __attribute__((packed));
void irqchip_handle_irq(struct per_cpu *cpu_data);
void irqchip_eoi_irq(u32 irqn, bool deactivate);
-int irqchip_inject_pending(struct per_cpu *cpu_data);
+void irqchip_inject_pending(struct per_cpu *cpu_data);
int irqchip_insert_pending(struct per_cpu *cpu_data, struct pending_irq *irq);
int irqchip_remove_pending(struct per_cpu *cpu_data, struct pending_irq *irq);
-int irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject);
+void irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject);
bool spi_in_cell(struct cell *cell, unsigned int spi);