提交 9b6d99f4 编写于 作者: L Linus Torvalds

Merge git://git.infradead.org/~dhowells/irq-2.6

* git://git.infradead.org/~dhowells/irq-2.6:
  IRQ: Use the new typedef for interrupt handler function pointers
......@@ -212,7 +212,7 @@ static struct platform_device corgits_device = {
*/
static struct pxamci_platform_data corgi_mci_platform_data;
static int corgi_mci_init(struct device *dev, irqreturn_t (*corgi_detect_int)(int, void *), void *data)
static int corgi_mci_init(struct device *dev, irq_handler_t corgi_detect_int, void *data)
{
int err;
......
......@@ -125,7 +125,7 @@ static struct pxafb_mach_info sharp_lm8v31 = {
.pxafb_lcd_power = &idp_lcd_power
};
static int idp_mci_init(struct device *dev, irqreturn_t (*idp_detect_int)(int, void *), void *data)
static int idp_mci_init(struct device *dev, irq_handler_t idp_detect_int, void *data)
{
/* setup GPIO for PXA25x MMC controller */
pxa_gpio_mode(GPIO6_MMCCLK_MD);
......
......@@ -378,7 +378,7 @@ static struct pxafb_mach_info sharp_lm8v31 = {
#define MMC_POLL_RATE msecs_to_jiffies(1000)
static void lubbock_mmc_poll(unsigned long);
static irqreturn_t (*mmc_detect_int)(int, void *);
static irq_handler_t mmc_detect_int;
static struct timer_list mmc_timer = {
.function = lubbock_mmc_poll,
......@@ -412,7 +412,7 @@ static irqreturn_t lubbock_detect_int(int irq, void *data)
}
static int lubbock_mci_init(struct device *dev,
irqreturn_t (*detect_int)(int, void *),
irq_handler_t detect_int,
void *data)
{
/* setup GPIO for PXA25x MMC controller */
......
......@@ -313,7 +313,7 @@ static struct pxafb_mach_info mainstone_pxafb_info = {
.pxafb_backlight_power = mainstone_backlight_power,
};
static int mainstone_mci_init(struct device *dev, irqreturn_t (*mstone_detect_int)(int, void *), void *data)
static int mainstone_mci_init(struct device *dev, irq_handler_t mstone_detect_int, void *data)
{
int err;
......
......@@ -197,7 +197,7 @@ static struct platform_device poodle_ts_device = {
*/
static struct pxamci_platform_data poodle_mci_platform_data;
static int poodle_mci_init(struct device *dev, irqreturn_t (*poodle_detect_int)(int, void *), void *data)
static int poodle_mci_init(struct device *dev, irq_handler_t poodle_detect_int, void *data)
{
int err;
......
......@@ -291,7 +291,7 @@ static struct platform_device spitzts_device = {
static struct pxamci_platform_data spitz_mci_platform_data;
static int spitz_mci_init(struct device *dev, irqreturn_t (*spitz_detect_int)(int, void *), void *data)
static int spitz_mci_init(struct device *dev, irq_handler_t spitz_detect_int, void *data)
{
int err;
......
......@@ -174,7 +174,7 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
*/
static struct pxamci_platform_data tosa_mci_platform_data;
static int tosa_mci_init(struct device *dev, irqreturn_t (*tosa_detect_int)(int, void *), void *data)
static int tosa_mci_init(struct device *dev, irq_handler_t tosa_detect_int, void *data)
{
int err;
......
......@@ -270,7 +270,7 @@ void board_pcmcia_power(int power) {;}
#endif /* CONFIG_MACH_TRIZEPS4_CONXS */
EXPORT_SYMBOL(board_pcmcia_power);
static int trizeps4_mci_init(struct device *dev, irqreturn_t (*mci_detect_int)(int, void *), void *data)
static int trizeps4_mci_init(struct device *dev, irq_handler_t mci_detect_int, void *data)
{
int err;
/* setup GPIO for PXA27x MMC controller */
......
......@@ -714,7 +714,7 @@ startup(struct async_struct *info)
{
unsigned long flags;
int retval=0;
irqreturn_t (*handler)(int, void *);
irq_handler_t handler;
struct serial_state *state= info->state;
unsigned long page;
......
......@@ -83,7 +83,7 @@ static char amiga_model_name[13] = "Amiga ";
extern char m68k_debug_device[];
static void amiga_sched_init(irqreturn_t (*handler)(int, void *));
static void amiga_sched_init(irq_handler_t handler);
/* amiga specific irq functions */
extern void amiga_init_IRQ (void);
static void amiga_get_model(char *model);
......@@ -487,7 +487,7 @@ void __init config_amiga(void)
static unsigned short jiffy_ticks;
static void __init amiga_sched_init(irqreturn_t (*timer_routine)(int, void *))
static void __init amiga_sched_init(irq_handler_t timer_routine)
{
static struct resource sched_res = {
.name = "timer", .start = 0x00bfd400, .end = 0x00bfd5ff,
......
......@@ -25,7 +25,7 @@ u_long cpuctrl_physaddr;
u_long timer_physaddr;
u_long apollo_model;
extern void dn_sched_init(irqreturn_t (*handler)(int,void *));
extern void dn_sched_init(irq_handler_t handler);
extern void dn_init_IRQ(void);
extern unsigned long dn_gettimeoffset(void);
extern int dn_dummy_hwclk(int, struct rtc_time *);
......@@ -176,7 +176,7 @@ void config_apollo(void) {
irqreturn_t dn_timer_int(int irq, void *dev_id)
{
irqreturn_t (*timer_handler)(int, void *) = dev_id;
irq_handler_t timer_handler = dev_id;
volatile unsigned char x;
......@@ -188,7 +188,7 @@ irqreturn_t dn_timer_int(int irq, void *dev_id)
return IRQ_HANDLED;
}
void dn_sched_init(irqreturn_t (*timer_routine)(int, void *))
void dn_sched_init(irq_handler_t timer_routine)
{
/* program timer 1 */
*(volatile unsigned char *)(timer+3)=0x01;
......
......@@ -62,7 +62,7 @@ static void atari_heartbeat( int on );
#endif
/* atari specific timer functions (in time.c) */
extern void atari_sched_init(irqreturn_t (*)(int, void *));
extern void atari_sched_init(irq_handler_t );
extern unsigned long atari_gettimeoffset (void);
extern int atari_mste_hwclk (int, struct rtc_time *);
extern int atari_tt_hwclk (int, struct rtc_time *);
......
......@@ -44,7 +44,7 @@
static int stdma_locked; /* the semaphore */
/* int func to be called */
static irqreturn_t (*stdma_isr)(int, void *);
static irq_handler_t stdma_isr;
static void *stdma_isr_data; /* data passed to isr */
static DECLARE_WAIT_QUEUE_HEAD(stdma_wait); /* wait queue for ST-DMA */
......@@ -75,7 +75,7 @@ static irqreturn_t stdma_int (int irq, void *dummy);
*
*/
void stdma_lock(irqreturn_t (*handler)(int, void *), void *data)
void stdma_lock(irq_handler_t handler, void *data)
{
unsigned long flags;
......
......@@ -20,7 +20,7 @@
#include <asm/atariints.h>
void __init
atari_sched_init(irqreturn_t (*timer_routine)(int, void *))
atari_sched_init(irq_handler_t timer_routine)
{
/* set Timer C data Register */
mfp.tim_dt_c = INT_TICKS;
......
......@@ -38,7 +38,7 @@
static void bvme6000_get_model(char *model);
static int bvme6000_get_hardware_list(char *buffer);
extern void bvme6000_sched_init(irqreturn_t (*handler)(int, void *));
extern void bvme6000_sched_init(irq_handler_t handler);
extern unsigned long bvme6000_gettimeoffset (void);
extern int bvme6000_hwclk (int, struct rtc_time *);
extern int bvme6000_set_clock_mmss (unsigned long);
......@@ -52,7 +52,7 @@ static unsigned char bin2bcd (unsigned char b);
/* Save tick handler routine pointer, will point to do_timer() in
* kernel/sched.c, called via bvme6000_process_int() */
static irqreturn_t (*tick_handler)(int, void *);
static irq_handler_t tick_handler;
int bvme6000_parse_bootinfo(const struct bi_record *bi)
......@@ -190,7 +190,7 @@ static irqreturn_t bvme6000_timer_int (int irq, void *dev_id)
* so divide by 8 to get the microsecond result.
*/
void bvme6000_sched_init (irqreturn_t (*timer_routine)(int, void *))
void bvme6000_sched_init (irq_handler_t timer_routine)
{
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
unsigned char msr = rtc->msr & 0xc0;
......
......@@ -39,7 +39,7 @@
static irqreturn_t hp300_tick(int irq, void *dev_id)
{
unsigned long tmp;
irqreturn_t (*vector)(int, void *) = dev_id;
irq_handler_t vector = dev_id;
in_8(CLOCKBASE + CLKSR);
asm volatile ("movpw %1@(5),%0" : "=d" (tmp) : "a" (CLOCKBASE));
/* Turn off the network and SCSI leds */
......@@ -63,7 +63,7 @@ unsigned long hp300_gettimeoffset(void)
return (USECS_PER_JIFFY * ticks) / INTVAL;
}
void __init hp300_sched_init(irqreturn_t (*vector)(int, void *))
void __init hp300_sched_init(irq_handler_t vector)
{
out_8(CLOCKBASE + CLKCR2, 0x1); /* select CR1 */
out_8(CLOCKBASE + CLKCR1, 0x1); /* reset */
......
extern void hp300_sched_init(irqreturn_t (*vector)(int, void *));
extern void hp300_sched_init(irq_handler_t vector);
extern unsigned long hp300_gettimeoffset (void);
......@@ -216,7 +216,7 @@ int setup_irq(unsigned int irq, struct irq_node *node)
}
int request_irq(unsigned int irq,
irqreturn_t (*handler) (int, void *),
irq_handler_t handler,
unsigned long flags, const char *devname, void *dev_id)
{
struct irq_node *node;
......
......@@ -64,7 +64,7 @@ static char m68k_command_line[CL_SIZE];
char m68k_debug_device[6] = "";
void (*mach_sched_init) (irqreturn_t (*handler)(int, void *)) __initdata = NULL;
void (*mach_sched_init) (irq_handler_t handler) __initdata = NULL;
/* machine dependent irq functions */
void (*mach_init_IRQ) (void) __initdata = NULL;
void (*mach_get_model) (char *model);
......
......@@ -72,7 +72,7 @@ extern int show_mac_interrupts(struct seq_file *, void *);
extern void iop_preinit(void);
extern void iop_init(void);
extern void via_init(void);
extern void via_init_clock(irqreturn_t (*func)(int, void *));
extern void via_init_clock(irq_handler_t func);
extern void via_flush_cache(void);
extern void oss_init(void);
extern void psc_init(void);
......@@ -88,7 +88,7 @@ extern void mac_debugging_long(int, long);
static void mac_get_model(char *str);
static void mac_sched_init(irqreturn_t (*vector)(int, void *))
static void mac_sched_init(irq_handler_t vector)
{
via_init_clock(vector);
}
......
......@@ -235,7 +235,7 @@ void __init via_init(void)
* Start the 100 Hz clock
*/
void __init via_init_clock(irqreturn_t (*func)(int, void *))
void __init via_init_clock(irq_handler_t func)
{
via1[vACR] |= 0x40;
via1[vT1LL] = MAC_CLOCK_LOW;
......
......@@ -38,7 +38,7 @@
static void mvme147_get_model(char *model);
static int mvme147_get_hardware_list(char *buffer);
extern void mvme147_sched_init(irqreturn_t (*handler)(int, void *));
extern void mvme147_sched_init(irq_handler_t handler);
extern unsigned long mvme147_gettimeoffset (void);
extern int mvme147_hwclk (int, struct rtc_time *);
extern int mvme147_set_clock_mmss (unsigned long);
......@@ -51,7 +51,7 @@ static int bcd2int (unsigned char b);
/* Save tick handler routine pointer, will point to do_timer() in
* kernel/sched.c, called via mvme147_process_int() */
irqreturn_t (*tick_handler)(int, void *);
irq_handler_t tick_handler;
int mvme147_parse_bootinfo(const struct bi_record *bi)
......@@ -122,7 +122,7 @@ static irqreturn_t mvme147_timer_int (int irq, void *dev_id)
}
void mvme147_sched_init (irqreturn_t (*timer_routine)(int, void *))
void mvme147_sched_init (irq_handler_t timer_routine)
{
tick_handler = timer_routine;
request_irq (PCC_IRQ_TIMER1, mvme147_timer_int,
......
......@@ -42,7 +42,7 @@ static MK48T08ptr_t volatile rtc = (MK48T08ptr_t)MVME_RTC_BASE;
static void mvme16x_get_model(char *model);
static int mvme16x_get_hardware_list(char *buffer);
extern void mvme16x_sched_init(irqreturn_t (*handler)(int, void *));
extern void mvme16x_sched_init(irq_handler_t handler);
extern unsigned long mvme16x_gettimeoffset (void);
extern int mvme16x_hwclk (int, struct rtc_time *);
extern int mvme16x_set_clock_mmss (unsigned long);
......@@ -54,7 +54,7 @@ int bcd2int (unsigned char b);
/* Save tick handler routine pointer, will point to do_timer() in
* kernel/sched.c, called via mvme16x_process_int() */
static irqreturn_t (*tick_handler)(int, void *);
static irq_handler_t tick_handler;
unsigned short mvme16x_config;
......@@ -224,7 +224,7 @@ static irqreturn_t mvme16x_timer_int (int irq, void *dev_id)
return tick_handler(irq, dev_id);
}
void mvme16x_sched_init (irqreturn_t (*timer_routine)(int, void *))
void mvme16x_sched_init (irq_handler_t timer_routine)
{
p_bdid p = &mvme_bdid;
int irq;
......
......@@ -39,7 +39,7 @@ extern irqreturn_t q40_process_int (int level, struct pt_regs *regs);
extern void q40_init_IRQ (void);
static void q40_get_model(char *model);
static int q40_get_hardware_list(char *buffer);
extern void q40_sched_init(irqreturn_t (*handler)(int, void *));
extern void q40_sched_init(irq_handler_t handler);
extern unsigned long q40_gettimeoffset (void);
extern int q40_hwclk (int, struct rtc_time *);
......
......@@ -125,7 +125,7 @@ void q40_mksound(unsigned int hz, unsigned int ticks)
sound_ticks = ticks << 1;
}
static irqreturn_t (*q40_timer_routine)(int, void *);
static irq_handler_t q40_timer_routine;
static irqreturn_t q40_timer_int (int irq, void * dev)
{
......@@ -142,7 +142,7 @@ static irqreturn_t q40_timer_int (int irq, void * dev)
return IRQ_HANDLED;
}
void q40_sched_init (irqreturn_t (*timer_routine)(int, void *))
void q40_sched_init (irq_handler_t timer_routine)
{
int timer_irq;
......
......@@ -35,7 +35,7 @@ extern char _text, _end;
char sun3_reserved_pmeg[SUN3_PMEGS_NUM];
extern unsigned long sun3_gettimeoffset(void);
extern void sun3_sched_init(irqreturn_t (*handler)(int, void *));
extern void sun3_sched_init(irq_handler_t handler);
extern void sun3_get_model (char* model);
extern void idprom_init (void);
extern int sun3_hwclk(int set, struct rtc_time *t);
......@@ -162,7 +162,7 @@ void __init config_sun3(void)
sun3_bootmem_alloc(memory_start, memory_end);
}
void __init sun3_sched_init(irqreturn_t (*timer_routine)(int, void *))
void __init sun3_sched_init(irq_handler_t timer_routine)
{
sun3_disable_interrupts();
intersil_clock->cmd_reg=(INTERSIL_RUN|INTERSIL_INT_DISABLE|INTERSIL_24H_MODE);
......
......@@ -90,7 +90,7 @@ static void sun3x_timer_tick(int irq, void *dev_id, struct pt_regs *regs)
}
#endif
void __init sun3x_sched_init(irqreturn_t (*vector)(int, void *))
void __init sun3x_sched_init(irq_handler_t vector)
{
sun3_disable_interrupts();
......
......@@ -3,7 +3,7 @@
extern int sun3x_hwclk(int set, struct rtc_time *t);
unsigned long sun3x_gettimeoffset (void);
void sun3x_sched_init(irqreturn_t (*vector)(int, void *));
void sun3x_sched_init(irq_handler_t vector);
struct mostek_dt {
volatile unsigned char csr;
......
......@@ -160,7 +160,7 @@ void dump_au1000_dma_channel(unsigned int dmanr)
* Requests the DMA done IRQ if irqhandler != NULL.
*/
int request_au1000_dma(int dev_id, const char *dev_str,
irqreturn_t (*irqhandler)(int, void *),
irq_handler_t irqhandler,
unsigned long irqflags,
void *irq_dev_id)
{
......
......@@ -288,7 +288,7 @@ static struct irq_chip level_irq_type = {
};
#ifdef CONFIG_PM
void startup_match20_interrupt(irqreturn_t (*handler)(int, void *))
void startup_match20_interrupt(irq_handler_t handler)
{
struct irq_desc *desc = &irq_desc[AU1000_TOY_MATCH2_INT];
......
......@@ -61,7 +61,7 @@ static unsigned int timerhi = 0, timerlo = 0;
#error "unsupported HZ value! Must be in [100,1000]"
#endif
#define MATCH20_INC (328*100/HZ) /* magic number 328 is for HZ=100... */
extern void startup_match20_interrupt(irqreturn_t (*handler)(int, void *));
extern void startup_match20_interrupt(irq_handler_t handler);
static unsigned long last_pc0, last_match20;
#endif
......
......@@ -319,7 +319,7 @@ EXPORT_SYMBOL(ibmebus_unregister_driver);
int ibmebus_request_irq(struct ibmebus_dev *dev,
u32 ist,
irqreturn_t (*handler)(int, void*),
irq_handler_t handler,
unsigned long irq_flags, const char * devname,
void *dev_id)
{
......
......@@ -134,8 +134,8 @@ static void irq_panic(void)
prom_halt();
}
void (*sparc_init_timers)(irqreturn_t (*)(int, void *)) =
(void (*)(irqreturn_t (*)(int, void *))) irq_panic;
void (*sparc_init_timers)(irq_handler_t ) =
(void (*)(irq_handler_t )) irq_panic;
/*
* Dave Redman (djhr@tadpole.co.uk)
......@@ -376,7 +376,7 @@ void sparc_floppy_irq(int irq, void *dev_id, struct pt_regs *regs)
* thus no sharing possible.
*/
int request_fast_irq(unsigned int irq,
irqreturn_t (*handler)(int, void *),
irq_handler_t handler,
unsigned long irqflags, const char *devname)
{
struct irqaction *action;
......@@ -475,7 +475,7 @@ int request_fast_irq(unsigned int irq,
}
int request_irq(unsigned int irq,
irqreturn_t (*handler)(int, void *),
irq_handler_t handler,
unsigned long irqflags, const char * devname, void *dev_id)
{
struct irqaction * action, **actionp;
......@@ -485,7 +485,7 @@ int request_irq(unsigned int irq,
if (sparc_cpu_model == sun4d) {
extern int sun4d_request_irq(unsigned int,
irqreturn_t (*)(int, void *),
irq_handler_t ,
unsigned long, const char *, void *);
return sun4d_request_irq(irq, handler, irqflags, devname, dev_id);
}
......
......@@ -154,7 +154,7 @@ static void sun4c_load_profile_irq(int cpu, unsigned int limit)
/* Errm.. not sure how to do this.. */
}
static void __init sun4c_init_timers(irqreturn_t (*counter_fn)(int, void *))
static void __init sun4c_init_timers(irq_handler_t counter_fn)
{
int irq;
......
......@@ -276,7 +276,7 @@ unsigned int sun4d_sbint_to_irq(struct sbus_dev *sdev, unsigned int sbint)
}
int sun4d_request_irq(unsigned int irq,
irqreturn_t (*handler)(int, void *),
irq_handler_t handler,
unsigned long irqflags, const char * devname, void *dev_id)
{
struct irqaction *action, *tmp = NULL, **actionp;
......@@ -470,7 +470,7 @@ static void sun4d_load_profile_irq(int cpu, unsigned int limit)
bw_set_prof_limit(cpu, limit);
}
static void __init sun4d_init_timers(irqreturn_t (*counter_fn)(int, void *))
static void __init sun4d_init_timers(irq_handler_t counter_fn)
{
int irq;
int cpu;
......
......@@ -228,7 +228,7 @@ static void sun4m_load_profile_irq(int cpu, unsigned int limit)
sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit;
}
static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *))
static void __init sun4m_init_timers(irq_handler_t counter_fn)
{
int reg_count, irq, cpu;
struct linux_prom_registers cnt_regs[PROMREG_MAX];
......
......@@ -55,7 +55,7 @@ void install_obp_ticker(void)
linux_lvl14[3] = obp_lvl14[3];
}
void claim_ticker14(irqreturn_t (*handler)(int, void *),
void claim_ticker14(irq_handler_t handler,
int irq_nr, unsigned int timeout )
{
int cpu = smp_processor_id();
......
......@@ -10,11 +10,11 @@
#include "asm/ptrace.h"
extern int um_request_irq(unsigned int irq, int fd, int type,
irqreturn_t (*handler)(int, void *),
irq_handler_t handler,
unsigned long irqflags, const char * devname,
void *dev_id);
extern int init_aio_irq(int irq, char *name,
irqreturn_t (*handler)(int, void *));
irq_handler_t handler);
#endif
......
......@@ -364,7 +364,7 @@ unsigned int do_IRQ(int irq, union uml_pt_regs *regs)
}
int um_request_irq(unsigned int irq, int fd, int type,
irqreturn_t (*handler)(int, void *),
irq_handler_t handler,
unsigned long irqflags, const char * devname,
void *dev_id)
{
......@@ -425,7 +425,7 @@ void __init init_IRQ(void)
}
}
int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *))
int init_aio_irq(int irq, char *name, irq_handler_t handler)
{
int fds[2], err;
......
......@@ -10,7 +10,7 @@ struct mmc_host;
struct pxamci_platform_data {
unsigned int ocr_mask; /* available voltages */
unsigned long detect_delay; /* delay in jiffies before detecting cards after interrupt */
int (*init)(struct device *, irqreturn_t (*)(int, void *), void *);
int (*init)(struct device *, irq_handler_t , void *);
int (*get_ro)(struct device *);
void (*setpower)(struct device *, unsigned int);
void (*exit)(struct device *, void *);
......
......@@ -8,7 +8,7 @@
/***************************** Prototypes *****************************/
void stdma_lock(irqreturn_t (*handler)(int, void *), void *data);
void stdma_lock(irq_handler_t handler, void *data);
void stdma_release( void );
int stdma_others_waiting( void );
int stdma_islocked( void );
......
......@@ -123,7 +123,7 @@ static __inline__ void ide_release_lock (void)
}
static __inline__ void
ide_get_lock(irqreturn_t (*handler)(int, void *), void *data)
ide_get_lock(irq_handler_t handler, void *data)
{
if (MACH_IS_ATARI) {
if (falconide_intr_lock == 0) {
......
......@@ -10,7 +10,7 @@ struct rtc_time;
struct rtc_pll_info;
struct buffer_head;
extern void (*mach_sched_init) (irqreturn_t (*handler)(int, void *));
extern void (*mach_sched_init) (irq_handler_t handler);
/* machine dependent irq functions */
extern void (*mach_init_IRQ) (void);
extern void (*mach_get_model) (char *model);
......
......@@ -123,7 +123,7 @@ struct dma_chan {
extern struct dma_chan au1000_dma_table[];
extern int request_au1000_dma(int dev_id,
const char *dev_str,
irqreturn_t (*irqhandler)(int, void *),
irq_handler_t irqhandler,
unsigned long irqflags,
void *irq_dev_id);
extern void free_au1000_dma(unsigned int dmanr);
......
......@@ -65,7 +65,7 @@ void ibmebus_unregister_driver(struct ibmebus_driver *drv);
int ibmebus_request_irq(struct ibmebus_dev *dev,
u32 ist,
irqreturn_t (*handler)(int, void*),
irq_handler_t handler,
unsigned long irq_flags, const char * devname,
void *dev_id);
void ibmebus_free_irq(struct ibmebus_dev *dev, u32 ist, void *dev_id);
......
......@@ -76,8 +76,8 @@ static inline void load_profile_irq(int cpu, int limit)
BTFIXUP_CALL(load_profile_irq)(cpu, limit);
}
extern void (*sparc_init_timers)(irqreturn_t (*lvl10_irq)(int, void *));
extern void claim_ticker14(irqreturn_t (*irq_handler)(int, void *),
extern void (*sparc_init_timers)(irq_handler_t lvl10_irq);
extern void claim_ticker14(irq_handler_t irq_handler,
int irq,
unsigned int timeout);
......@@ -91,7 +91,7 @@ BTFIXUPDEF_CALL(void, set_irq_udt, int)
#define set_irq_udt(cpu) BTFIXUP_CALL(set_irq_udt)(cpu)
#endif
extern int request_fast_irq(unsigned int irq, irqreturn_t (*handler)(int, void *), unsigned long flags, __const__ char *devname);
extern int request_fast_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, __const__ char *devname);
/* On the sun4m, just like the timers, we have both per-cpu and master
* interrupt registers.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册