diff options
author | Alessandro Rubini <rubini@gnudd.com> | 2012-05-27 22:55:41 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-07-05 14:48:49 +0200 |
commit | 2e2070c85aa19f6c5bb3642a1429abf42f101e8d (patch) | |
tree | 453583479f2db4976391fa0138706c83e17f71d9 /drivers/gpio | |
parent | 6887a4131da3adaab011613776d865f4bcfb5678 (diff) | |
download | op-kernel-dev-2e2070c85aa19f6c5bb3642a1429abf42f101e8d.zip op-kernel-dev-2e2070c85aa19f6c5bb3642a1429abf42f101e8d.tar.gz |
gpio-sta2x11: don't use pdata if null
If there is no platform data available, the driver shouldn't use the
pointer or it will oops. Since things will mostly work nonetheless,
(the BIOS may have set up the pins properly), I'd better not fail the
probe even in this case.
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Acked-by: Giancarlo Asnaghi <giancarlo.asnaghi@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-sta2x11.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpio/gpio-sta2x11.c b/drivers/gpio/gpio-sta2x11.c index 38416be..6064fb3 100644 --- a/drivers/gpio/gpio-sta2x11.c +++ b/drivers/gpio/gpio-sta2x11.c @@ -383,8 +383,9 @@ static int __devinit gsta_probe(struct platform_device *dev) } spin_lock_init(&chip->lock); gsta_gpio_setup(chip); - for (i = 0; i < GSTA_NR_GPIO; i++) - gsta_set_config(chip, i, gpio_pdata->pinconfig[i]); + if (gpio_pdata) + for (i = 0; i < GSTA_NR_GPIO; i++) + gsta_set_config(chip, i, gpio_pdata->pinconfig[i]); /* 384 was used in previous code: be compatible for other drivers */ err = irq_alloc_descs(-1, 384, GSTA_NR_GPIO, NUMA_NO_NODE); |