diff options
Diffstat (limited to 'arch/mips/kernel/irq-mv6434x.c')
-rw-r--r-- | arch/mips/kernel/irq-mv6434x.c | 54 |
1 files changed, 7 insertions, 47 deletions
diff --git a/arch/mips/kernel/irq-mv6434x.c b/arch/mips/kernel/irq-mv6434x.c index 37d106202b83..6cfb31cafde2 100644 --- a/arch/mips/kernel/irq-mv6434x.c +++ b/arch/mips/kernel/irq-mv6434x.c | |||
@@ -67,39 +67,6 @@ static inline void unmask_mv64340_irq(unsigned int irq) | |||
67 | } | 67 | } |
68 | 68 | ||
69 | /* | 69 | /* |
70 | * Enables the IRQ on Marvell Chip | ||
71 | */ | ||
72 | static void enable_mv64340_irq(unsigned int irq) | ||
73 | { | ||
74 | unmask_mv64340_irq(irq); | ||
75 | } | ||
76 | |||
77 | /* | ||
78 | * Initialize the IRQ on Marvell Chip | ||
79 | */ | ||
80 | static unsigned int startup_mv64340_irq(unsigned int irq) | ||
81 | { | ||
82 | unmask_mv64340_irq(irq); | ||
83 | return 0; | ||
84 | } | ||
85 | |||
86 | /* | ||
87 | * Disables the IRQ on Marvell Chip | ||
88 | */ | ||
89 | static void disable_mv64340_irq(unsigned int irq) | ||
90 | { | ||
91 | mask_mv64340_irq(irq); | ||
92 | } | ||
93 | |||
94 | /* | ||
95 | * Masks and ACKs an IRQ | ||
96 | */ | ||
97 | static void mask_and_ack_mv64340_irq(unsigned int irq) | ||
98 | { | ||
99 | mask_mv64340_irq(irq); | ||
100 | } | ||
101 | |||
102 | /* | ||
103 | * End IRQ processing | 70 | * End IRQ processing |
104 | */ | 71 | */ |
105 | static void end_mv64340_irq(unsigned int irq) | 72 | static void end_mv64340_irq(unsigned int irq) |
@@ -133,15 +100,12 @@ void ll_mv64340_irq(void) | |||
133 | do_IRQ(ls1bit32(irq_src_high) + irq_base + 32); | 100 | do_IRQ(ls1bit32(irq_src_high) + irq_base + 32); |
134 | } | 101 | } |
135 | 102 | ||
136 | #define shutdown_mv64340_irq disable_mv64340_irq | ||
137 | |||
138 | struct irq_chip mv64340_irq_type = { | 103 | struct irq_chip mv64340_irq_type = { |
139 | .typename = "MV-64340", | 104 | .typename = "MV-64340", |
140 | .startup = startup_mv64340_irq, | 105 | .ack = mask_mv64340_irq, |
141 | .shutdown = shutdown_mv64340_irq, | 106 | .mask = mask_mv64340_irq, |
142 | .enable = enable_mv64340_irq, | 107 | .mask_ack = mask_mv64340_irq, |
143 | .disable = disable_mv64340_irq, | 108 | .unmask = unmask_mv64340_irq, |
144 | .ack = mask_and_ack_mv64340_irq, | ||
145 | .end = end_mv64340_irq, | 109 | .end = end_mv64340_irq, |
146 | }; | 110 | }; |
147 | 111 | ||
@@ -149,13 +113,9 @@ void __init mv64340_irq_init(unsigned int base) | |||
149 | { | 113 | { |
150 | int i; | 114 | int i; |
151 | 115 | ||
152 | /* Reset irq handlers pointers to NULL */ | 116 | for (i = base; i < base + 64; i++) |
153 | for (i = base; i < base + 64; i++) { | 117 | set_irq_chip_and_handler(i, &mv64340_irq_type, |
154 | irq_desc[i].status = IRQ_DISABLED; | 118 | handle_level_irq); |
155 | irq_desc[i].action = 0; | ||
156 | irq_desc[i].depth = 2; | ||
157 | irq_desc[i].chip = &mv64340_irq_type; | ||
158 | } | ||
159 | 119 | ||
160 | irq_base = base; | 120 | irq_base = base; |
161 | } | 121 | } |