IRQ: Typedef the IRQ flow handler function type
Typedef the IRQ flow handler function type. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)
This commit is contained in:
parent
d223a60106
commit
57a58a9435
|
@ -22,6 +22,12 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/ptrace.h>
|
||||
|
||||
struct irq_desc;
|
||||
typedef void fastcall (*irq_flow_handler_t)(unsigned int irq,
|
||||
struct irq_desc *desc,
|
||||
struct pt_regs *regs);
|
||||
|
||||
|
||||
/*
|
||||
* IRQ line status.
|
||||
*
|
||||
|
@ -139,9 +145,7 @@ struct irq_chip {
|
|||
* Pad this out to 32 bytes for cache and indexing reasons.
|
||||
*/
|
||||
struct irq_desc {
|
||||
void fastcall (*handle_irq)(unsigned int irq,
|
||||
struct irq_desc *desc,
|
||||
struct pt_regs *regs);
|
||||
irq_flow_handler_t handle_irq;
|
||||
struct irq_chip *chip;
|
||||
void *handler_data;
|
||||
void *chip_data;
|
||||
|
@ -281,9 +285,7 @@ handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs);
|
|||
* Get a descriptive string for the highlevel handler, for
|
||||
* /proc/interrupts output:
|
||||
*/
|
||||
extern const char *
|
||||
handle_irq_name(void fastcall (*handle)(unsigned int, struct irq_desc *,
|
||||
struct pt_regs *));
|
||||
extern const char *handle_irq_name(irq_flow_handler_t handle);
|
||||
|
||||
/*
|
||||
* Monolithic do_IRQ implementation.
|
||||
|
@ -335,22 +337,15 @@ extern struct irq_chip dummy_irq_chip;
|
|||
|
||||
extern void
|
||||
set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip,
|
||||
void fastcall (*handle)(unsigned int,
|
||||
struct irq_desc *,
|
||||
struct pt_regs *));
|
||||
irq_flow_handler_t handle);
|
||||
extern void
|
||||
__set_irq_handler(unsigned int irq,
|
||||
void fastcall (*handle)(unsigned int, struct irq_desc *,
|
||||
struct pt_regs *),
|
||||
int is_chained);
|
||||
__set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained);
|
||||
|
||||
/*
|
||||
* Set a highlevel flow handler for a given IRQ:
|
||||
*/
|
||||
static inline void
|
||||
set_irq_handler(unsigned int irq,
|
||||
void fastcall (*handle)(unsigned int, struct irq_desc *,
|
||||
struct pt_regs *))
|
||||
set_irq_handler(unsigned int irq, irq_flow_handler_t handle)
|
||||
{
|
||||
__set_irq_handler(irq, handle, 0);
|
||||
}
|
||||
|
@ -362,8 +357,7 @@ set_irq_handler(unsigned int irq,
|
|||
*/
|
||||
static inline void
|
||||
set_irq_chained_handler(unsigned int irq,
|
||||
void fastcall (*handle)(unsigned int, struct irq_desc *,
|
||||
struct pt_regs *))
|
||||
irq_flow_handler_t handle)
|
||||
{
|
||||
__set_irq_handler(irq, handle, 1);
|
||||
}
|
||||
|
|
|
@ -505,10 +505,7 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs)
|
|||
#endif /* CONFIG_SMP */
|
||||
|
||||
void
|
||||
__set_irq_handler(unsigned int irq,
|
||||
void fastcall (*handle)(unsigned int, irq_desc_t *,
|
||||
struct pt_regs *),
|
||||
int is_chained)
|
||||
__set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained)
|
||||
{
|
||||
struct irq_desc *desc;
|
||||
unsigned long flags;
|
||||
|
@ -561,9 +558,7 @@ __set_irq_handler(unsigned int irq,
|
|||
|
||||
void
|
||||
set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip,
|
||||
void fastcall (*handle)(unsigned int,
|
||||
struct irq_desc *,
|
||||
struct pt_regs *))
|
||||
irq_flow_handler_t handle)
|
||||
{
|
||||
set_irq_chip(irq, chip);
|
||||
__set_irq_handler(irq, handle, 0);
|
||||
|
@ -574,8 +569,7 @@ set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip,
|
|||
* /proc/interrupts output:
|
||||
*/
|
||||
const char *
|
||||
handle_irq_name(void fastcall (*handle)(unsigned int, struct irq_desc *,
|
||||
struct pt_regs *))
|
||||
handle_irq_name(irq_flow_handler_t handle)
|
||||
{
|
||||
if (handle == handle_level_irq)
|
||||
return "level ";
|
||||
|
|
Loading…
Reference in New Issue