Skip to content

Commit

Permalink
Remove unnecessary IRQ ack functions
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdeauducq committed May 22, 2012
1 parent 70e99b2 commit 125d571
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 29 deletions.
6 changes: 0 additions & 6 deletions arch/lm32/include/asm/irq.h
Expand Up @@ -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_ */
22 changes: 0 additions & 22 deletions arch/lm32/kernel/irq.c
Expand Up @@ -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,
};

Expand Down
1 change: 0 additions & 1 deletion arch/lm32/platforms/milkymist/early_printk.c
Expand Up @@ -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)
Expand Down

3 comments on commit 125d571

@skoulik
Copy link

@skoulik skoulik commented on 125d571 Jul 3, 2012

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

@sbourdeauducq
Copy link
Member

@sbourdeauducq sbourdeauducq commented on 125d571 Jul 4, 2012 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@skoulik
Copy link

@skoulik skoulik commented on 125d571 Jul 4, 2012

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! This clarifies things.

Please sign in to comment.