Permalink
Browse files

Remove unnecessary IRQ ack functions

  • Loading branch information...
1 parent 70e99b2 commit 125d571ebba3fbd6471e5a9360714982fc3a466f @sbourdeauducq sbourdeauducq committed May 22, 2012
Showing with 0 additions and 29 deletions.
  1. +0 −6 arch/lm32/include/asm/irq.h
  2. +0 −22 arch/lm32/kernel/irq.c
  3. +0 −1 arch/lm32/platforms/milkymist/early_printk.c
@@ -38,10 +38,4 @@ static inline uint32_t lm32_irq_pending(void)
return ip;
}
-static inline void lm32_irq_ack(unsigned int irq)
-{
- uint32_t mask = (1 << irq);
- __asm__ __volatile__("wcsr IP, %0" : : "r"(mask) );
-}
-
#endif /* _LM32_ASM_IRQ_H_ */
View
@@ -37,31 +37,9 @@ static void lm32_pic_irq_unmask(struct irq_data *data)
: "=&r"(im) : "r"(mask));
}
-static void lm32_pic_irq_ack(struct irq_data *data)
-{
- uint32_t mask = lm32_pic_get_irq_mask(data);
-
- __asm__ __volatile__("wcsr IP, %0" : : "r"(mask));
-}
-
-static void lm32_pic_irq_mask_ack(struct irq_data *data)
-{
- uint32_t mask = lm32_pic_get_irq_mask(data);
- uint32_t im;
-
- __asm__ __volatile__("rcsr %0, IM\n"
- "not %0, %0\n"
- "nor %0, %0, %1\n"
- "wcsr IM, %0\n"
- "wcsr IP, %1\n"
- : "=&r"(im) : "r"(mask) );
-}
-
static struct irq_chip lm32_irq_chip = {
.name = "LM32 PIC",
- .irq_ack = lm32_pic_irq_ack,
.irq_mask = lm32_pic_irq_mask,
- .irq_mask_ack = lm32_pic_irq_mask_ack,
.irq_unmask = lm32_pic_irq_unmask,
};
@@ -33,7 +33,6 @@
#include <linux/console.h>
#include <linux/init.h>
#include <linux/string.h>
-#include <asm/irq.h>
#include <linux/io.h>
#define UART_RXTX ((void *)0xe0000000)

3 comments on commit 125d571

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?

Owner

sbourdeauducq replied Jul 4, 2012

Thank you! This clarifies things.

Please sign in to comment.