From: t.figa@samsung.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/15] pinctrl: samsung: Usability and extensibiltiy improvements
Date: Thu, 11 Oct 2012 10:11:06 +0200 [thread overview]
Message-ID: <1349943081-27939-1-git-send-email-t.figa@samsung.com> (raw)
This patch series is a work on improving usability and extensibiltiy of
the pinctrl-samsung driver. It consists of three main parts:
- improving flexibility of SoC-specific data specification
- converting the driver to one GPIO chip and IRQ domain per pin bank
- improving wake-up IRQ setup and handling
1) What the first part does, in addition to various related fixes, is
removing any unnecessary static data from pinctrl-exynos driver.
This is achieved mostly thanks to assigning pin numbers dynamically,
with help of only pin counts of particular banks. It also simplifies
adding next SoC variants, since much less static data needs to be
specified.
2) The second part attempts to simplify usage of the driver and fix several
problems of current implementation, in particular:
- Simplifies GPIO pin specification in device tree by using pin
namespace local to pin bank instead of local to pin controller, e.g.
gpios = <&gpj0 3 0>;
instead of
gpios = <&pinctrl0 115 0>;
- Simplifies GPIO interrupt specification in device tree by using
namespace local to pin bank (and equal to GPIO namespace), e.g.
interrupt-parent = <&gpj0>;
interrupts = <3 0>;
instead of
interrupt-parent = <&pinctrl0>;
interrupts = <115 0>;
- Simplifies internal GPIO pin to bank translation thanks to
correspondence of particular GPIO chips to pin banks. This allows
to remove the (costly in case of GPIO bit-banging drivers) lookup
over all banks to find the one that the pin is from.
3) Third part is focused on removing the hard-coded description of wake-up
interrupt layout.
It moves wake-up interrupt description to bank struct and device tree,
which allows to specify which pin banks support wake-up interrupts and
how they are handled (direct or multiplexed/chained).
See particular patches for more detailed descriptions and the last patch for
updated device tree bindings.
Changes since v1:
- dropped moving SoC-specific data to device tree
(might be added in further patches)
- dropped per-bank specification of configuration register offsets
(thus limiting scope of the driver to Exynos SoCs; will be added in
further patches)
Tomasz Figa (15):
pinctrl: samsung: Detect and handle unsupported configuration types
pinctrl: samsung: Do not pass gpio_chip to pin_to_reg_bank
pinctrl: samsung: Assing pin numbers dynamically
pinctrl: samsung: Remove static pin enumerations
pinctrl: samsung: Distinguish between pin group and bank nodes
ARM: dts: exynos4210-pinctrl: Add nodes for pin banks
pinctrl: samsung: Match pin banks with their device nodes
pinctrl: samsung: Hold pointer to driver data in bank struct
pinctrl: samsung: Include bank-specific eint offset in bank struct
pinctrl: exynos: Use one IRQ domain per pin bank
pinctrl: samsung: Use one GPIO chip per pin bank
pinctrl: samsung: Use per-bank IRQ domain for wake-up interrupts
pinctrl: exynos: Set pin function to EINT in irq_set_type of wake-up
EINT
pinctrl: samsung: Add GPIO to IRQ translation
Documentation: Update samsung-pinctrl device tree bindings
documentation
.../bindings/pinctrl/samsung-pinctrl.txt | 118 +++++--
arch/arm/boot/dts/exynos4210-pinctrl.dtsi | 278 ++++++++++++++++
arch/arm/boot/dts/exynos4210.dtsi | 241 +-------------
drivers/pinctrl/pinctrl-exynos.c | 367 ++++++++++-----------
drivers/pinctrl/pinctrl-exynos.h | 170 ++--------
drivers/pinctrl/pinctrl-samsung.c | 203 ++++++++----
drivers/pinctrl/pinctrl-samsung.h | 29 +-
7 files changed, 741 insertions(+), 665 deletions(-)
--
1.7.12
next reply other threads:[~2012-10-11 8:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-11 8:11 Tomasz Figa [this message]
2012-10-11 8:11 ` [PATCH 01/15] pinctrl: samsung: Detect and handle unsupported configuration types Tomasz Figa
2012-10-11 13:57 ` Linus Walleij
2012-10-11 14:00 ` Kyungmin Park
2012-10-11 14:06 ` Linus Walleij
2012-10-11 8:11 ` [PATCH 02/15] pinctrl: samsung: Do not pass gpio_chip to pin_to_reg_bank Tomasz Figa
2012-10-11 8:11 ` [PATCH 03/15] pinctrl: samsung: Assing pin numbers dynamically Tomasz Figa
2012-10-11 8:11 ` [PATCH 04/15] pinctrl: samsung: Remove static pin enumerations Tomasz Figa
2012-10-11 8:11 ` [PATCH 05/15] pinctrl: samsung: Distinguish between pin group and bank nodes Tomasz Figa
2012-10-11 8:11 ` [PATCH 06/15] ARM: dts: exynos4210-pinctrl: Add nodes for pin banks Tomasz Figa
2012-10-11 8:11 ` [PATCH 07/15] pinctrl: samsung: Match pin banks with their device nodes Tomasz Figa
2012-10-11 8:11 ` [PATCH 08/15] pinctrl: samsung: Hold pointer to driver data in bank struct Tomasz Figa
2012-10-11 8:11 ` [PATCH 09/15] pinctrl: samsung: Include bank-specific eint offset " Tomasz Figa
2012-10-11 8:11 ` [PATCH 10/15] pinctrl: exynos: Use one IRQ domain per pin bank Tomasz Figa
2012-10-11 8:11 ` [PATCH 11/15] pinctrl: samsung: Use one GPIO chip " Tomasz Figa
2012-10-11 8:11 ` [PATCH 12/15] pinctrl: samsung: Use per-bank IRQ domain for wake-up interrupts Tomasz Figa
2012-10-11 8:11 ` [PATCH 13/15] pinctrl: exynos: Set pin function to EINT in irq_set_type of wake-up EINT Tomasz Figa
2012-10-11 8:11 ` [PATCH 14/15] pinctrl: samsung: Add GPIO to IRQ translation Tomasz Figa
2012-10-11 8:11 ` [PATCH 15/15] Documentation: Update samsung-pinctrl device tree bindings documentation Tomasz Figa
2012-10-11 9:01 ` [PATCH v2 00/15] pinctrl: samsung: Usability and extensibiltiy improvements Kyungmin Park
2012-10-11 12:50 ` Thomas Abraham
2012-10-11 14:05 ` Linus Walleij
2012-10-11 14:20 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1349943081-27939-1-git-send-email-t.figa@samsung.com \
--to=t.figa@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox