drivers/i2c/busses/i2c-viai2c-common.h

Source file repositories/reference/linux-study-clean/drivers/i2c/busses/i2c-viai2c-common.h

File Facts

System
Linux kernel
Corpus path
drivers/i2c/busses/i2c-viai2c-common.h
Extension
.h
Size
2055 bytes
Lines
86
Domain
Driver Families
Bucket
drivers/i2c
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 viai2c {
	struct i2c_adapter	adapter;
	struct completion	complete;
	struct device		*dev;
	void __iomem		*base;
	struct clk		*clk;
	u16			tcr;
	int			irq;
	u16			xfered_len;
	struct i2c_msg		*msg;
	int			ret;
	bool			last;
	unsigned int		mode;
	unsigned int		platform;
	void			*pltfm_priv;
};

int viai2c_wait_bus_not_busy(struct viai2c *i2c);
int viai2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num);
int viai2c_init(struct platform_device *pdev, struct viai2c **pi2c, int plat);
int viai2c_irq_xfer(struct viai2c *i2c);

#endif

Annotation

Implementation Notes