drivers/iio/gyro/st_gyro.h

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

File Facts

System
Linux kernel
Corpus path
drivers/iio/gyro/st_gyro.h
Extension
.h
Size
1110 bytes
Lines
40
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 ST_GYRO_H
#define ST_GYRO_H

#include <linux/types.h>
#include <linux/iio/common/st_sensors.h>

#define L3G4200D_GYRO_DEV_NAME		"l3g4200d"
#define LSM330D_GYRO_DEV_NAME		"lsm330d_gyro"
#define LSM330DL_GYRO_DEV_NAME		"lsm330dl_gyro"
#define LSM330DLC_GYRO_DEV_NAME		"lsm330dlc_gyro"
#define L3GD20_GYRO_DEV_NAME		"l3gd20"
#define L3GD20H_GYRO_DEV_NAME		"l3gd20h"
#define L3G4IS_GYRO_DEV_NAME		"l3g4is_ui"
#define LSM330_GYRO_DEV_NAME		"lsm330_gyro"
#define LSM9DS0_GYRO_DEV_NAME		"lsm9ds0_gyro"

#ifdef CONFIG_IIO_BUFFER
int st_gyro_allocate_ring(struct iio_dev *indio_dev);
int st_gyro_trig_set_state(struct iio_trigger *trig, bool state);
#define ST_GYRO_TRIGGER_SET_STATE (&st_gyro_trig_set_state)
#else /* CONFIG_IIO_BUFFER */
static inline int st_gyro_allocate_ring(struct iio_dev *indio_dev)
{
	return 0;
}
#define ST_GYRO_TRIGGER_SET_STATE NULL
#endif /* CONFIG_IIO_BUFFER */

#endif /* ST_GYRO_H */

Annotation

Implementation Notes