From 9b0305c4f8cf74ca622688552f07e52f43359a28 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Jan 2011 19:01:23 +0100 Subject: [PATCH] --- yaml --- r: 232117 b: refs/heads/master c: 9b141fa649b160c6a0854a79fe2cd741c5c99e80 h: refs/heads/master i: 232115: 81a7b985edb4151d3686d7f139c910deaf74c3f8 v: v3 --- [refs] | 2 +- trunk/arch/m32r/platforms/opsput/setup.c | 42 +++++++++--------------- 2 files changed, 17 insertions(+), 27 deletions(-) diff --git a/[refs] b/[refs] index eeb85e23e525..7bea04e1a55a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1899a493b991cf9ea7a57d15b64588632fe32cf0 +refs/heads/master: 9b141fa649b160c6a0854a79fe2cd741c5c99e80 diff --git a/trunk/arch/m32r/platforms/opsput/setup.c b/trunk/arch/m32r/platforms/opsput/setup.c index 7648c1dd8dee..12731547e8bf 100644 --- a/trunk/arch/m32r/platforms/opsput/setup.c +++ b/trunk/arch/m32r/platforms/opsput/setup.c @@ -227,42 +227,32 @@ static void enable_opsput_lcdpld_irq(unsigned int irq) outw(data, port); } -static void mask_and_ack_opsput_lcdpld(unsigned int irq) +static void mask_opsput_lcdpld(struct irq_data *data) { - disable_opsput_lcdpld_irq(irq); + disable_opsput_lcdpld_irq(data->irq); } -static void end_opsput_lcdpld_irq(unsigned int irq) +static void unmask_opsput_lcdpld(struct irq_data *data) { - enable_opsput_lcdpld_irq(irq); + enable_opsput_lcdpld_irq(data->irq); enable_opsput_irq(M32R_IRQ_INT2); } -static unsigned int startup_opsput_lcdpld_irq(unsigned int irq) -{ - enable_opsput_lcdpld_irq(irq); - return (0); -} - -static void shutdown_opsput_lcdpld_irq(unsigned int irq) +static void shutdown_opsput_lcdpld(struct irq_data *data) { unsigned long port; unsigned int pldirq; - pldirq = irq2lcdpldirq(irq); + pldirq = irq2lcdpldirq(data->irq); port = lcdpldirq2port(pldirq); outw(PLD_ICUCR_ILEVEL7, port); } -static struct irq_chip opsput_lcdpld_irq_type = -{ - "OPSPUT-PLD-LCD-IRQ", - startup_opsput_lcdpld_irq, - shutdown_opsput_lcdpld_irq, - enable_opsput_lcdpld_irq, - disable_opsput_lcdpld_irq, - mask_and_ack_opsput_lcdpld, - end_opsput_lcdpld_irq +static struct irq_chip opsput_lcdpld_irq_type = { + .name = "OPSPUT-PLD-LCD-IRQ", + .irq_shutdown = shutdown_opsput_lcdpld, + .irq_mask = mask_opsput_lcdpld, + .irq_unmask = unmask_opsput_lcdpld, }; void __init init_IRQ(void) @@ -358,11 +348,11 @@ void __init init_IRQ(void) enable_opsput_irq(M32R_IRQ_INT1); #if defined(CONFIG_USB) - outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ - - set_irq_chip(OPSPUT_LCD_IRQ_USB_INT1, &opsput_lcdpld_irq_type); - lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ - disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1); + outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */ + set_irq_chip_and_handler(OPSPUT_LCD_IRQ_USB_INT1, + &opsput_lcdpld_irq_type, handle_level_irq); + lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */ + disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1); #endif /* * INT2# is used for BAT, USB, AUDIO