| /* 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 _LINUX_VIRTIO_I2C_H |
| #define _LINUX_VIRTIO_I2C_H |
| |
| #include "standard-headers/linux/const.h" |
| #include "standard-headers/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 { |
| uint16_t addr; |
| uint16_t padding; |
| uint32_t flags; |
| }; |
| |
| /** |
| * struct virtio_i2c_in_hdr - the virtio I2C message IN header |
| * @status: the processing result from the backend |
| */ |
| struct virtio_i2c_in_hdr { |
| uint8_t status; |
| }; |
| |
| /* The final status written by the device */ |
| #define VIRTIO_I2C_MSG_OK 0 |
| #define VIRTIO_I2C_MSG_ERR 1 |
| |
| #endif /* _LINUX_VIRTIO_I2C_H */ |