[PATCH v5] pinctrl: Add pinctrl-s3c24xx driver
Kukjin Kim
kgene.kim at samsung.com
Thu May 9 20:32:05 EDT 2013
Heiko Stübner wrote:
>
> The s3c24xx pins follow a similar pattern as the other Samsung SoCs and
> can therefore reuse the already introduced infrastructure.
>
> The s3c24xx SoCs have one design oddity in that the first 4 external
> interrupts do not reside in the eint pending register but in the main
> interrupt controller instead. We solve this by forwarding the external
> interrupt from the main controller into the irq domain of the pin bank.
> The masking/acking of these interrupts is handled in the same way.
>
> Furthermore the S3C2412/2413 SoCs contain another oddity in that they
> keep the same 4 eints in the main interrupt controller and eintpend
> register and requiring ack operations to happen in both. This is solved
> by using different compatible properties for the wakeup eint node which
> set a property accordingly.
>
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> Reviewed-by: Tomasz Figa <t.figa at samsung.com>
> Reviewed-by: Sylwester Nawrocki <s.nawrocki at samsung.com>
> Acked-by: Linus Walleij <linus.walleij at linaro.org>
Looks good to me.
Linus, if you want me to take into samsung tree, please let me know.
Thanks.
- Kukjin
> ---
> changes since v4:
> - fix wrong s3c2413 naming
> between s3c2412 and s3c2413, the s3c2412 is the base type. Till v4 the
> naming was mixed up, with parts being labeled as s3c2412* and others
> as s3c2413*. Fix this by renaming the s3c2413* parts to s3c2412.
> No functional changes.
>
> changes since v3:
> - address comments from Sylwester Nawrocki:
> (typos, wrong comments, etc)
>
> changes since v2:
> - address more comments from Tomasz Figa:
> * remove obsolete ctrl_type references
> * remove redundant check for parent_chip
> * update docs and commit message
>
> changes since v1:
> - address comments from Tomasz Figa:
> * split handling functions for eints 0-3 for s3c2412 and all others
> * change the handling for s3c2412 eints 0-3 in that they now use
> chained_irq_* for the outer parent interrupt
>
> .../bindings/pinctrl/samsung-pinctrl.txt | 8 +
> drivers/gpio/gpio-samsung.c | 4 +
> drivers/pinctrl/Kconfig | 5 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/pinctrl-s3c24xx.c | 652 ++++++++++++++++++++
> drivers/pinctrl/pinctrl-samsung.c | 10 +
> drivers/pinctrl/pinctrl-samsung.h | 4 +
> 7 files changed, 684 insertions(+), 0 deletions(-)
> create mode 100644 drivers/pinctrl/pinctrl-s3c24xx.c
>
[...]
More information about the linux-arm-kernel
mailing list