diff options
Diffstat (limited to 'drivers/gpio/gpio-davinci.c')
-rw-r--r-- | drivers/gpio/gpio-davinci.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 96332f19e775..dd262f00295d 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c | |||
@@ -195,7 +195,7 @@ static int davinci_gpio_of_xlate(struct gpio_chip *gc, | |||
195 | static int davinci_gpio_probe(struct platform_device *pdev) | 195 | static int davinci_gpio_probe(struct platform_device *pdev) |
196 | { | 196 | { |
197 | int i, base; | 197 | int i, base; |
198 | unsigned ngpio; | 198 | unsigned ngpio, nbank; |
199 | struct davinci_gpio_controller *chips; | 199 | struct davinci_gpio_controller *chips; |
200 | struct davinci_gpio_platform_data *pdata; | 200 | struct davinci_gpio_platform_data *pdata; |
201 | struct davinci_gpio_regs __iomem *regs; | 201 | struct davinci_gpio_regs __iomem *regs; |
@@ -224,8 +224,9 @@ static int davinci_gpio_probe(struct platform_device *pdev) | |||
224 | if (WARN_ON(ARCH_NR_GPIOS < ngpio)) | 224 | if (WARN_ON(ARCH_NR_GPIOS < ngpio)) |
225 | ngpio = ARCH_NR_GPIOS; | 225 | ngpio = ARCH_NR_GPIOS; |
226 | 226 | ||
227 | nbank = DIV_ROUND_UP(ngpio, 32); | ||
227 | chips = devm_kzalloc(dev, | 228 | chips = devm_kzalloc(dev, |
228 | ngpio * sizeof(struct davinci_gpio_controller), | 229 | nbank * sizeof(struct davinci_gpio_controller), |
229 | GFP_KERNEL); | 230 | GFP_KERNEL); |
230 | if (!chips) | 231 | if (!chips) |
231 | return -ENOMEM; | 232 | return -ENOMEM; |
@@ -512,7 +513,7 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev) | |||
512 | return irq; | 513 | return irq; |
513 | } | 514 | } |
514 | 515 | ||
515 | irq_domain = irq_domain_add_legacy(NULL, ngpio, irq, 0, | 516 | irq_domain = irq_domain_add_legacy(dev->of_node, ngpio, irq, 0, |
516 | &davinci_gpio_irq_ops, | 517 | &davinci_gpio_irq_ops, |
517 | chips); | 518 | chips); |
518 | if (!irq_domain) { | 519 | if (!irq_domain) { |