提交 7222f391 编写于 作者: T Thomas Gleixner

arm: plat-samsung: Use proper irq accessor functions

Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 e83bbb11
...@@ -107,7 +107,6 @@ static struct irq_chip s3c_irq_uart = { ...@@ -107,7 +107,6 @@ static struct irq_chip s3c_irq_uart = {
static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq) static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq)
{ {
struct irq_desc *desc = irq_to_desc(uirq->parent_irq);
void __iomem *reg_base = uirq->regs; void __iomem *reg_base = uirq->regs;
unsigned int irq; unsigned int irq;
int offs; int offs;
...@@ -124,8 +123,8 @@ static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq) ...@@ -124,8 +123,8 @@ static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq)
set_irq_flags(irq, IRQF_VALID); set_irq_flags(irq, IRQF_VALID);
} }
desc->irq_data.handler_data = uirq; irq_set_handler_data(uirq->parent_irq, uirq);
set_irq_chained_handler(uirq->parent_irq, s3c_irq_demux_uart); irq_set_chained_handler(uirq->parent_irq, s3c_irq_demux_uart);
} }
/** /**
......
...@@ -77,14 +77,11 @@ static struct irq_chip s3c_irq_timer = { ...@@ -77,14 +77,11 @@ static struct irq_chip s3c_irq_timer = {
void __init s3c_init_vic_timer_irq(unsigned int parent_irq, void __init s3c_init_vic_timer_irq(unsigned int parent_irq,
unsigned int timer_irq) unsigned int timer_irq)
{ {
struct irq_desc *desc = irq_to_desc(parent_irq);
set_irq_chained_handler(parent_irq, s3c_irq_demux_vic_timer); irq_set_chained_handler(parent_irq, s3c_irq_demux_vic_timer);
irq_set_handler_data(parent_irq, (void *)timer_irq);
set_irq_chip(timer_irq, &s3c_irq_timer); irq_set_chip_and_handler(timer_irq, &s3c_irq_timer, handle_level_irq);
set_irq_chip_data(timer_irq, (void *)(1 << (timer_irq - IRQ_TIMER0))); irq_set_chip_data(timer_irq, (void *)(1 << (timer_irq - IRQ_TIMER0)));
set_irq_handler(timer_irq, handle_level_irq);
set_irq_flags(timer_irq, IRQF_VALID); set_irq_flags(timer_irq, IRQF_VALID);
desc->irq_data.handler_data = (void *)timer_irq;
} }
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
void samsung_sync_wakemask(void __iomem *reg, void samsung_sync_wakemask(void __iomem *reg,
struct samsung_wakeup_mask *mask, int nr_mask) struct samsung_wakeup_mask *mask, int nr_mask)
{ {
struct irq_desc *desc; struct irq_data *data;
u32 val; u32 val;
val = __raw_readl(reg); val = __raw_readl(reg);
...@@ -33,10 +33,10 @@ void samsung_sync_wakemask(void __iomem *reg, ...@@ -33,10 +33,10 @@ void samsung_sync_wakemask(void __iomem *reg,
continue; continue;
} }
desc = irq_to_desc(mask->irq); data = irq_get_irq_data(mask->irq);
/* bit of a liberty to read this directly from irq_desc. */ /* bit of a liberty to read this directly from irq_data. */
if (desc->wake_depth > 0) if (irqd_is_wakeup_set(data))
val &= ~mask->bit; val &= ~mask->bit;
else else
val |= mask->bit; val |= mask->bit;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册