drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h

Source file repositories/reference/linux-study-clean/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h

File Facts

System
Linux kernel
Corpus path
drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h
Extension
.h
Size
693 bytes
Lines
31
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

#ifndef INV_ICM42600_TEMP_H_
#define INV_ICM42600_TEMP_H_

#include <linux/iio/iio.h>

#define INV_ICM42600_TEMP_CHAN(_index)					\
	{								\
		.type = IIO_TEMP,					\
		.info_mask_separate =					\
			BIT(IIO_CHAN_INFO_RAW) |			\
			BIT(IIO_CHAN_INFO_OFFSET) |			\
			BIT(IIO_CHAN_INFO_SCALE),			\
		.scan_index = _index,					\
		.scan_type = {						\
			.sign = 's',					\
			.realbits = 16,					\
			.storagebits = 16,				\
		},							\
	}

int inv_icm42600_temp_read_raw(struct iio_dev *indio_dev,
			       struct iio_chan_spec const *chan,
			       int *val, int *val2, long mask);

#endif

Annotation

Implementation Notes