devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Figa <t.figa@samsung.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: ext Tony Lindgren <tony@atomide.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	devicetree-discuss@lists.ozlabs.org, kgene.kim@samsung.com,
	thomas.abraham@linaro.org, swarren@wwwdotorg.org,
	kyungmin.park@samsung.com, m.szyprowski@samsung.com,
	tomasz.figa@gmail.com
Subject: Re: [PATCH 04/16] pinctrl: samsung: Parse pin banks from DT
Date: Wed, 10 Oct 2012 10:39:30 +0200	[thread overview]
Message-ID: <1983938.6eHV2XjAIK@amdc1227> (raw)
In-Reply-To: <CACRpkdafuxbO_peOBgmrjXk7ioVBF6D-D7d=shUd-GpHOdNxqg@mail.gmail.com>

On Wednesday 10 of October 2012 09:34:05 Linus Walleij wrote:
> On Mon, Oct 8, 2012 at 10:39 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> > Currently SoC-specific properties such as list of pin banks, register
> > offsets and bitfield sizes are being taken from static data structures
> > residing in pinctrl-exynos.c.
> > 
> > This patch modifies the pinctrl-samsung driver to parse all
> > SoC-specific
> > data from device tree, which will allow to remove the static data
> > structures and facilitate adding of further SoC variants to the
> > pinctrl-samsung driver.
> 
> So why? Two approaches:
> 
> - Put as much info as possible into the device tree
> - Put as much info as possible into the driver
> 
> The first approach is currently only used by pinctrl-single.c.
> 
> That driver is designed for the case where all info about
> the hardware arrives in some description language that
> can be translated into a simple DT description.
> 
> If you want to use that approach, you should use that
> driver. If that driver does not work for you, then it's not
> fulfilling it's purpose as a one-stop shop for simple
> pin controllers entirely contained within the device tree,
> and should be renamed or redesigned.
> 
> If you will end up with a hybrid approach with some
> stuff in the device tree and some stuff in the code,
> it's better to keep the old driver.

This will allow us to cover all the existing Samsung SoCs, starting from 
S3C24xx, through S3C64xx, S5P*, all supported Exynos SoCs and ending on any 
future SoCs using this kind of pin controller, without bloating the driver 
with hardly readable macros, lots of (often duplicated) static data and 
similar.

If there are some serious problems with this approach, just let me know and 
I will reconsider it, but if not, I'd like to keep it, because of the 
benefits it gives.

(Even if I moved all those SoC-specific data to static structures located 
in the driver, to keep the most readable way of GPIO specification in DT, I 
would have to create nodes for all banks in DT anyway and the driver would 
have to match particular nodes with their static data. I don't like this 
kind of approach.)

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center

  reply	other threads:[~2012-10-10  8:39 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-08  8:39 [PATCH 00/16] pinctrl: samsung: Usability and extensibiltiy improvements Tomasz Figa
2012-10-08  8:39 ` [PATCH 01/16] ARM: dts: exynos4210: Replace legacy GPIO bank nodes with pinctrl bank nodes Tomasz Figa
2012-10-10  7:26   ` Linus Walleij
2012-10-10  8:20     ` Tomasz Figa
2012-10-10 16:27     ` Stephen Warren
2012-10-10 18:12       ` Tony Lindgren
2012-10-10 18:22         ` Tomasz Figa
2012-10-10 18:26         ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 02/16] pinctrl: exynos: Parse wakeup-eint parameters from DT Tomasz Figa
2012-10-10  7:18   ` Linus Walleij
2012-10-10  8:23     ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 03/16] pinctrl: samsung: Detect and handle unsupported configuration types Tomasz Figa
2012-10-10  7:37   ` Linus Walleij
2012-10-10  8:25     ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 04/16] pinctrl: samsung: Parse pin banks from DT Tomasz Figa
2012-10-10  7:34   ` Linus Walleij
2012-10-10  8:39     ` Tomasz Figa [this message]
2012-10-11 13:52       ` Linus Walleij
2012-10-08  8:39 ` [PATCH 05/16] pinctrl: exynos: Remove static SoC-specific data Tomasz Figa
2012-10-08  8:39 ` [PATCH 06/16] pinctrl: samsung: Parse bank-specific eint offset from DT Tomasz Figa
2012-10-08  8:39 ` [PATCH 07/16] pinctrl: samsung: Hold OF node of pin bank in bank struct Tomasz Figa
2012-10-08  8:39 ` [PATCH 08/16] pinctrl: samsung: Hold pointer to driver data " Tomasz Figa
2012-10-08  8:39 ` [PATCH 09/16] pinctrl: exynos: Use one IRQ domain per pin bank Tomasz Figa
2012-10-10  7:40   ` Linus Walleij
2012-10-10  8:45     ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 10/16] pinctrl: samsung: Do not pass gpio_chip to pin_to_reg_bank Tomasz Figa
2012-10-10  7:42   ` Linus Walleij
2012-10-10  8:51     ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 11/16] pinctrl: samsung: Use one GPIO chip per pin bank Tomasz Figa
2012-10-10  7:43   ` Linus Walleij
2012-10-10  8:49     ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 12/16] pinctrl: samsung: Use per-bank IRQ domain for wake-up interrupts Tomasz Figa
2012-10-08  8:39 ` [PATCH 13/16] pinctrl: exynos: Set pin function to EINT in irq_set_type of wake-up EINT Tomasz Figa
2012-10-08  8:39 ` [PATCH 14/16] pinctrl: samsung: Parse offsets of particular registers from DT Tomasz Figa
2012-10-08  8:39 ` [PATCH 15/16] pinctrl: samsung: Add GPIO to IRQ translation Tomasz Figa
2012-10-08  8:39 ` [PATCH 16/16] Documentation: Update samsung-pinctrl device tree bindings documentation Tomasz Figa
2012-10-10  7:46 ` [PATCH 00/16] pinctrl: samsung: Usability and extensibiltiy improvements Linus Walleij
     [not found]   ` <CACRpkdbUmM2=vhjhCq_qN2v=8RUDeWV4b8A8oXXPE4e8Z9C7zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-10  9:04     ` Tomasz Figa
2012-10-10 15:22   ` Tomasz Figa
2012-10-11 13:48     ` 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=1983938.6eHV2XjAIK@amdc1227 \
    --to=t.figa@samsung.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=swarren@wwwdotorg.org \
    --cc=thomas.abraham@linaro.org \
    --cc=tomasz.figa@gmail.com \
    --cc=tony@atomide.com \
    /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;
as well as URLs for NNTP newsgroup(s).