drivers/i3c/master/mipi-i3c-hci/cmd.h

Source file repositories/reference/linux-study-clean/drivers/i3c/master/mipi-i3c-hci/cmd.h

File Facts

System
Linux kernel
Corpus path
drivers/i3c/master/mipi-i3c-hci/cmd.h
Extension
.h
Size
2087 bytes
Lines
75
Domain
Driver Families
Bucket
drivers/i3c
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct hci_cmd_ops {
	int (*prep_ccc)(struct i3c_hci *hci, struct hci_xfer *xfer,
			u8 ccc_addr, u8 ccc_cmd, bool raw);
	void (*prep_i3c_xfer)(struct i3c_hci *hci, struct i3c_dev_desc *dev,
			      struct hci_xfer *xfer);
	void (*prep_i2c_xfer)(struct i3c_hci *hci, struct i2c_dev_desc *dev,
			      struct hci_xfer *xfer);
	int (*perform_daa)(struct i3c_hci *hci);
};

/* Our various instances */
extern const struct hci_cmd_ops mipi_i3c_hci_cmd_v1;
extern const struct hci_cmd_ops mipi_i3c_hci_cmd_v2;

static inline void hci_cmd_set_resp_err(u32 *response, int resp_err)
{
	*response &= ~RESP_ERR_FIELD;
	*response |= FIELD_PREP(RESP_ERR_FIELD, resp_err);
}

#endif

Annotation

Implementation Notes