aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-samsung.c
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2011-09-26 00:10:32 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-10-04 02:54:52 -0400
commitb391f8cf606679e97b02e3b9dca8a1d9956a5301 (patch)
tree1c8ace1df5ed8a0edde1aadebc61d4c4e492661a /drivers/gpio/gpio-samsung.c
parent3538d5f3ef42600e4f3b6ea202672b7730f9510e (diff)
gpio/samsung: correct pin configuration for S5PC100/S5PC110/EXYNOS4
Commit 1b39d5f2cc introduced new common gpio driver for all Samsung GPIO SoCs. The new driver use wrong configuration setup for all gpio pins on S5PC100 and S5PV210 SoCs and external interrupt lines on Exynos4 SoCs. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/gpio/gpio-samsung.c')
-rw-r--r--drivers/gpio/gpio-samsung.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index cdffb0c8401c..b6be77ae4973 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -1862,7 +1862,7 @@ static struct samsung_gpio_chip s5pc100_gpios_4bit[] = {
1862 * Followings are the gpio banks in S5PV210/S5PC110 1862 * Followings are the gpio banks in S5PV210/S5PC110
1863 * 1863 *
1864 * The 'config' member when left to NULL, is initialized to the default 1864 * The 'config' member when left to NULL, is initialized to the default
1865 * structure samsung_gpio_cfgs[4] in the init function below. 1865 * structure samsung_gpio_cfgs[3] in the init function below.
1866 * 1866 *
1867 * The 'base' member is also initialized in the init function below. 1867 * The 'base' member is also initialized in the init function below.
1868 * Note: The initialization of 'base' member of samsung_gpio_chip structure 1868 * Note: The initialization of 'base' member of samsung_gpio_chip structure
@@ -2083,7 +2083,7 @@ static struct samsung_gpio_chip s5pv210_gpios_4bit[] = {
2083 * Followings are the gpio banks in EXYNOS4210 2083 * Followings are the gpio banks in EXYNOS4210
2084 * 2084 *
2085 * The 'config' member when left to NULL, is initialized to the default 2085 * The 'config' member when left to NULL, is initialized to the default
2086 * structure samsung_gpio_cfgs[4] in the init function below. 2086 * structure samsung_gpio_cfgs[3] in the init function below.
2087 * 2087 *
2088 * The 'base' member is also initialized in the init function below. 2088 * The 'base' member is also initialized in the init function below.
2089 * Note: The initialization of 'base' member of samsung_gpio_chip structure 2089 * Note: The initialization of 'base' member of samsung_gpio_chip structure
@@ -2249,49 +2249,49 @@ static struct samsung_gpio_chip exynos4_gpios_2[] = {
2249 .label = "GPL2", 2249 .label = "GPL2",
2250 }, 2250 },
2251 }, { 2251 }, {
2252 .config = &samsung_gpio_cfgs[4], 2252 .config = &samsung_gpio_cfgs[0],
2253 .chip = { 2253 .chip = {
2254 .base = EXYNOS4_GPY0(0), 2254 .base = EXYNOS4_GPY0(0),
2255 .ngpio = EXYNOS4_GPIO_Y0_NR, 2255 .ngpio = EXYNOS4_GPIO_Y0_NR,
2256 .label = "GPY0", 2256 .label = "GPY0",
2257 }, 2257 },
2258 }, { 2258 }, {
2259 .config = &samsung_gpio_cfgs[4], 2259 .config = &samsung_gpio_cfgs[0],
2260 .chip = { 2260 .chip = {
2261 .base = EXYNOS4_GPY1(0), 2261 .base = EXYNOS4_GPY1(0),
2262 .ngpio = EXYNOS4_GPIO_Y1_NR, 2262 .ngpio = EXYNOS4_GPIO_Y1_NR,
2263 .label = "GPY1", 2263 .label = "GPY1",
2264 }, 2264 },
2265 }, { 2265 }, {
2266 .config = &samsung_gpio_cfgs[4], 2266 .config = &samsung_gpio_cfgs[0],
2267 .chip = { 2267 .chip = {
2268 .base = EXYNOS4_GPY2(0), 2268 .base = EXYNOS4_GPY2(0),
2269 .ngpio = EXYNOS4_GPIO_Y2_NR, 2269 .ngpio = EXYNOS4_GPIO_Y2_NR,
2270 .label = "GPY2", 2270 .label = "GPY2",
2271 }, 2271 },
2272 }, { 2272 }, {
2273 .config = &samsung_gpio_cfgs[4], 2273 .config = &samsung_gpio_cfgs[0],
2274 .chip = { 2274 .chip = {
2275 .base = EXYNOS4_GPY3(0), 2275 .base = EXYNOS4_GPY3(0),
2276 .ngpio = EXYNOS4_GPIO_Y3_NR, 2276 .ngpio = EXYNOS4_GPIO_Y3_NR,
2277 .label = "GPY3", 2277 .label = "GPY3",
2278 }, 2278 },
2279 }, { 2279 }, {
2280 .config = &samsung_gpio_cfgs[4], 2280 .config = &samsung_gpio_cfgs[0],
2281 .chip = { 2281 .chip = {
2282 .base = EXYNOS4_GPY4(0), 2282 .base = EXYNOS4_GPY4(0),
2283 .ngpio = EXYNOS4_GPIO_Y4_NR, 2283 .ngpio = EXYNOS4_GPIO_Y4_NR,
2284 .label = "GPY4", 2284 .label = "GPY4",
2285 }, 2285 },
2286 }, { 2286 }, {
2287 .config = &samsung_gpio_cfgs[4], 2287 .config = &samsung_gpio_cfgs[0],
2288 .chip = { 2288 .chip = {
2289 .base = EXYNOS4_GPY5(0), 2289 .base = EXYNOS4_GPY5(0),
2290 .ngpio = EXYNOS4_GPIO_Y5_NR, 2290 .ngpio = EXYNOS4_GPIO_Y5_NR,
2291 .label = "GPY5", 2291 .label = "GPY5",
2292 }, 2292 },
2293 }, { 2293 }, {
2294 .config = &samsung_gpio_cfgs[4], 2294 .config = &samsung_gpio_cfgs[0],
2295 .chip = { 2295 .chip = {
2296 .base = EXYNOS4_GPY6(0), 2296 .base = EXYNOS4_GPY6(0),
2297 .ngpio = EXYNOS4_GPIO_Y6_NR, 2297 .ngpio = EXYNOS4_GPIO_Y6_NR,
@@ -2299,7 +2299,7 @@ static struct samsung_gpio_chip exynos4_gpios_2[] = {
2299 }, 2299 },
2300 }, { 2300 }, {
2301 .base = (S5P_VA_GPIO2 + 0xC00), 2301 .base = (S5P_VA_GPIO2 + 0xC00),
2302 .config = &samsung_gpio_cfgs[4], 2302 .config = &samsung_gpio_cfgs[3],
2303 .irq_base = IRQ_EINT(0), 2303 .irq_base = IRQ_EINT(0),
2304 .chip = { 2304 .chip = {
2305 .base = EXYNOS4_GPX0(0), 2305 .base = EXYNOS4_GPX0(0),
@@ -2309,7 +2309,7 @@ static struct samsung_gpio_chip exynos4_gpios_2[] = {
2309 }, 2309 },
2310 }, { 2310 }, {
2311 .base = (S5P_VA_GPIO2 + 0xC20), 2311 .base = (S5P_VA_GPIO2 + 0xC20),
2312 .config = &samsung_gpio_cfgs[4], 2312 .config = &samsung_gpio_cfgs[3],
2313 .irq_base = IRQ_EINT(8), 2313 .irq_base = IRQ_EINT(8),
2314 .chip = { 2314 .chip = {
2315 .base = EXYNOS4_GPX1(0), 2315 .base = EXYNOS4_GPX1(0),
@@ -2319,7 +2319,7 @@ static struct samsung_gpio_chip exynos4_gpios_2[] = {
2319 }, 2319 },
2320 }, { 2320 }, {
2321 .base = (S5P_VA_GPIO2 + 0xC40), 2321 .base = (S5P_VA_GPIO2 + 0xC40),
2322 .config = &samsung_gpio_cfgs[4], 2322 .config = &samsung_gpio_cfgs[3],
2323 .irq_base = IRQ_EINT(16), 2323 .irq_base = IRQ_EINT(16),
2324 .chip = { 2324 .chip = {
2325 .base = EXYNOS4_GPX2(0), 2325 .base = EXYNOS4_GPX2(0),
@@ -2329,7 +2329,7 @@ static struct samsung_gpio_chip exynos4_gpios_2[] = {
2329 }, 2329 },
2330 }, { 2330 }, {
2331 .base = (S5P_VA_GPIO2 + 0xC60), 2331 .base = (S5P_VA_GPIO2 + 0xC60),
2332 .config = &samsung_gpio_cfgs[4], 2332 .config = &samsung_gpio_cfgs[3],
2333 .irq_base = IRQ_EINT(24), 2333 .irq_base = IRQ_EINT(24),
2334 .chip = { 2334 .chip = {
2335 .base = EXYNOS4_GPX3(0), 2335 .base = EXYNOS4_GPX3(0),
@@ -2399,7 +2399,7 @@ static __init int samsung_gpiolib_init(void)
2399 2399
2400 for (i = 0; i < nr_chips; i++, chip++) { 2400 for (i = 0; i < nr_chips; i++, chip++) {
2401 if (!chip->config) { 2401 if (!chip->config) {
2402 chip->config = &samsung_gpio_cfgs[4]; 2402 chip->config = &samsung_gpio_cfgs[3];
2403 chip->group = group++; 2403 chip->group = group++;
2404 } 2404 }
2405 } 2405 }
@@ -2414,7 +2414,7 @@ static __init int samsung_gpiolib_init(void)
2414 2414
2415 for (i = 0; i < nr_chips; i++, chip++) { 2415 for (i = 0; i < nr_chips; i++, chip++) {
2416 if (!chip->config) { 2416 if (!chip->config) {
2417 chip->config = &samsung_gpio_cfgs[4]; 2417 chip->config = &samsung_gpio_cfgs[3];
2418 chip->group = group++; 2418 chip->group = group++;
2419 } 2419 }
2420 } 2420 }