1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 #ifndef _LINUX_VIRTIO_GPIO_H
4 #define _LINUX_VIRTIO_GPIO_H
6 #include <linux/types.h>
8 /* Virtio GPIO request types */
9 #define VIRTIO_GPIO_MSG_GET_NAMES 0x0001
10 #define VIRTIO_GPIO_MSG_GET_DIRECTION 0x0002
11 #define VIRTIO_GPIO_MSG_SET_DIRECTION 0x0003
12 #define VIRTIO_GPIO_MSG_GET_VALUE 0x0004
13 #define VIRTIO_GPIO_MSG_SET_VALUE 0x0005
15 /* Possible values of the status field */
16 #define VIRTIO_GPIO_STATUS_OK 0x0
17 #define VIRTIO_GPIO_STATUS_ERR 0x1
20 #define VIRTIO_GPIO_DIRECTION_NONE 0x00
21 #define VIRTIO_GPIO_DIRECTION_OUT 0x01
22 #define VIRTIO_GPIO_DIRECTION_IN 0x02
24 struct virtio_gpio_config {
27 __le32 gpio_names_size;
30 /* Virtio GPIO Request / Response */
31 struct virtio_gpio_request {
37 struct virtio_gpio_response {
42 struct virtio_gpio_response_get_names {
47 #endif /* _LINUX_VIRTIO_GPIO_H */