summaryrefslogtreecommitdiffstats
path: root/lib/libgpio/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libgpio/gpio.c')
-rw-r--r--lib/libgpio/gpio.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libgpio/gpio.c b/lib/libgpio/gpio.c
index 7ec0955..8170822 100644
--- a/lib/libgpio/gpio.c
+++ b/lib/libgpio/gpio.c
@@ -181,14 +181,14 @@ gpio_pin_set(gpio_handle_t handle, gpio_pin_t pin, gpio_value_t value)
int
gpio_pin_toggle(gpio_handle_t handle, gpio_pin_t pin)
{
- gpio_value_t value;
+ struct gpio_req gpreq;
- value = gpio_pin_get(handle, pin);
- if (value == GPIO_VALUE_INVALID)
+ bzero(&gpreq, sizeof(gpreq));
+ gpreq.gp_pin = pin;
+ if (ioctl(handle, GPIOTOGGLE, &gpreq) < 0)
return (-1);
- value = !value;
- return (gpio_pin_set(handle, pin, value));
+ return (0);
}
int
OpenPOWER on IntegriCloud