diff options
author | Lee Jones <lee.jones@linaro.org> | 2013-01-31 13:57:52 +0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-02-10 18:44:33 +0400 |
commit | a6a16d274e734afa769a9651dfaf8315d404c116 (patch) | |
tree | 123e91e276d7b6b77f362cc1b59fb0fe78447bb5 /drivers/pinctrl/pinctrl-abx500.h | |
parent | ac652d7941f84c24cb27378aefbb4015f4c1da67 (diff) | |
download | linux-a6a16d274e734afa769a9651dfaf8315d404c116.tar.xz |
pinctrl/abx500: replace IRQ offsets with table read-in values
The ABx500 GPIO controller used to provide a set of virtual contiguous
IRQs for use by sub-devices, but they have been removed after a request
from Mainline Maintainers. Now the AB8500 core driver deals with almost
all IRQ related issues instead.
The ABx500 GPIO driver is now only used to convert between GPIO and IRQ
numbers which is actually quite difficult, as the ABx500 GPIO's
associated IRQs are clustered together throughout the interrupt number
space at irregular intervals. To solve this quandary, we have placed the
read-in values into the existing cluster information table to use during
conversion.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
[Moved irq_base removal into this patch]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-abx500.h')
-rw-r--r-- | drivers/pinctrl/pinctrl-abx500.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/pinctrl/pinctrl-abx500.h b/drivers/pinctrl/pinctrl-abx500.h index df8e0ff0c5d5..eeca8f973999 100644 --- a/drivers/pinctrl/pinctrl-abx500.h +++ b/drivers/pinctrl/pinctrl-abx500.h @@ -98,7 +98,7 @@ struct pullud { { \ .start = a, \ .end = b, \ - .offset = c, \ + .to_irq = c, \ } /** @@ -106,14 +106,16 @@ struct pullud { * capable * @start: The pin number of the first pin interrupt capable * @end: The pin number of the last pin interrupt capable - * @offset: offset used to compute specific setting strategy of - * the interrupt line + * @to_irq: The ABx500 GPIO's associated IRQs are clustered + * together throughout the interrupt numbers at irregular + * intervals. To solve this quandary, we will place the + * read-in values into the cluster information table */ struct abx500_gpio_irq_cluster { int start; int end; - int offset; + int to_irq; }; /** |