goto done;
        }
 
-       for_each_set_bit(i, indio_dev->active_scan_mask,
-               indio_dev->masklength) {
+       iio_for_each_active_channel(indio_dev, i) {
                int run = 1;
 
-               while (i + run < indio_dev->masklength) {
+               while (i + run < iio_get_masklength(indio_dev)) {
                        if (!test_bit(i + run, indio_dev->active_scan_mask))
                                break;
                        if (indio_dev->channels[i + run].address !=
        if (data->scan_mask == scan_mask)
                return 0;
 
-       for_each_set_bit(i, &scan_mask, indio_dev->masklength) {
+       for_each_set_bit(i, &scan_mask, iio_get_masklength(indio_dev)) {
                switch (indio_dev->channels[i].address) {
                case SI1145_REG_ALSVIS_DATA:
                        reg |= SI1145_CHLIST_EN_ALSVIS;