iio: core: Introduce IIO_EV_DIR_NONE
authorIrina Tirdea <irina.tirdea@intel.com>
Mon, 10 Nov 2014 12:45:31 +0000 (14:45 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sat, 22 Nov 2014 11:05:49 +0000 (11:05 +0000)
For some events (e.g.: step detector) a direction does not make sense.

Add IIO_EV_DIR_NONE to be used with such events and generate sysfs event
attributes that do not contain direction.

Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/industrialio-event.c
include/linux/iio/types.h

index 0c1e37e3120a40cf5f7a170339033204adf5770b..1290290adcb583eff5949f37753e5211df8bb883 100644 (file)
@@ -327,9 +327,15 @@ static int iio_device_add_event(struct iio_dev *indio_dev,
        for_each_set_bit(i, mask, sizeof(*mask)*8) {
                if (i >= ARRAY_SIZE(iio_ev_info_text))
                        return -EINVAL;
-               postfix = kasprintf(GFP_KERNEL, "%s_%s_%s",
-                               iio_ev_type_text[type], iio_ev_dir_text[dir],
-                               iio_ev_info_text[i]);
+               if (dir != IIO_EV_DIR_NONE)
+                       postfix = kasprintf(GFP_KERNEL, "%s_%s_%s",
+                                       iio_ev_type_text[type],
+                                       iio_ev_dir_text[dir],
+                                       iio_ev_info_text[i]);
+               else
+                       postfix = kasprintf(GFP_KERNEL, "%s_%s",
+                                       iio_ev_type_text[type],
+                                       iio_ev_info_text[i]);
                if (postfix == NULL)
                        return -ENOMEM;
 
index b3a241d53b5410e5dc8f6c83852d3706a0436e25..52cb5329407b9870abd2d41a9a97f1b9f084496f 100644 (file)
@@ -86,6 +86,7 @@ enum iio_event_direction {
        IIO_EV_DIR_EITHER,
        IIO_EV_DIR_RISING,
        IIO_EV_DIR_FALLING,
+       IIO_EV_DIR_NONE,
 };
 
 #define IIO_VAL_INT 1