static inline int axp_gpio_init(void) { return 0; }
 #endif
 
-struct udevice;
-
-int axp_gpio_direction_input(struct udevice *dev, unsigned offset);
-int axp_gpio_direction_output(struct udevice *dev, unsigned offset, int val);
-int axp_gpio_get_value(struct udevice *dev, unsigned offset);
-int axp_gpio_set_value(struct udevice *dev, unsigned offset, int val);
-
 #endif /* _SUNXI_GPIO_H */
 
 #error Unknown AXP model
 #endif
 
+static int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val);
+
 static u8 axp_get_gpio_ctrl_reg(unsigned pin)
 {
        switch (pin) {
        return 0;
 }
 
-int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
+static int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
 {
        u8 reg;
 
        }
 }
 
-int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val)
+static int axp_gpio_direction_output(struct udevice *dev, unsigned pin,
+                                    int val)
 {
        __maybe_unused int ret;
        u8 reg;
        }
 }
 
-int axp_gpio_get_value(struct udevice *dev, unsigned pin)
+static int axp_gpio_get_value(struct udevice *dev, unsigned pin)
 {
        u8 reg, val, mask;
        int ret;
        return (val & mask) ? 1 : 0;
 }
 
-int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
+static int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
 {
        u8 reg;
 
        }
 }
 
-#ifdef CONFIG_DM_GPIO
 static const struct dm_gpio_ops gpio_axp_ops = {
        .direction_input        = axp_gpio_direction_input,
        .direction_output       = axp_gpio_direction_output,
        .ops    = &gpio_axp_ops,
        .probe  = gpio_axp_probe,
 };
-#endif
 
 int axp_gpio_init(void)
 {
-       __maybe_unused struct udevice *dev;
+       struct udevice *dev;
        int ret;
 
        ret = pmic_bus_init();
        if (ret)
                return ret;
 
-#ifdef CONFIG_DM_GPIO
        /* There is no devicetree support for the axp yet, so bind directly */
        ret = device_bind_driver(dm_root(), "gpio_axp", "AXP-gpio", &dev);
        if (ret)
                return ret;
-#endif
 
        return 0;
 }
 
 
 int gpio_direction_input(unsigned gpio)
 {
-#if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
-       if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_direction_input(NULL, gpio - SUNXI_GPIO_AXP0_START);
-#endif
        sunxi_gpio_set_cfgpin(gpio, SUNXI_GPIO_INPUT);
 
        return 0;
 
 int gpio_direction_output(unsigned gpio, int value)
 {
-#if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
-       if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_direction_output(NULL, gpio - SUNXI_GPIO_AXP0_START,
-                                                value);
-#endif
        sunxi_gpio_set_cfgpin(gpio, SUNXI_GPIO_OUTPUT);
 
        return sunxi_gpio_output(gpio, value);
 
 int gpio_get_value(unsigned gpio)
 {
-#if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
-       if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_get_value(NULL, gpio - SUNXI_GPIO_AXP0_START);
-#endif
        return sunxi_gpio_input(gpio);
 }
 
 int gpio_set_value(unsigned gpio, int value)
 {
-#if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
-       if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_set_value(NULL, gpio - SUNXI_GPIO_AXP0_START, value);
-#endif
        return sunxi_gpio_output(gpio, value);
 }
 
        long pin;
        char *eptr;
 
-#if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
-       if (strncasecmp(name, "AXP0-", 5) == 0) {
-               name += 5;
-               if (strcmp(name, "VBUS-DETECT") == 0)
-                       return SUNXI_GPIO_AXP0_START +
-                               SUNXI_GPIO_AXP0_VBUS_DETECT;
-               if (strcmp(name, "VBUS-ENABLE") == 0)
-                       return SUNXI_GPIO_AXP0_START +
-                               SUNXI_GPIO_AXP0_VBUS_ENABLE;
-               pin = simple_strtol(name, &eptr, 10);
-               if (!*name || *eptr)
-                       return -1;
-               return SUNXI_GPIO_AXP0_START + pin;
-       }
-#endif
        if (*name == 'P' || *name == 'p')
                name++;
        if (*name >= 'A') {