include/linux/i2c-algo-pca.h

Source file repositories/reference/linux-study-clean/include/linux/i2c-algo-pca.h

File Facts

System
Linux kernel
Corpus path
include/linux/i2c-algo-pca.h
Extension
.h
Size
2959 bytes
Lines
88
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct pca_i2c_bus_settings {
	int mode;
	int tlow;
	int thi;
	int clock_freq;
};

struct i2c_algo_pca_data {
	void 				*data;	/* private low level data */
	void (*write_byte)		(void *data, int reg, int val);
	int  (*read_byte)		(void *data, int reg);
	int  (*wait_for_completion_cb)	(void *data);
	void (*reset_chip)		(void *data);
	/* For PCA9564, use one of the predefined frequencies:
	 * 330000, 288000, 217000, 146000, 88000, 59000, 44000, 36000
	 * For PCA9665, use the frequency you want here. */
	unsigned int			i2c_clock;
	unsigned int			chip;
	struct pca_i2c_bus_settings		bus_settings;
};

int i2c_pca_add_bus(struct i2c_adapter *);
int i2c_pca_add_numbered_bus(struct i2c_adapter *);

#endif /* _LINUX_I2C_ALGO_PCA_H */

Annotation

Implementation Notes