drivers/iio/gyro/mpu3050.h

Source file repositories/reference/linux-study-clean/drivers/iio/gyro/mpu3050.h

File Facts

System
Linux kernel
Corpus path
drivers/iio/gyro/mpu3050.h
Extension
.h
Size
2806 bytes
Lines
98
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 mpu3050 {
	struct device *dev;
	struct iio_mount_matrix orientation;
	struct regmap *map;
	struct mutex lock;
	int irq;
	struct regulator_bulk_data regs[2];
	enum mpu3050_fullscale fullscale;
	enum mpu3050_lpf lpf;
	u8 divisor;
	s16 calibration[3];
	struct iio_trigger *trig;
	bool hw_irq_trigger;
	bool irq_actl;
	bool irq_latch;
	bool irq_opendrain;
	bool pending_fifo_footer;
	s64 hw_timestamp;
	struct i2c_mux_core *i2cmux;
};

/* Probe called from different transports */
int mpu3050_common_probe(struct device *dev,
			 struct regmap *map,
			 int irq,
			 const char *name);
void mpu3050_common_remove(struct device *dev);

/* PM ops */
extern const struct dev_pm_ops mpu3050_dev_pm_ops;

Annotation

Implementation Notes