From: Bartosz Golaszewski <[email protected]>

struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
 drivers/gpio/gpio-virtio.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
index 
ac39da17a29bb844b0dd1e36eaf37670261396e8..92b456475d895912c903ad04a9d101daab5ceb58
 100644
--- a/drivers/gpio/gpio-virtio.c
+++ b/drivers/gpio/gpio-virtio.c
@@ -194,11 +194,12 @@ static int virtio_gpio_get(struct gpio_chip *gc, unsigned 
int gpio)
        return ret ? ret : value;
 }
 
-static void virtio_gpio_set(struct gpio_chip *gc, unsigned int gpio, int value)
+static int virtio_gpio_set(struct gpio_chip *gc, unsigned int gpio, int value)
 {
        struct virtio_gpio *vgpio = gpiochip_get_data(gc);
 
-       virtio_gpio_req(vgpio, VIRTIO_GPIO_MSG_SET_VALUE, gpio, value, NULL);
+       return virtio_gpio_req(vgpio, VIRTIO_GPIO_MSG_SET_VALUE, gpio, value,
+                              NULL);
 }
 
 /* Interrupt handling */
@@ -565,7 +566,7 @@ static int virtio_gpio_probe(struct virtio_device *vdev)
        vgpio->gc.direction_input       = virtio_gpio_direction_input;
        vgpio->gc.direction_output      = virtio_gpio_direction_output;
        vgpio->gc.get                   = virtio_gpio_get;
-       vgpio->gc.set                   = virtio_gpio_set;
+       vgpio->gc.set_rv                = virtio_gpio_set;
        vgpio->gc.ngpio                 = ngpio;
        vgpio->gc.base                  = -1; /* Allocate base dynamically */
        vgpio->gc.label                 = dev_name(dev);

-- 
2.48.1


Reply via email to