mtk_hw_set_value(hw, desc, PINCTRL_PIN_REG_DO, !!value);
 }
 
-static int mtk_gpio_direction_input(struct gpio_chip *chip, unsigned int gpio)
-{
-       return pinctrl_gpio_direction_input(chip, gpio);
-}
-
 static int mtk_gpio_direction_output(struct gpio_chip *chip, unsigned int gpio,
                                     int value)
 {
        chip->parent            = hw->dev;
        chip->request           = gpiochip_generic_request;
        chip->free              = gpiochip_generic_free;
-       chip->direction_input   = mtk_gpio_direction_input;
+       chip->direction_input   = pinctrl_gpio_direction_input;
        chip->direction_output  = mtk_gpio_direction_output;
        chip->get               = mtk_gpio_get;
        chip->set               = mtk_gpio_set;