]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/gpio/timbgpio.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / gpio / timbgpio.c
index 45293662e95045594c2a9ed12ece640c2590f93f..58c8f30352dddbd4eda7b3cd2ac45455b51d92a4 100644 (file)
@@ -109,10 +109,10 @@ static int timbgpio_to_irq(struct gpio_chip *gpio, unsigned offset)
 /*
  * GPIO IRQ
  */
-static void timbgpio_irq_disable(unsigned irq)
+static void timbgpio_irq_disable(struct irq_data *d)
 {
-       struct timbgpio *tgpio = get_irq_chip_data(irq);
-       int offset = irq - tgpio->irq_base;
+       struct timbgpio *tgpio = irq_data_get_irq_chip_data(d);
+       int offset = d->irq - tgpio->irq_base;
        unsigned long flags;
 
        spin_lock_irqsave(&tgpio->lock, flags);
@@ -121,10 +121,10 @@ static void timbgpio_irq_disable(unsigned irq)
        spin_unlock_irqrestore(&tgpio->lock, flags);
 }
 
-static void timbgpio_irq_enable(unsigned irq)
+static void timbgpio_irq_enable(struct irq_data *d)
 {
-       struct timbgpio *tgpio = get_irq_chip_data(irq);
-       int offset = irq - tgpio->irq_base;
+       struct timbgpio *tgpio = irq_data_get_irq_chip_data(d);
+       int offset = d->irq - tgpio->irq_base;
        unsigned long flags;
 
        spin_lock_irqsave(&tgpio->lock, flags);
@@ -133,10 +133,10 @@ static void timbgpio_irq_enable(unsigned irq)
        spin_unlock_irqrestore(&tgpio->lock, flags);
 }
 
-static int timbgpio_irq_type(unsigned irq, unsigned trigger)
+static int timbgpio_irq_type(struct irq_data *d, unsigned trigger)
 {
-       struct timbgpio *tgpio = get_irq_chip_data(irq);
-       int offset = irq - tgpio->irq_base;
+       struct timbgpio *tgpio = irq_data_get_irq_chip_data(d);
+       int offset = d->irq - tgpio->irq_base;
        unsigned long flags;
        u32 lvr, flr, bflr = 0;
        u32 ver;
@@ -199,7 +199,7 @@ static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
        unsigned long ipr;
        int offset;
 
-       desc->chip->ack(irq);
+       desc->irq_data.chip->irq_ack(irq_get_irq_data(irq));
        ipr = ioread32(tgpio->membase + TGPIO_IPR);
        iowrite32(ipr, tgpio->membase + TGPIO_ICR);
 
@@ -217,9 +217,9 @@ static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
 
 static struct irq_chip timbgpio_irqchip = {
        .name           = "GPIO",
-       .enable         = timbgpio_irq_enable,
-       .disable        = timbgpio_irq_disable,
-       .set_type       = timbgpio_irq_type,
+       .irq_enable     = timbgpio_irq_enable,
+       .irq_disable    = timbgpio_irq_disable,
+       .irq_set_type   = timbgpio_irq_type,
 };
 
 static int __devinit timbgpio_probe(struct platform_device *pdev)