struct npcm7xx_gpio *bank = gpiochip_get_data(chip);
        int ret;
 
-       ret = pinctrl_gpio_direction_input(offset + chip->base);
+       ret = pinctrl_gpio_direction_input_new(chip, offset);
        if (ret)
                return ret;
 
        dev_dbg(chip->parent, "gpio_direction_output: offset%d = %x\n", offset,
                value);
 
-       ret = pinctrl_gpio_direction_output(offset + chip->base);
+       ret = pinctrl_gpio_direction_output_new(chip, offset);
        if (ret)
                return ret;
 
        int ret;
 
        dev_dbg(chip->parent, "gpio_request: offset%d\n", offset);
-       ret = pinctrl_gpio_request(offset + chip->base);
+       ret = pinctrl_gpio_request_new(chip, offset);
        if (ret)
                return ret;
 
 static void npcmgpio_gpio_free(struct gpio_chip *chip, unsigned int offset)
 {
        dev_dbg(chip->parent, "gpio_free: offset%d\n", offset);
-       pinctrl_gpio_free(offset + chip->base);
+       pinctrl_gpio_free_new(chip, offset);
 }
 
 static void npcmgpio_irq_handler(struct irq_desc *desc)