| /* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */ | |
| /* | |
| * Definitions for virtio I2C Adpter | |
| * | |
| * Copyright (c) 2021 Intel Corporation. All rights reserved. | |
| */ | |
| #ifndef _UAPI_LINUX_VIRTIO_I2C_H | |
| #define _UAPI_LINUX_VIRTIO_I2C_H | |
| #include <linux/const.h> | |
| #include <linux/types.h> | |
| /* Virtio I2C Feature bits */ | |
| #define VIRTIO_I2C_F_ZERO_LENGTH_REQUEST 0 | |
| /* The bit 0 of the @virtio_i2c_out_hdr.@flags, used to group the requests */ | |
| #define VIRTIO_I2C_FLAGS_FAIL_NEXT _BITUL(0) | |
| /* The bit 1 of the @virtio_i2c_out_hdr.@flags, used to mark a buffer as read */ | |
| #define VIRTIO_I2C_FLAGS_M_RD _BITUL(1) | |
| /** | |
| * struct virtio_i2c_out_hdr - the virtio I2C message OUT header | |
| * @addr: the controlled device address | |
| * @padding: used to pad to full dword | |
| * @flags: used for feature extensibility | |
| */ | |
| struct virtio_i2c_out_hdr { | |
| __le16 addr; | |
| __le16 padding; | |
| __le32 flags; | |
| }; | |
| /** | |
| * struct virtio_i2c_in_hdr - the virtio I2C message IN header | |
| * @status: the processing result from the backend | |
| */ | |
| struct virtio_i2c_in_hdr { | |
| __u8 status; | |
| }; | |
| /* The final status written by the device */ | |
| #define VIRTIO_I2C_MSG_OK 0 | |
| #define VIRTIO_I2C_MSG_ERR 1 | |
| #endif /* _UAPI_LINUX_VIRTIO_I2C_H */ |