mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
gpio/aspeed: Fix incorrect number of banks
[ Upstream commit3c4710ae6f] The current calculation for the number of GPIO banks is only correct if the number of GPIOs is a multiple of 32 (if there were 31 GPIOs we would currently say there are 0 banks, which is incorrect). Fixes:361b79119a('gpio: Add Aspeed driver') Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com> Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Link: https://lore.kernel.org/r/20190906062623.13354-1-rashmica.g@gmail.com Reviewed-by: Joel Stanley <joel@jms.d.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
9de3a3a7a1
commit
5207c6d79d
|
|
@ -1199,7 +1199,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
|
|||
gpio->chip.irq.need_valid_mask = true;
|
||||
|
||||
/* Allocate a cache of the output registers */
|
||||
banks = gpio->config->nr_gpios >> 5;
|
||||
banks = DIV_ROUND_UP(gpio->config->nr_gpios, 32);
|
||||
gpio->dcache = devm_kcalloc(&pdev->dev,
|
||||
banks, sizeof(u32), GFP_KERNEL);
|
||||
if (!gpio->dcache)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user