Remove "struct pt_regs *" parameter from interrupt handlers, since it is no longer passed to interrupt handlers. Also, convert return types to irqreturn_t. Additionally, move DIO_irq_handler variable into the setup_GPIO function, as it's not used outside of this function. Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> --- drivers/staging/pi433/pi433_if.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c index 87053e77..93c0168 100644 --- a/drivers/staging/pi433/pi433_if.c +++ b/drivers/staging/pi433/pi433_if.c @@ -129,8 +129,7 @@ struct pi433_instance { /*-------------------------------------------------------------------------*/ /* GPIO interrupt handlers */ -static irq_handler_t -DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t DIO0_irq_handler(int irq, void *dev_id) { struct pi433_device *device = dev_id; @@ -152,11 +151,10 @@ DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs) wake_up_interruptible(&device->fifo_wait_queue); } - return (irq_handler_t) IRQ_HANDLED; + return IRQ_HANDLED; } -static irq_handler_t -DIO1_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t DIO1_irq_handler(int irq, void *dev_id) { struct pi433_device *device = dev_id; @@ -172,14 +170,9 @@ DIO1_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs) printk("DIO1 irq: %d bytes free in fifo\n", device->free_in_fifo); // TODO: printk() should include KERN_ facility level wake_up_interruptible(&device->fifo_wait_queue); - return (irq_handler_t) IRQ_HANDLED; + return IRQ_HANDLED; } -static void *DIO_irq_handler[NUM_DIO] = { - DIO0_irq_handler, - DIO1_irq_handler -}; - /*-------------------------------------------------------------------------*/ static int @@ -982,6 +975,10 @@ static int setup_GPIOs(struct pi433_device *device) char name[5]; int retval; int i; + const irq_handler_t DIO_irq_handler[NUM_DIO] = { + DIO0_irq_handler, + DIO1_irq_handler + }; for (i=0; i<NUM_DIO; i++) { -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel