gpio/gpiolib-of: Create of_mm_gpiochip_remove
Create counterpart of of_mm_gpiochip_add(). This way the modules that can be removable do not duplicate the cleanup code. Suggested-by: Alexandre Courbot <gnurou@gmail.com> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
1d6902d3a6
Коммит
d621e8bae5
|
@ -204,6 +204,23 @@ err0:
|
|||
}
|
||||
EXPORT_SYMBOL(of_mm_gpiochip_add);
|
||||
|
||||
/**
|
||||
* of_mm_gpiochip_remove - Remove memory mapped GPIO chip (bank)
|
||||
* @mm_gc: pointer to the of_mm_gpio_chip allocated structure
|
||||
*/
|
||||
void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc)
|
||||
{
|
||||
struct gpio_chip *gc = &mm_gc->gc;
|
||||
|
||||
if (!mm_gc)
|
||||
return;
|
||||
|
||||
gpiochip_remove(gc);
|
||||
iounmap(mm_gc->regs);
|
||||
kfree(gc->label);
|
||||
}
|
||||
EXPORT_SYMBOL(of_mm_gpiochip_remove);
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
static void of_gpiochip_add_pin_range(struct gpio_chip *chip)
|
||||
{
|
||||
|
|
|
@ -52,6 +52,7 @@ extern int of_get_named_gpio_flags(struct device_node *np,
|
|||
|
||||
extern int of_mm_gpiochip_add(struct device_node *np,
|
||||
struct of_mm_gpio_chip *mm_gc);
|
||||
extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);
|
||||
|
||||
extern void of_gpiochip_add(struct gpio_chip *gc);
|
||||
extern void of_gpiochip_remove(struct gpio_chip *gc);
|
||||
|
|
Загрузка…
Ссылка в новой задаче