Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Remove unnecessary IRQ ack functions

  • Loading branch information...
commit 125d571ebba3fbd6471e5a9360714982fc3a466f 1 parent 70e99b2
Sébastien Bourdeauducq authored May 22, 2012
6  arch/lm32/include/asm/irq.h
@@ -38,10 +38,4 @@ static inline uint32_t lm32_irq_pending(void)
38 38
 	return ip;
39 39
 }
40 40
 
41  
-static inline void lm32_irq_ack(unsigned int irq)
42  
-{
43  
-	uint32_t mask = (1 << irq);
44  
-	__asm__ __volatile__("wcsr IP, %0" : : "r"(mask) );
45  
-}
46  
-
47 41
 #endif /* _LM32_ASM_IRQ_H_ */
22  arch/lm32/kernel/irq.c
@@ -37,31 +37,9 @@ static void lm32_pic_irq_unmask(struct irq_data *data)
37 37
 			     : "=&r"(im) : "r"(mask));
38 38
 }
39 39
 
40  
-static void lm32_pic_irq_ack(struct irq_data *data)
41  
-{
42  
-	uint32_t mask = lm32_pic_get_irq_mask(data);
43  
-
44  
-	__asm__ __volatile__("wcsr IP, %0" : : "r"(mask));
45  
-}
46  
-
47  
-static void lm32_pic_irq_mask_ack(struct irq_data *data)
48  
-{
49  
-	uint32_t mask = lm32_pic_get_irq_mask(data);
50  
-	uint32_t im;
51  
-
52  
-	__asm__ __volatile__("rcsr %0, IM\n"
53  
-			     "not %0, %0\n"
54  
-			     "nor %0, %0, %1\n"
55  
-			     "wcsr IM, %0\n"
56  
-			     "wcsr IP, %1\n"
57  
-			     : "=&r"(im) : "r"(mask) );
58  
-}
59  
-
60 40
 static struct irq_chip lm32_irq_chip = {
61 41
 	.name		= "LM32 PIC",
62  
-	.irq_ack	= lm32_pic_irq_ack,
63 42
 	.irq_mask	= lm32_pic_irq_mask,
64  
-	.irq_mask_ack	= lm32_pic_irq_mask_ack,
65 43
 	.irq_unmask	= lm32_pic_irq_unmask,
66 44
 };
67 45
 
1  arch/lm32/platforms/milkymist/early_printk.c
@@ -33,7 +33,6 @@
33 33
 #include <linux/console.h>
34 34
 #include <linux/init.h>
35 35
 #include <linux/string.h>
36  
-#include <asm/irq.h>
37 36
 #include <linux/io.h>
38 37
 
39 38
 #define UART_RXTX		((void *)0xe0000000)

3 notes on commit 125d571

Sergey Koulik

Hi Sébastien,

Can you please provide a little explanation of what you are trying to achieve with these changes. I see you've removed irq_ack() callback. This breaks kernel startup at point where timers are setup and enabled on my platform. Are you planning to ack IRQs somewhere else?

Sébastien Bourdeauducq
Owner
Sergey Koulik

Thank you! This clarifies things.

Please sign in to comment.
Something went wrong with that request. Please try again.