18 #include <linux/module.h>
19 #include <asm/types.h>
20 #include <mach/hardware.h>
22 #include <mach/irqs.h>
25 #include <linux/device.h>
29 static struct resource h7202ps2_resources[] = {
45 .num_resources =
ARRAY_SIZE(h7202ps2_resources),
46 .resource = h7202ps2_resources,
68 #ifdef CONFIG_H7202_SERIAL23
95 .platform_data = serial_platform_data,
109 h7202_timerx_demux_handler(
unsigned int irq_unused,
struct irq_desc *
desc)
117 if( mask == TSTAT_T0INT )
135 h7202_timer_interrupt(
int irq,
void *
dev_id)
137 h7202_timerx_demux_handler(0,
NULL);
144 static void inline __mask_timerx_irq(
unsigned int irq)
147 bit = 2 << ((irq == IRQ_TIMER64B) ? 4 : (irq -
IRQ_TIMER1));
151 static void inline mask_timerx_irq(
struct irq_data *
d)
153 __mask_timerx_irq(d->
irq);
159 static void inline unmask_timerx_irq(
struct irq_data *
d)
166 static struct irq_chip h7202_timerx_chip = {
167 .irq_ack = mask_timerx_irq,
168 .irq_mask = mask_timerx_irq,
169 .irq_unmask = unmask_timerx_irq,
172 static struct irqaction h7202_timer_irq = {
173 .name =
"h7202 Timer Tick",
175 .handler = h7202_timer_interrupt,
203 irq < IRQ_CHAINED_TIMERX(NR_TIMERX_IRQS); irq++) {
204 __mask_timerx_irq(irq);
205 irq_set_chip_and_handler(irq, &h7202_timerx_chip,
209 irq_set_chained_handler(IRQ_TIMERX, h7202_timerx_demux_handler);
221 #ifdef CONFIG_H7202_SERIAL23