[ARM] S3C24XX: Add gpio_to_irq implementation
Add to_irq field handlers for the GPIO banks that are configurable as interripts. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
@@ -59,6 +59,22 @@ static int s3c24xx_gpiolib_banka_output(struct gpio_chip *chip,
|
|||||||
return 0;
|
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[] = {
|
struct s3c_gpio_chip s3c24xx_gpios[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
|
.base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
|
||||||
@@ -114,6 +130,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
|
|||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.label = "GPIOF",
|
.label = "GPIOF",
|
||||||
.ngpio = 8,
|
.ngpio = 8,
|
||||||
|
.to_irq = s3c24xx_gpiolib_bankf_toirq,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[6] = {
|
[6] = {
|
||||||
@@ -123,6 +140,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
|
|||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.label = "GPIOG",
|
.label = "GPIOG",
|
||||||
.ngpio = 10,
|
.ngpio = 10,
|
||||||
|
.to_irq = s3c24xx_gpiolib_bankg_toirq,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user