Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bdbd1ec authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Linus Walleij
Browse files

gpio: refactor gpiochip_allocate_mask() with bitmap_alloc()



Refactor gpiochip_allocate_mask() slightly by using bitmap_alloc().

I used bitmap_free() for the corresponding free parts. Actually,
bitmap_free() is a wrapper of kfree(), but I did this for consistency.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Link: https://lore.kernel.org/r/20190718065101.26994-1-yamada.masahiro@socionext.com


Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent bd4bd337
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -351,7 +351,7 @@ static unsigned long *gpiochip_allocate_mask(struct gpio_chip *chip)
{
	unsigned long *p;

	p = kmalloc_array(BITS_TO_LONGS(chip->ngpio), sizeof(*p), GFP_KERNEL);
	p = bitmap_alloc(chip->ngpio, GFP_KERNEL);
	if (!p)
		return NULL;

@@ -385,7 +385,7 @@ static int gpiochip_init_valid_mask(struct gpio_chip *gpiochip)

static void gpiochip_free_valid_mask(struct gpio_chip *gpiochip)
{
	kfree(gpiochip->valid_mask);
	bitmap_free(gpiochip->valid_mask);
	gpiochip->valid_mask = NULL;
}

@@ -1620,7 +1620,7 @@ static int gpiochip_irqchip_init_valid_mask(struct gpio_chip *gpiochip)

static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip)
{
	kfree(gpiochip->irq.valid_mask);
	bitmap_free(gpiochip->irq.valid_mask);
	gpiochip->irq.valid_mask = NULL;
}