return p;
 }
 
+static void gpiochip_free_mask(unsigned long **p)
+{
+       bitmap_free(*p);
+       *p = NULL;
+}
+
 static unsigned int gpiochip_count_reserved_ranges(struct gpio_chip *gc)
 {
        struct device *dev = &gc->gpiodev->dev;
 
 static void gpiochip_free_valid_mask(struct gpio_chip *gc)
 {
-       bitmap_free(gc->valid_mask);
-       gc->valid_mask = NULL;
+       gpiochip_free_mask(&gc->valid_mask);
 }
 
 static int gpiochip_add_pin_ranges(struct gpio_chip *gc)
 
 static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gc)
 {
-       bitmap_free(gc->irq.valid_mask);
-       gc->irq.valid_mask = NULL;
+       gpiochip_free_mask(&gc->irq.valid_mask);
 }
 
 bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gc,