iio: core: Fix mapping of iio channels to entry numbers
authorGaurav Gupta <gauragup@cisco.com>
Tue, 27 Jun 2017 16:46:01 +0000 (09:46 -0700)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 15 Jul 2017 12:50:00 +0000 (13:50 +0100)
When adding maps to the list, they were added using list_add, which adds
them in LIFO order. When parsing using iio_channel_get_all(), these
elements are hence returned in reverse order. As a result, the iio_hwmon
mapping maps the first entry to the last channel and so on.

Signed-off-by: Gaurav Gupta <gauragup@cisco.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/inkern.c

index a3941bade6a7503c3aa60c00a97f814cf26ba632..487bf6b7517244165769a795b3597d5eb2528500 100644 (file)
@@ -44,7 +44,7 @@ int iio_map_array_register(struct iio_dev *indio_dev, struct iio_map *maps)
                }
                mapi->map = &maps[i];
                mapi->indio_dev = indio_dev;
-               list_add(&mapi->l, &iio_map_list);
+               list_add_tail(&mapi->l, &iio_map_list);
                i++;
        }
 error_ret: