staging:iio:trivial add a string array for IIO_RAW and IIO_PROCESSED.
authorJonathan Cameron <jic23@cam.ac.uk>
Tue, 30 Aug 2011 11:41:11 +0000 (12:41 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 6 Sep 2011 23:00:27 +0000 (16:00 -0700)
Introduce IIO_RAW and IIO_PROCESSED and an array for their strings.
Also move one function to just above where it is called.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/iio.h
drivers/staging/iio/industrialio-core.c

index 098d827..1c24d13 100644 (file)
  * Currently assumes nano seconds.
  */
 
+enum iio_data_type {
+       IIO_RAW,
+       IIO_PROCESSED,
+};
+
 enum iio_chan_type {
        /* real channel types */
        IIO_IN,
index 8b8e1fb..e83d626 100644 (file)
@@ -37,6 +37,11 @@ struct bus_type iio_bus_type = {
 };
 EXPORT_SYMBOL(iio_bus_type);
 
+static const char * const iio_data_type_name[] = {
+       [IIO_RAW] = "raw",
+       [IIO_PROCESSED] = "input",
+};
+
 static const char * const iio_chan_type_name_spec_shared[] = {
        [IIO_IN] = "in",
        [IIO_OUT] = "out",
@@ -253,16 +258,6 @@ static int iio_event_getfd(struct iio_dev *indio_dev)
                                indio_dev->event_interface, O_RDONLY);
 }
 
-static void iio_setup_ev_int(struct iio_event_interface *ev_int)
-{
-       mutex_init(&ev_int->event_list_lock);
-       /* discussion point - make this variable? */
-       ev_int->max_events = 10;
-       ev_int->current_events = 0;
-       INIT_LIST_HEAD(&ev_int->det_events);
-       init_waitqueue_head(&ev_int->wait);
-}
-
 static int __init iio_init(void)
 {
        int ret;
@@ -584,26 +579,18 @@ static int iio_device_add_channel_sysfs(struct iio_dev *dev_info,
 {
        int ret, i;
 
-
        if (chan->channel < 0)
                return 0;
-       if (chan->processed_val)
-               ret = __iio_add_chan_devattr("input", NULL, chan,
-                                            &iio_read_channel_info,
-                                            NULL,
-                                            0,
-                                            0,
-                                            &dev_info->dev,
-                                            &dev_info->channel_attr_list);
-       else
-               ret = __iio_add_chan_devattr("raw", NULL, chan,
-                                            &iio_read_channel_info,
-                                            (chan->type == IIO_OUT ?
-                                            &iio_write_channel_info : NULL),
-                                            0,
-                                            0,
-                                            &dev_info->dev,
-                                            &dev_info->channel_attr_list);
+
+       ret = __iio_add_chan_devattr(iio_data_type_name[chan->processed_val],
+                                    NULL, chan,
+                                    &iio_read_channel_info,
+                                    (chan->type == IIO_OUT ?
+                                     &iio_write_channel_info : NULL),
+                                    0,
+                                    0,
+                                    &dev_info->dev,
+                                    &dev_info->channel_attr_list);
        if (ret)
                goto error_ret;
 
@@ -815,7 +802,6 @@ static ssize_t iio_ev_value_store(struct device *dev,
 static int iio_device_add_event_sysfs(struct iio_dev *dev_info,
                                      struct iio_chan_spec const *chan)
 {
-
        int ret = 0, i, mask = 0;
        char *postfix;
        if (!chan->event_mask)
@@ -908,10 +894,10 @@ static inline int __iio_add_event_config_attrs(struct iio_dev *dev_info)
 {
        int j;
        int ret;
+
        INIT_LIST_HEAD(&dev_info->event_interface->dev_attr_list);
        /* Dynically created from the channels array */
        for (j = 0; j < dev_info->num_channels; j++) {
-
                ret = iio_device_add_event_sysfs(dev_info,
                                                 &dev_info->channels[j]);
                if (ret)
@@ -937,12 +923,23 @@ static struct attribute_group iio_events_dummy_group = {
 static bool iio_check_for_dynamic_events(struct iio_dev *dev_info)
 {
        int j;
+
        for (j = 0; j < dev_info->num_channels; j++)
                if (dev_info->channels[j].event_mask != 0)
                        return true;
        return false;
 }
 
+static void iio_setup_ev_int(struct iio_event_interface *ev_int)
+{
+       mutex_init(&ev_int->event_list_lock);
+       /* discussion point - make this variable? */
+       ev_int->max_events = 10;
+       ev_int->current_events = 0;
+       INIT_LIST_HEAD(&ev_int->det_events);
+       init_waitqueue_head(&ev_int->wait);
+}
+
 static int iio_device_register_eventset(struct iio_dev *dev_info)
 {
        int ret = 0;