]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
authorBen Dooks <ben-linux@fluff.org>
Fri, 6 Mar 2009 17:13:52 +0000 (17:13 +0000)
committerBen Dooks <ben-linux@fluff.org>
Fri, 6 Mar 2009 17:13:52 +0000 (17:13 +0000)
1  2 
arch/arm/plat-s3c64xx/irq-eint.c

index 8d1b7290aa138d0d5e2c024494fc32856ba88843,ebb305ce7689f2aa0499f6d582ceebc453cddaf0..cf524826c93a68fb757daf6a58333dee784a1182
  
  #include <linux/kernel.h>
  #include <linux/interrupt.h>
 +#include <linux/gpio.h>
  #include <linux/irq.h>
  #include <linux/io.h>
  
  #include <asm/hardware/vic.h>
  
  #include <plat/regs-irqtype.h>
 +#include <plat/regs-gpio.h>
 +#include <plat/gpio-cfg.h>
  
  #include <mach/map.h>
  #include <plat/cpu.h>
@@@ -58,7 -55,7 +58,7 @@@ static void s3c_irq_eint_unmask(unsigne
        u32 mask;
  
        mask = __raw_readl(S3C64XX_EINT0MASK);
-       mask |= eint_irq_to_bit(irq);
+       mask &= ~eint_irq_to_bit(irq);
        __raw_writel(mask, S3C64XX_EINT0MASK);
  }
  
@@@ -77,7 -74,6 +77,7 @@@ static void s3c_irq_eint_maskack(unsign
  static int s3c_irq_eint_set_type(unsigned int irq, unsigned int type)
  {
        int offs = eint_offset(irq);
 +      int pin;
        int shift;
        u32 ctrl, mask;
        u32 newvalue = 0;
        ctrl |= newvalue << shift;
        __raw_writel(ctrl, reg);
  
 +      /* set the GPIO pin appropriately */
 +
 +      if (offs < 23)
 +              pin = S3C64XX_GPN(offs);
 +      else
 +              pin = S3C64XX_GPM(offs - 23);
 +
 +      s3c_gpio_cfgpin(pin, S3C_GPIO_SFN(2));
 +
        return 0;
  }
  
@@@ -194,7 -181,7 +194,7 @@@ static void s3c_irq_demux_eint20_27(uns
        s3c_irq_demux_eint(20, 27);
  }
  
 -int __init s3c64xx_init_irq_eint(void)
 +static int __init s3c64xx_init_irq_eint(void)
  {
        int irq;