Message ID | 1611930410-25747-6-git-send-email-srinivas.neeli@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gpio-xilinx: Update on xilinx gpio driver | expand |
On Fri, Jan 29, 2021 at 07:56:50PM +0530, Srinivas Neeli wrote: > Add check to see if gpio-width property does not exceed 32. > If it exceeds then return -EINVAL. > > Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com> > --- > Changes in V5: > -None > Changes in V4: > -New patch. > --- > drivers/gpio/gpio-xilinx.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c > index acd574779ca6..b411d3156e0b 100644 > --- a/drivers/gpio/gpio-xilinx.c > +++ b/drivers/gpio/gpio-xilinx.c > @@ -589,6 +589,9 @@ static int xgpio_probe(struct platform_device *pdev) > if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0])) > chip->gpio_width[0] = 32; > > + if (chip->gpio_width[0] > 32) > + return -EINVAL; > + > spin_lock_init(&chip->gpio_lock); > > if (of_property_read_u32(np, "xlnx,is-dual", &is_dual)) > @@ -613,6 +616,8 @@ static int xgpio_probe(struct platform_device *pdev) > &chip->gpio_width[1])) > chip->gpio_width[1] = 32; > > + if (chip->gpio_width[1] > 32) > + return -EINVAL; > } > > chip->gc.base = -1; > -- > 2.7.4 >
diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index acd574779ca6..b411d3156e0b 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -589,6 +589,9 @@ static int xgpio_probe(struct platform_device *pdev) if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0])) chip->gpio_width[0] = 32; + if (chip->gpio_width[0] > 32) + return -EINVAL; + spin_lock_init(&chip->gpio_lock); if (of_property_read_u32(np, "xlnx,is-dual", &is_dual)) @@ -613,6 +616,8 @@ static int xgpio_probe(struct platform_device *pdev) &chip->gpio_width[1])) chip->gpio_width[1] = 32; + if (chip->gpio_width[1] > 32) + return -EINVAL; } chip->gc.base = -1;