
On 28 April 2015 at 00:24, Hans de Goede hdegoede@redhat.com wrote:
Hi Simon,
Thanks for the reviews.
On 28-04-15 05:20, Simon Glass wrote:
Hi Hans,
On 26 April 2015 at 03:51, Hans de Goede hdegoede@redhat.com wrote:
Now that all sunxi boards are using driver-model for gpio (*), we can remove the non driver-model support from the axp gpio code, and the glue to call into the axp gpio code from the sunxi_gpio non driver-model code.
*) For the regular u-boot build, SPL still uses non driver-model gpio for now, but the SPL never uses axp gpios support and we were already not building axp-gpio support for the SPL.
Signed-off-by: Hans de Goede hdegoede@redhat.com
arch/arm/include/asm/arch-sunxi/gpio.h | 7 ------- drivers/gpio/axp_gpio.c | 17 ++++++++--------- drivers/gpio/sunxi_gpio.c | 32
3 files changed, 8 insertions(+), 48 deletions(-)
diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h index 2d66077..081e7d1 100644 --- a/arch/arm/include/asm/arch-sunxi/gpio.h +++ b/arch/arm/include/asm/arch-sunxi/gpio.h @@ -225,11 +225,4 @@ int axp_gpio_init(void); 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 */
diff --git a/drivers/gpio/axp_gpio.c b/drivers/gpio/axp_gpio.c index 17358e6..956bb84 100644 --- a/drivers/gpio/axp_gpio.c +++ b/drivers/gpio/axp_gpio.c @@ -25,6 +25,8 @@ #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) {
@@ -40,7 +42,7 @@ static u8 axp_get_gpio_ctrl_reg(unsigned 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;
@@ -58,7 +60,8 @@ int axp_gpio_direction_input(struct udevice *dev, unsigned pin) } }
-int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val) +static int axp_gpio_direction_output(struct udevice *dev, unsigned pin,
{ __maybe_unused int ret; u8 reg;int val)
@@ -83,7 +86,7 @@ int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val) } }
-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; @@ -115,7 +118,7 @@ int axp_gpio_get_value(struct udevice *dev, unsigned pin) 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;
@@ -139,7 +142,6 @@ int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val) } }
-#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, @@ -164,23 +166,20 @@ struct driver gpio_axp_driver = { .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(dm_root(), &gpio_axp_driver, "AXP", NULL, -1, &dev);
Is there really no compatible string you can use?
device_bind_driver(dm_root(), "gpio_axp", "AXP", &dev)
That seems like it is a comment on 5/6 not on this patch which only removes the #ifdef and #endif lines here.
I did not know I could do something like the above, I'll look into that for 5/6 and do a v2 of 5/6 I will put a "u-boot" prefix into the compatible so as to not get any conflicts when we do actually get full devicetree support for thus in the upstream kernel and dts files.
Since this is really a comment on 5/6 can I have your Reviewed-by for this one ?
Ah yes I see, sorry.
Reviewed-by: Simon Glass sjg@chromium.org
Regards, Simon