gpio: davinci: Fix the number of controllers allocated
Driver only needs to allocate for [ngpio / 32] controllers, as each controller handles 32 gpios. But the current driver allocates for ngpio of which the extra allocated are unused. Fix it be registering only the required number of controllers. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Keerthy <j-keerthy@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
310a7e6043
commit
6ec9249a83
|
@ -195,7 +195,7 @@ static int davinci_gpio_of_xlate(struct gpio_chip *gc,
|
|||
static int davinci_gpio_probe(struct platform_device *pdev)
|
||||
{
|
||||
int i, base;
|
||||
unsigned ngpio;
|
||||
unsigned ngpio, nbank;
|
||||
struct davinci_gpio_controller *chips;
|
||||
struct davinci_gpio_platform_data *pdata;
|
||||
struct davinci_gpio_regs __iomem *regs;
|
||||
|
@ -224,8 +224,9 @@ static int davinci_gpio_probe(struct platform_device *pdev)
|
|||
if (WARN_ON(ARCH_NR_GPIOS < ngpio))
|
||||
ngpio = ARCH_NR_GPIOS;
|
||||
|
||||
nbank = DIV_ROUND_UP(ngpio, 32);
|
||||
chips = devm_kzalloc(dev,
|
||||
ngpio * sizeof(struct davinci_gpio_controller),
|
||||
nbank * sizeof(struct davinci_gpio_controller),
|
||||
GFP_KERNEL);
|
||||
if (!chips)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue