mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
iio: st_sensors: Make accel, gyro, magn and pressure probe shared
Some IMUs may utilize existing library code for STMicro accelerometer, gyroscope, magnetometer and pressure. Let's share them via st_sensors.h. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20210414195454.84183-5-andriy.shevchenko@linux.intel.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
7db4f2cacb
commit
d61881ef7f
@ -62,10 +62,6 @@ enum st_accel_type {
|
||||
#define LIS2DE12_ACCEL_DEV_NAME "lis2de12"
|
||||
#define LIS2HH12_ACCEL_DEV_NAME "lis2hh12"
|
||||
|
||||
const struct st_sensor_settings *st_accel_get_settings(const char *name);
|
||||
int st_accel_common_probe(struct iio_dev *indio_dev);
|
||||
void st_accel_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
#ifdef CONFIG_IIO_BUFFER
|
||||
int st_accel_allocate_ring(struct iio_dev *indio_dev);
|
||||
void st_accel_deallocate_ring(struct iio_dev *indio_dev);
|
||||
|
@ -24,10 +24,6 @@
|
||||
#define LSM330_GYRO_DEV_NAME "lsm330_gyro"
|
||||
#define LSM9DS0_GYRO_DEV_NAME "lsm9ds0_gyro"
|
||||
|
||||
const struct st_sensor_settings *st_gyro_get_settings(const char *name);
|
||||
int st_gyro_common_probe(struct iio_dev *indio_dev);
|
||||
void st_gyro_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
#ifdef CONFIG_IIO_BUFFER
|
||||
int st_gyro_allocate_ring(struct iio_dev *indio_dev);
|
||||
void st_gyro_deallocate_ring(struct iio_dev *indio_dev);
|
||||
|
@ -23,10 +23,6 @@
|
||||
#define LSM9DS1_MAGN_DEV_NAME "lsm9ds1_magn"
|
||||
#define IIS2MDC_MAGN_DEV_NAME "iis2mdc"
|
||||
|
||||
const struct st_sensor_settings *st_magn_get_settings(const char *name);
|
||||
int st_magn_common_probe(struct iio_dev *indio_dev);
|
||||
void st_magn_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
#ifdef CONFIG_IIO_BUFFER
|
||||
int st_magn_allocate_ring(struct iio_dev *indio_dev);
|
||||
void st_magn_deallocate_ring(struct iio_dev *indio_dev);
|
||||
|
@ -41,10 +41,6 @@ static __maybe_unused const struct st_sensors_platform_data default_press_pdata
|
||||
.drdy_int_pin = 1,
|
||||
};
|
||||
|
||||
const struct st_sensor_settings *st_press_get_settings(const char *name);
|
||||
int st_press_common_probe(struct iio_dev *indio_dev);
|
||||
void st_press_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
#ifdef CONFIG_IIO_BUFFER
|
||||
int st_press_allocate_ring(struct iio_dev *indio_dev);
|
||||
void st_press_deallocate_ring(struct iio_dev *indio_dev);
|
||||
|
@ -317,4 +317,24 @@ ssize_t st_sensors_sysfs_scale_avail(struct device *dev,
|
||||
|
||||
void st_sensors_dev_name_probe(struct device *dev, char *name, int len);
|
||||
|
||||
/* Accelerometer */
|
||||
const struct st_sensor_settings *st_accel_get_settings(const char *name);
|
||||
int st_accel_common_probe(struct iio_dev *indio_dev);
|
||||
void st_accel_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
/* Gyroscope */
|
||||
const struct st_sensor_settings *st_gyro_get_settings(const char *name);
|
||||
int st_gyro_common_probe(struct iio_dev *indio_dev);
|
||||
void st_gyro_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
/* Magnetometer */
|
||||
const struct st_sensor_settings *st_magn_get_settings(const char *name);
|
||||
int st_magn_common_probe(struct iio_dev *indio_dev);
|
||||
void st_magn_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
/* Pressure */
|
||||
const struct st_sensor_settings *st_press_get_settings(const char *name);
|
||||
int st_press_common_probe(struct iio_dev *indio_dev);
|
||||
void st_press_common_remove(struct iio_dev *indio_dev);
|
||||
|
||||
#endif /* ST_SENSORS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user