summaryrefslogtreecommitdiff
path: root/drivers/gpio
diff options
context:
space:
mode:
authorBamvor Jian Zhang <bamvor.zhangjian@linaro.org>2015-11-16 13:02:47 +0800
committerTao Huang <huangtao@rock-chips.com>2018-02-28 14:55:00 +0800
commit2909c66ccba2956e07515753aede41053d465173 (patch)
tree45a678d364a1ae97b5c2eba6498e2032f39d9d8b /drivers/gpio
parent8aba7c88ee9f80d7c45e37ac39897aec0f18e4a3 (diff)
UPSTREAM: gpiolib: do not allow to insert an empty gpiochip
We need to check if number of gpio is positive if there is no such check in devicetree or acpi or whatever called before gpiochip_add. I suppose that devicetree and acpi do not allow insert gpiochip with zero number but I do not know if it is enough to ignore this check in gpiochip_add. Change-Id: Ie11b24596988a90d03a957979e27e23658785a2f Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Tao Huang <huangtao@rock-chips.com> (cherry picked from commit 5ed41cc4baaf4127661d2a8f8f2ee6e3085e0fa9)
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 2bcfc90ee95f..d1a85a203b35 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -308,6 +308,11 @@ int gpiochip_add(struct gpio_chip *chip)
if (!descs)
return -ENOMEM;
+ if (chip->ngpio == 0) {
+ chip_err(chip, "tried to insert a GPIO chip with zero lines\n");
+ return -EINVAL;
+ }
+
spin_lock_irqsave(&gpio_lock, flags);
if (base < 0) {