drivers/iio/pressure/ms5611.h

Source file repositories/reference/linux-study-clean/drivers/iio/pressure/ms5611.h

File Facts

System
Linux kernel
Corpus path
drivers/iio/pressure/ms5611.h
Extension
.h
Size
1265 bytes
Lines
59
Domain
Driver Families
Bucket
drivers/iio
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 ms5611_osr {
	unsigned long conv_usec;
	u8 cmd;
	unsigned short rate;
};

struct ms5611_state {
	void *client;
	struct mutex lock;

	const struct ms5611_osr *pressure_osr;
	const struct ms5611_osr *temp_osr;

	u16 prom[MS5611_PROM_WORDS_NB];

	int (*reset)(struct ms5611_state *st);
	int (*read_prom_word)(struct ms5611_state *st, int index, u16 *word);
	int (*read_adc_temp_and_pressure)(struct ms5611_state *st,
					  s32 *temp, s32 *pressure);

	int (*compensate_temp_and_pressure)(struct ms5611_state *st, s32 *temp,
					  s32 *pressure);
};

int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
		 const char *name, int type);

#endif /* _MS5611_H */

Annotation

Implementation Notes