From: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Domenico Andreoli
<cavokz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [patch 2/2] Add GPIO DT support to s3c24xx
Date: Sun, 10 Apr 2011 23:47:19 -0700 [thread overview]
Message-ID: <20110411064719.GD4439@angua.secretlab.ca> (raw)
In-Reply-To: <20110410153316.GC27088-iIV0ii4H0r6tG0bUXCXiUA@public.gmane.org>
On Sun, Apr 10, 2011 at 05:33:16PM +0200, Domenico Andreoli wrote:
> From: Domenico Andreoli <cavokz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>
> Assign proper OF node (= with matching physical base address) to each
> s3c24xx GPIO chip.
>
> Signed-off-by: Domenico Andreoli <cavokz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Looks pretty good. Minor comments below.
g.
>
> ---
> arch/arm/plat-s3c24xx/gpiolib.c | 45 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> Index: b/arch/arm/plat-s3c24xx/gpiolib.c
> ===================================================================
> --- a/arch/arm/plat-s3c24xx/gpiolib.c 2011-04-10 16:24:59.000000000 +0200
> +++ b/arch/arm/plat-s3c24xx/gpiolib.c 2011-04-10 17:12:32.000000000 +0200
> @@ -19,6 +19,8 @@
> #include <linux/ioport.h>
> #include <linux/io.h>
> #include <linux/gpio.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
>
> #include <plat/gpio-core.h>
> #include <plat/gpio-cfg.h>
> @@ -97,6 +99,9 @@
> .direction_input = s3c24xx_gpiolib_banka_input,
> .direction_output = s3c24xx_gpiolib_banka_output,
> },
> +#ifdef CONFIG_OF_GPIO
> + .dt_compat = "samsung,s3c2410-gpio-a",
> +#endif
The '-a' bit I suspect is wrong. Aren't all the gpio banks of the same type?
> },
> [1] = {
> .base = S3C2410_GPBCON,
> @@ -210,6 +215,45 @@
> },
> };
>
> +#ifdef CONFIG_OF_GPIO
> +static int s3c24xx_of_base_match(struct s3c_gpio_chip *chip, struct device_node *dn)
> +{
> + const u32 *addrp;
> + u64 addr;
> +
> + addrp = of_get_address(dn, 0, 0, NULL);
> + if (!addrp)
> + return 0;
> +
> + addr = of_translate_address(dn, addrp);
> + if (addr == OF_BAD_ADDR)
> + return 0;
Use of_address_to_resource() instead.
> +
> + return chip->base == (addr - S3C24XX_PA_GPIO + S3C24XX_VA_GPIO);
> +}
> +
> +static void s3c24xx_attach_of_node(struct s3c_gpio_chip *chip)
> +{
> + struct device_node *dn;
> +
> + if (!chip->dt_compat)
> + chip->dt_compat = "samsung,s3c2410-gpio";
> +
> + for_each_compatible_node(dn, NULL, chip->dt_compat) {
> + if (s3c24xx_of_base_match(chip, dn)) {
> + chip->chip.of_node = dn;
> + break;
> + }
> + }
> +}
> +
> +#else
> +
> +static void s3c24xx_attach_of_node(struct s3c_gpio_chip *chip)
> +{
> +}
> +
> +#endif
>
> static __init int s3c24xx_gpiolib_init(void)
> {
> @@ -220,6 +264,7 @@
> if (!chip->config)
> chip->config = &s3c24xx_gpiocfg_default;
>
> + s3c24xx_attach_of_node(chip);
> s3c_gpiolib_add(chip);
> }
>
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
next prev parent reply other threads:[~2011-04-11 6:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110410152735.338798127@gmail.com>
2011-04-10 15:33 ` [patch 1/2] Add dt_compat field to struct s3c_gpio_chip Domenico Andreoli
[not found] ` <20110410153312.GB27088-iIV0ii4H0r6tG0bUXCXiUA@public.gmane.org>
2011-04-11 6:41 ` Grant Likely
2011-04-10 15:33 ` [patch 2/2] Add GPIO DT support to s3c24xx Domenico Andreoli
[not found] ` <20110410153316.GC27088-iIV0ii4H0r6tG0bUXCXiUA@public.gmane.org>
2011-04-11 6:47 ` Grant Likely [this message]
[not found] ` <20110411064719.GD4439-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2011-04-11 9:33 ` [PATCH v3] " Domenico Andreoli
2011-04-15 0:08 ` Marek Vasut
[not found] <20110421130711.920096092@gmail.com>
2011-04-21 13:17 ` [PATCH 2/2] " Domenico Andreoli
[not found] <20110407163322.465935232@gmail.com>
2011-04-07 16:39 ` [patch " Domenico Andreoli
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=20110411064719.GD4439@angua.secretlab.ca \
--to=grant.likely-s3s/wqlpoipyb63q8fvjnq@public.gmane.org \
--cc=cavokz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.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;
as well as URLs for NNTP newsgroup(s).