From: Simon Glass Date: Sat, 4 Oct 2014 17:29:45 +0000 (-0600) Subject: dm: gpio: sandbox: Implement the get_function() method X-Git-Tag: v2015.01-rc1~129^2~30 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=699ea9606ca8e4227c8be607197733d348cd12c4;p=oweals%2Fu-boot.git dm: gpio: sandbox: Implement the get_function() method Implement this method so that the 'gpio' command can do its job correctly. For sandbox we only support input and output states for a gpio. Signed-off-by: Simon Glass --- diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c index 75ada5d387..7aa8b1f0f8 100644 --- a/drivers/gpio/sandbox.c +++ b/drivers/gpio/sandbox.c @@ -203,6 +203,13 @@ static int sb_gpio_get_state(struct udevice *dev, unsigned int offset, return 0; } +static int sb_gpio_get_function(struct udevice *dev, unsigned offset) +{ + if (get_gpio_flag(dev, offset, GPIOF_OUTPUT)) + return GPIOF_OUTPUT; + return GPIOF_INPUT; +} + static const struct dm_gpio_ops gpio_sandbox_ops = { .request = sb_gpio_request, .free = sb_gpio_free, @@ -210,7 +217,7 @@ static const struct dm_gpio_ops gpio_sandbox_ops = { .direction_output = sb_gpio_direction_output, .get_value = sb_gpio_get_value, .set_value = sb_gpio_set_value, - .get_state = sb_gpio_get_state, + .get_function = sb_gpio_get_function, }; static int sandbox_gpio_ofdata_to_platdata(struct udevice *dev)