arm: plat-samsung: Use proper irq accessor functions
authorThomas Gleixner <tglx@linutronix.de>
Thu, 24 Mar 2011 11:36:46 +0000 (12:36 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 29 Mar 2011 12:47:53 +0000 (14:47 +0200)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/arm/plat-samsung/irq-uart.c
arch/arm/plat-samsung/irq-vic-timer.c
arch/arm/plat-samsung/wakeup-mask.c

index 4e770355ccbc847ac904652727cb7eddc09af45b..b721c04a830ef0066d2703114b6872ede3f6420a 100644 (file)
@@ -107,7 +107,6 @@ static struct irq_chip s3c_irq_uart = {
 
 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;
        unsigned int irq;
        int offs;
@@ -124,8 +123,8 @@ static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq)
                set_irq_flags(irq, IRQF_VALID);
        }
 
-       desc->irq_data.handler_data = uirq;
-       set_irq_chained_handler(uirq->parent_irq, s3c_irq_demux_uart);
+       irq_set_handler_data(uirq->parent_irq, uirq);
+       irq_set_chained_handler(uirq->parent_irq, s3c_irq_demux_uart);
 }
 
 /**
index dd8692ae5c4cecf7ea01f17fc3392aeaf584c63e..d6ad66ab9290464964789f9e68caa725f243bb67 100644 (file)
@@ -77,14 +77,11 @@ static struct irq_chip s3c_irq_timer = {
 void __init s3c_init_vic_timer_irq(unsigned int parent_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);
-       set_irq_chip_data(timer_irq, (void *)(1 << (timer_irq - IRQ_TIMER0)));
-       set_irq_handler(timer_irq, handle_level_irq);
+       irq_set_chip_and_handler(timer_irq, &s3c_irq_timer, handle_level_irq);
+       irq_set_chip_data(timer_irq, (void *)(1 << (timer_irq - IRQ_TIMER0)));
        set_irq_flags(timer_irq, IRQF_VALID);
-
-       desc->irq_data.handler_data = (void *)timer_irq;
 }
index 2e09b6ad84ca4af1e9f0caaa55556e4ce86af919..dc814037297ba3dfa61d9a214bc4b1781ce9eaf7 100644 (file)
@@ -22,7 +22,7 @@
 void samsung_sync_wakemask(void __iomem *reg,
                           struct samsung_wakeup_mask *mask, int nr_mask)
 {
-       struct irq_desc *desc;
+       struct irq_data *data;
        u32 val;
 
        val = __raw_readl(reg);
@@ -33,10 +33,10 @@ void samsung_sync_wakemask(void __iomem *reg,
                        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. */
-               if (desc->wake_depth > 0)
+               /* bit of a liberty to read this directly from irq_data. */
+               if (irqd_is_wakeup_set(data))
                        val &= ~mask->bit;
                else
                        val |= mask->bit;