2008-01-26 20:10:44 +07:00
|
|
|
/*
|
2012-07-20 16:15:04 +07:00
|
|
|
* Copyright IBM Corp. 2002, 2007
|
2008-01-26 20:10:44 +07:00
|
|
|
* Author(s): Ingo Adlung <adlung@de.ibm.com>
|
|
|
|
* Cornelia Huck <cornelia.huck@de.ibm.com>
|
|
|
|
* Arnd Bergmann <arndb@de.ibm.com>
|
|
|
|
* Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ASM_S390_AIRQ_H
|
|
|
|
#define _ASM_S390_AIRQ_H
|
|
|
|
|
2013-06-24 15:30:41 +07:00
|
|
|
struct airq_struct {
|
|
|
|
struct hlist_node list; /* Handler queueing. */
|
|
|
|
void (*handler)(struct airq_struct *); /* Thin-interrupt handler */
|
|
|
|
u8 *lsi_ptr; /* Local-Summary-Indicator pointer */
|
|
|
|
u8 lsi_mask; /* Local-Summary-Indicator mask */
|
|
|
|
u8 isc; /* Interrupt-subclass */
|
|
|
|
u8 flags;
|
|
|
|
};
|
2008-01-26 20:10:44 +07:00
|
|
|
|
2013-06-24 15:30:41 +07:00
|
|
|
#define AIRQ_PTR_ALLOCATED 0x01
|
|
|
|
|
|
|
|
int register_adapter_interrupt(struct airq_struct *airq);
|
|
|
|
void unregister_adapter_interrupt(struct airq_struct *airq);
|
2008-01-26 20:10:44 +07:00
|
|
|
|
|
|
|
#endif /* _ASM_S390_AIRQ_H */
|