浏览代码

imu: bmi160: Add avail frequency and scale attributes

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Daniel Baluta 9 年之前
父节点
当前提交
216912e3f1
共有 1 个文件被更改,包括 27 次插入0 次删除
  1. 27 0
      drivers/iio/imu/bmi160/bmi160_core.c

+ 27 - 0
drivers/iio/imu/bmi160/bmi160_core.c

@@ -20,6 +20,7 @@
 #include <linux/iio/triggered_buffer.h>
 #include <linux/iio/triggered_buffer.h>
 #include <linux/iio/trigger_consumer.h>
 #include <linux/iio/trigger_consumer.h>
 #include <linux/iio/buffer.h>
 #include <linux/iio/buffer.h>
+#include <linux/iio/sysfs.h>
 
 
 #include "bmi160.h"
 #include "bmi160.h"
 
 
@@ -466,10 +467,36 @@ static int bmi160_write_raw(struct iio_dev *indio_dev,
 	return 0;
 	return 0;
 }
 }
 
 
+static
+IIO_CONST_ATTR(in_accel_sampling_frequency_available,
+	       "0.78125 1.5625 3.125 6.25 12.5 25 50 100 200 400 800 1600");
+static
+IIO_CONST_ATTR(in_anglvel_sampling_frequency_available,
+	       "25 50 100 200 400 800 1600 3200");
+static
+IIO_CONST_ATTR(in_accel_scale_available,
+	       "0.000598 0.001197 0.002394 0.004788");
+static
+IIO_CONST_ATTR(in_anglvel_scale_available,
+	       "0.001065 0.000532 0.000266 0.000133 0.000066");
+
+static struct attribute *bmi160_attrs[] = {
+	&iio_const_attr_in_accel_sampling_frequency_available.dev_attr.attr,
+	&iio_const_attr_in_anglvel_sampling_frequency_available.dev_attr.attr,
+	&iio_const_attr_in_accel_scale_available.dev_attr.attr,
+	&iio_const_attr_in_anglvel_scale_available.dev_attr.attr,
+	NULL,
+};
+
+static const struct attribute_group bmi160_attrs_group = {
+	.attrs = bmi160_attrs,
+};
+
 static const struct iio_info bmi160_info = {
 static const struct iio_info bmi160_info = {
 	.driver_module = THIS_MODULE,
 	.driver_module = THIS_MODULE,
 	.read_raw = bmi160_read_raw,
 	.read_raw = bmi160_read_raw,
 	.write_raw = bmi160_write_raw,
 	.write_raw = bmi160_write_raw,
+	.attrs = &bmi160_attrs_group,
 };
 };
 
 
 static const char *bmi160_match_acpi_device(struct device *dev)
 static const char *bmi160_match_acpi_device(struct device *dev)