6731ca3999
We can utilize separate drivers for accelerometer and magnetometer, so here is the glue driver to enable LSM9DS0 IMU support. The idea was suggested by Crestez Dan Leonard in [1]. The proposed change was sent as RFC due to race condition concerns, which are indeed possible. In order to amend the initial change, I went further by providing a specific multi-instantiate probe driver that reuses existing accelerometer and magnetometer. [1]: https://lore.kernel.org/patchwork/patch/670353/ Suggested-by: Crestez Dan Leonard <leonard.crestez@intel.com> Cc: mr.lahorde@laposte.net Cc: Matija Podravec <matija_podravec@fastmail.fm> Cc: Sergey Borishchenko <borischenko.sergey@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20210414195454.84183-6-andriy.shevchenko@linux.intel.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
24 lines
487 B
C
24 lines
487 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
// STMicroelectronics LSM9DS0 IMU driver
|
|
|
|
#ifndef ST_LSM9DS0_H
|
|
#define ST_LSM9DS0_H
|
|
|
|
struct iio_dev;
|
|
struct regulator;
|
|
|
|
struct st_lsm9ds0 {
|
|
struct device *dev;
|
|
const char *name;
|
|
int irq;
|
|
struct iio_dev *accel;
|
|
struct iio_dev *magn;
|
|
struct regulator *vdd;
|
|
struct regulator *vdd_io;
|
|
};
|
|
|
|
int st_lsm9ds0_probe(struct st_lsm9ds0 *lsm9ds0, struct regmap *regmap);
|
|
int st_lsm9ds0_remove(struct st_lsm9ds0 *lsm9ds0);
|
|
|
|
#endif /* ST_LSM9DS0_H */
|