From: kmpark@infradead.org (Kyungmin Park)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: S5PC110: Use the correct external GPIO config
Date: Thu, 05 Aug 2010 11:13:09 +0900 [thread overview]
Message-ID: <20100805021309.GA9512@july> (raw)
From: Kyungmin Park <kyungmin.park@samsung.com>
Actually external GPIO don't have interrupt.
It's handled from differnt place, irq-eint.c
So use the correct external interrupt config and calculate the base adddress.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
diff --git a/arch/arm/mach-s5pv210/gpiolib.c b/arch/arm/mach-s5pv210/gpiolib.c
index 9ea8972..f6a32c4 100644
--- a/arch/arm/mach-s5pv210/gpiolib.c
+++ b/arch/arm/mach-s5pv210/gpiolib.c
@@ -31,11 +31,20 @@ static struct s3c_gpio_cfg gpio_cfg_noint = {
.get_pull = s3c_gpio_getpull_updown,
};
+static struct s3c_gpio_cfg gpio_cfg_extint = {
+ .set_config = s3c_gpio_setcfg_s3c64xx_4bit,
+ .set_pull = s3c_gpio_setpull_updown,
+ .get_pull = s3c_gpio_getpull_updown,
+};
+
+
/* GPIO bank's base address given the index of the bank in the
* list of all gpio banks.
*/
#define S5PV210_BANK_BASE(bank_nr) (S5P_VA_GPIO + ((bank_nr) * 0x20))
+#define EXTINT_OFFSET (0xC00)
+
/*
* Following are the gpio banks in v210.
*
@@ -207,32 +216,28 @@ static struct s3c_gpio_chip s5pv210_gpio_4bit[] = {
.label = "MP03",
},
}, {
- .base = (S5P_VA_GPIO + 0xC00),
- .config = &gpio_cfg_noint,
+ .config = &gpio_cfg_extint,
.chip = {
.base = S5PV210_GPH0(0),
.ngpio = S5PV210_GPIO_H0_NR,
.label = "GPH0",
},
}, {
- .base = (S5P_VA_GPIO + 0xC20),
- .config = &gpio_cfg_noint,
+ .config = &gpio_cfg_extint,
.chip = {
.base = S5PV210_GPH1(0),
.ngpio = S5PV210_GPIO_H1_NR,
.label = "GPH1",
},
}, {
- .base = (S5P_VA_GPIO + 0xC40),
- .config = &gpio_cfg_noint,
+ .config = &gpio_cfg_extint,
.chip = {
.base = S5PV210_GPH2(0),
.ngpio = S5PV210_GPIO_H2_NR,
.label = "GPH2",
},
}, {
- .base = (S5P_VA_GPIO + 0xC60),
- .config = &gpio_cfg_noint,
+ .config = &gpio_cfg_extint,
.chip = {
.base = S5PV210_GPH3(0),
.ngpio = S5PV210_GPIO_H3_NR,
@@ -245,11 +250,15 @@ static __init int s5pv210_gpiolib_init(void)
{
struct s3c_gpio_chip *chip = s5pv210_gpio_4bit;
int nr_chips = ARRAY_SIZE(s5pv210_gpio_4bit);
- int i = 0;
+ int i, extint = 0;
for (i = 0; i < nr_chips; i++, chip++) {
if (chip->config == NULL)
chip->config = &gpio_cfg;
+ if (chip->config == &gpio_cfg_extint) {
+ chip->base = S5PV210_BANK_BASE(extint) + EXTINT_OFFSET;
+ extint++;
+ }
if (chip->base == NULL)
chip->base = S5PV210_BANK_BASE(i);
}
next reply other threads:[~2010-08-05 2:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-05 2:13 Kyungmin Park [this message]
2010-08-05 2:19 ` [PATCH] ARM: S5PC110: Use the correct external GPIO config Kyungmin Park
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=20100805021309.GA9512@july \
--to=kmpark@infradead.org \
--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;
as well as URLs for NNTP newsgroup(s).