sunxi: axp: Change axp_gpio_foo prototypes to match gpio uclass ops
authorHans de Goede <hdegoede@redhat.com>
Wed, 22 Apr 2015 14:27:01 +0000 (16:27 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 4 May 2015 14:51:53 +0000 (16:51 +0200)
Change the axp_gpio_foo function prototypes to match the gpio uclass op
prototypes, this is a preparation patch for moving the axp gpio code to
a separate driver-model gpio driver.

Note that the ugly calls with a NULL udev pointer in drivers/gpio/sunxi_gpio.c
this adds are removed in a later patch.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
drivers/gpio/sunxi_gpio.c
drivers/power/axp209.c
drivers/power/axp221.c
include/axp209.h
include/axp221.h

index 91af1a54ec50afa0953cf498befe70df019ec3c2..0774b709343fccfd7fedaae5fb71a4482f77178b 100644 (file)
@@ -81,7 +81,7 @@ int gpio_direction_input(unsigned gpio)
 {
 #ifdef AXP_GPIO
        if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_direction_input(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);
 
@@ -92,7 +92,7 @@ int gpio_direction_output(unsigned gpio, int value)
 {
 #ifdef AXP_GPIO
        if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_direction_output(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);
@@ -104,7 +104,7 @@ int gpio_get_value(unsigned gpio)
 {
 #ifdef AXP_GPIO
        if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_get_value(gpio - SUNXI_GPIO_AXP0_START);
+               return axp_gpio_get_value(NULL, gpio - SUNXI_GPIO_AXP0_START);
 #endif
        return sunxi_gpio_input(gpio);
 }
@@ -113,7 +113,7 @@ int gpio_set_value(unsigned gpio, int value)
 {
 #ifdef AXP_GPIO
        if (gpio >= SUNXI_GPIO_AXP0_START)
-               return axp_gpio_set_value(gpio - SUNXI_GPIO_AXP0_START, value);
+               return axp_gpio_set_value(NULL, gpio - SUNXI_GPIO_AXP0_START, value);
 #endif
        return sunxi_gpio_output(gpio, value);
 }
index 1d7be4991ac3fa432795c2236ef2044727c54182..98c214fa7ac6e783e5a0df8b16320263f8191d93 100644 (file)
@@ -167,7 +167,7 @@ static u8 axp209_get_gpio_ctrl_reg(unsigned int pin)
        return 0;
 }
 
-int axp_gpio_direction_input(unsigned int pin)
+int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
 {
        if (pin == SUNXI_GPIO_AXP0_VBUS_DETECT)
                return 0;
@@ -179,7 +179,7 @@ int axp_gpio_direction_input(unsigned int pin)
        return axp209_write(reg, val);
 }
 
-int axp_gpio_direction_output(unsigned int pin, unsigned int val)
+int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val)
 {
        u8 reg = axp209_get_gpio_ctrl_reg(pin);
 
@@ -194,7 +194,7 @@ int axp_gpio_direction_output(unsigned int pin, unsigned int val)
        return axp209_write(reg, val);
 }
 
-int axp_gpio_get_value(unsigned int pin)
+int axp_gpio_get_value(struct udevice *dev, unsigned pin)
 {
        u8 val, mask;
        int rc;
@@ -215,7 +215,7 @@ int axp_gpio_get_value(unsigned int pin)
        return (val & mask) ? 1 : 0;
 }
 
-int axp_gpio_set_value(unsigned int pin, unsigned int val)
+int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
 {
-       return axp_gpio_direction_output(pin, val);
+       return axp_gpio_direction_output(dev, pin, val);
 }
index dc3a7f19bd9c3e3ac4d20888d496943473818caf..4970ab46ee0e78aae91b6523d21ccbd7f51f07cb 100644 (file)
@@ -386,7 +386,7 @@ int axp221_get_sid(unsigned int *sid)
        return 0;
 }
 
-int axp_gpio_direction_input(unsigned int pin)
+int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
 {
        switch (pin) {
        case SUNXI_GPIO_AXP0_VBUS_DETECT:
@@ -396,7 +396,7 @@ int axp_gpio_direction_input(unsigned int pin)
        }
 }
 
-int axp_gpio_direction_output(unsigned int pin, unsigned int val)
+int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val)
 {
        int ret;
 
@@ -407,13 +407,13 @@ int axp_gpio_direction_output(unsigned int pin, unsigned int val)
                if (ret)
                        return ret;
 
-               return axp_gpio_set_value(pin, val);
+               return axp_gpio_set_value(dev, pin, val);
        default:
                return -EINVAL;
        }
 }
 
-int axp_gpio_get_value(unsigned int pin)
+int axp_gpio_get_value(struct udevice *dev, unsigned pin)
 {
        int ret;
        u8 val;
@@ -430,7 +430,7 @@ int axp_gpio_get_value(unsigned int pin)
        }
 }
 
-int axp_gpio_set_value(unsigned int pin, unsigned int val)
+int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
 {
        int ret;
 
index d36da41a5e12b84c29b6e1776db7f3c02f7ed862..fe4a1694b63add1d87f1ee4ebf6936c1ae757552 100644 (file)
@@ -4,6 +4,8 @@
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+struct udevice;
+
 enum axp209_reg {
        AXP209_POWER_STATUS = 0x00,
        AXP209_CHIP_VERSION = 0x03,
@@ -53,7 +55,7 @@ extern int axp209_init(void);
 extern int axp209_poweron_by_dc(void);
 extern int axp209_power_button(void);
 
-extern int axp_gpio_direction_input(unsigned int pin);
-extern int axp_gpio_direction_output(unsigned int pin, unsigned int val);
-extern int axp_gpio_get_value(unsigned int pin);
-extern int axp_gpio_set_value(unsigned int pin, unsigned int val);
+extern int axp_gpio_direction_input(struct udevice *dev, unsigned offset);
+extern int axp_gpio_direction_output(struct udevice *dev, unsigned offset, int val);
+extern int axp_gpio_get_value(struct udevice *dev, unsigned offset);
+extern int axp_gpio_set_value(struct udevice *dev, unsigned offset, int val);
index 0aac04dfebda3f9c84462d1ddf6371bc71810d73..e826ca8ac180e05ffa235ceaf858cf6e7ec04626 100644 (file)
@@ -6,6 +6,8 @@
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+struct udevice;
+
 #define AXP221_CHIP_ADDR 0x68
 #define AXP221_CTRL_ADDR 0x3e
 #define AXP221_INIT_DATA 0x3e
@@ -80,7 +82,7 @@ int axp221_set_eldo(int eldo_num, unsigned int mvolt);
 int axp221_init(void);
 int axp221_get_sid(unsigned int *sid);
 
-int axp_gpio_direction_input(unsigned int pin);
-int axp_gpio_direction_output(unsigned int pin, unsigned int val);
-int axp_gpio_get_value(unsigned int pin);
-int axp_gpio_set_value(unsigned int pin, unsigned int val);
+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);