|
@@ -59,6 +59,22 @@ static int s3c24xx_gpiolib_banka_output(struct gpio_chip *chip,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int s3c24xx_gpiolib_bankf_toirq(struct gpio_chip *chip, unsigned offset)
|
|
|
+{
|
|
|
+ if (offset < 4)
|
|
|
+ return IRQ_EINT0 + offset;
|
|
|
+
|
|
|
+ if (offset < 8)
|
|
|
+ return IRQ_EINT4 + offset - 4;
|
|
|
+
|
|
|
+ return -EINVAL;
|
|
|
+}
|
|
|
+
|
|
|
+static int s3c24xx_gpiolib_bankg_toirq(struct gpio_chip *chip, unsigned offset)
|
|
|
+{
|
|
|
+ return IRQ_EINT8 + offset;
|
|
|
+}
|
|
|
+
|
|
|
struct s3c_gpio_chip s3c24xx_gpios[] = {
|
|
|
[0] = {
|
|
|
.base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
|
|
@@ -114,6 +130,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
|
|
|
.owner = THIS_MODULE,
|
|
|
.label = "GPIOF",
|
|
|
.ngpio = 8,
|
|
|
+ .to_irq = s3c24xx_gpiolib_bankf_toirq,
|
|
|
},
|
|
|
},
|
|
|
[6] = {
|
|
@@ -123,6 +140,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
|
|
|
.owner = THIS_MODULE,
|
|
|
.label = "GPIOG",
|
|
|
.ngpio = 10,
|
|
|
+ .to_irq = s3c24xx_gpiolib_bankg_toirq,
|
|
|
},
|
|
|
},
|
|
|
};
|