1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* 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 <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 /* _LINUX_VIRTIO_I2C_H */
|