aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2011-10-10 19:55:58 +0900
committerKukjin Kim <kgene.kim@samsung.com>2011-10-12 20:52:47 +0900
commit8a8ab2e64e09b56dc1324fd2f7da12346166cad1 (patch)
tree6821d51036c57062ce279c73541afd03f83883a9 /drivers/gpio
parentARM: S3C2410: fix S3C_GPIO_SPACE #error message to match reality (diff)
downloadlinux-dev-8a8ab2e64e09b56dc1324fd2f7da12346166cad1.tar.xz
linux-dev-8a8ab2e64e09b56dc1324fd2f7da12346166cad1.zip
gpio/samsung: only register available gpio banks
Only register gpio banks provided by SoC instead of the maximum possible to lessen confusion, get rid of a warning from gpiolib and stop it from eating into the extra gpios for configs with S3C24XX_GPIO_EXTRA != 0. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-samsung.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index b6be77ae4973..c87b65af8c96 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -914,6 +914,10 @@ static void __init s3c24xx_gpiolib_add_chips(struct samsung_gpio_chip *chip,
struct gpio_chip *gc = &chip->chip;
for (i = 0 ; i < nr_chips; i++, chip++) {
+ /* skip banks not present on SoC */
+ if (chip->chip.base >= S3C_GPIO_END)
+ continue;
+
if (!chip->config)
chip->config = &s3c24xx_gpiocfg_default;
if (!chip->pm)