Hi Andreas,

On 8/21/2013 23:14, Andreas Bießmann wrote:
On 08/13/2013 08:38 AM, Bo Shen wrote:
add gpio common API support for gpio command

Signed-off-by: Bo Shen <voice.s...@atmel.com>
---
  drivers/gpio/at91_gpio.c |   43 +++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 43 insertions(+)

diff --git a/drivers/gpio/at91_gpio.c b/drivers/gpio/at91_gpio.c
index 15f396f..3de0844 100644
--- a/drivers/gpio/at91_gpio.c
+++ b/drivers/gpio/at91_gpio.c
@@ -363,3 +363,46 @@ int at91_get_pio_value(unsigned port, unsigned pin)

        return pdsr != 0;
  }
+
+/* Common GPIO API */
+
+#define at91_gpio_to_port(gpio)                (gpio / 32)
+#define at91_gpio_to_pin(gpio)         (gpio % 32)
+
+int gpio_request(unsigned gpio, const char *label)
+{
+       return 0;
+}
+
+int gpio_free(unsigned gpio)
+{
+       return 0;
+}
+
+int gpio_direction_input(unsigned gpio)
+{
+       at91_set_pio_input(at91_gpio_to_port(gpio),
+                          at91_gpio_to_pin(gpio), 0);
+       return 0;
+}
+
+int gpio_direction_output(unsigned gpio, int value)
+{
+       at91_set_pio_output(at91_gpio_to_port(gpio),
+                           at91_gpio_to_pin(gpio), value);
+       return 0;
+}
+
+int gpio_get_value(unsigned gpio)
+{
+       return (int) at91_get_pio_value(at91_gpio_to_port(gpio),
+                                       at91_gpio_to_pin(gpio));

why cast to int here?

Actually no need, as the at91_get_pio_value() return value is int.
I will remove the cast in next version.

+}
+
+int gpio_set_value(unsigned gpio, int value)
+{
+       at91_set_pio_value(at91_gpio_to_port(gpio),
+                          at91_gpio_to_pin(gpio), value);
+
+       return 0;
+}


Great, I love this. But wasn't there some define for generic GPIO?

I am not fully get your meaning, what you mean "define for generic GPIO"? define gpio pin number (?)

Shouldn't we encapsulate this API into this other define?

You mean, not in this file or anything else?

Best regards

Andreas Bießmann


Best Regards,
Bo Shen
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to