summaryrefslogtreecommitdiffstats
path: root/drivers/iio/accel
diff options
context:
space:
mode:
authorDenis Ciocca <denis.ciocca@st.com>2019-07-18 18:53:44 -0400
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2019-07-27 17:52:04 -0400
commit823a7adac4f1bde2828d18f3bd8fa75285d00f4d (patch)
tree25e611470e4133291b8b3e61444016902e36f2e3 /drivers/iio/accel
parenta090965b882333500d8780e2c1762e17782f413f (diff)
iio:accel: introduce st_accel_get_settings() function
The function is introduced to retrieve accel device settings. It will be used by probe in order to configure regmap. Signed-off-by: Denis Ciocca <denis.ciocca@st.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/accel')
-rw-r--r--drivers/iio/accel/st_accel.h1
-rw-r--r--drivers/iio/accel/st_accel_core.c18
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/iio/accel/st_accel.h b/drivers/iio/accel/st_accel.h
index 979ab9679b99..af09943f38c9 100644
--- a/drivers/iio/accel/st_accel.h
+++ b/drivers/iio/accel/st_accel.h
@@ -68,6 +68,7 @@ static const struct st_sensors_platform_data default_accel_pdata = {
68 .drdy_int_pin = 1, 68 .drdy_int_pin = 1,
69}; 69};
70 70
71const struct st_sensor_settings *st_accel_get_settings(const char *name);
71int st_accel_common_probe(struct iio_dev *indio_dev); 72int st_accel_common_probe(struct iio_dev *indio_dev);
72void st_accel_common_remove(struct iio_dev *indio_dev); 73void st_accel_common_remove(struct iio_dev *indio_dev);
73 74
diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c
index e02b79931979..6fc490ffef7e 100644
--- a/drivers/iio/accel/st_accel_core.c
+++ b/drivers/iio/accel/st_accel_core.c
@@ -1147,6 +1147,24 @@ out:
1147#endif 1147#endif
1148} 1148}
1149 1149
1150/*
1151 * st_accel_get_settings() - get sensor settings from device name
1152 * @name: device name buffer reference.
1153 *
1154 * Return: valid reference on success, NULL otherwise.
1155 */
1156const struct st_sensor_settings *st_accel_get_settings(const char *name)
1157{
1158 int index = st_sensors_get_settings_index(name,
1159 st_accel_sensors_settings,
1160 ARRAY_SIZE(st_accel_sensors_settings));
1161 if (index < 0)
1162 return NULL;
1163
1164 return &st_accel_sensors_settings[index];
1165}
1166EXPORT_SYMBOL(st_accel_get_settings);
1167
1150int st_accel_common_probe(struct iio_dev *indio_dev) 1168int st_accel_common_probe(struct iio_dev *indio_dev)
1151{ 1169{
1152 struct st_sensor_data *adata = iio_priv(indio_dev); 1170 struct st_sensor_data *adata = iio_priv(indio_dev);