From 7c626f58ab0095d7614636cc81f6081426903a37 Mon Sep 17 00:00:00 2001 From: Jonathan Cameron Date: Fri, 30 Sep 2011 10:05:31 +0100 Subject: [PATCH] staging:iio:adc:ad799x stop using IIO_CHAN macro. Preparation for moving driver out of staging. That macro is a nightmare to maintain so it is going away. Signed-off-by: Jonathan Cameron Acked-by: Michael Hennerich Signed-off-by: Greg Kroah-Hartman --- drivers/staging/iio/adc/ad799x_core.c | 452 +++++++++++++++++++++++++--------- 1 file changed, 329 insertions(+), 123 deletions(-) diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c index 58f70aa..975a3f712 100644 --- a/drivers/staging/iio/adc/ad799x_core.c +++ b/drivers/staging/iio/adc/ad799x_core.c @@ -151,7 +151,7 @@ static int ad799x_read_raw(struct iio_dev *dev_info, mutex_lock(&dev_info->mlock); if (iio_buffer_enabled(dev_info)) ret = ad799x_single_channel_from_ring(st, - chan->address); + chan->scan_index); else ret = ad799x_scan_direct(st, chan->address); mutex_unlock(&dev_info->mlock); @@ -486,167 +486,373 @@ static const struct iio_info ad7993_4_7_8_info = { static const struct ad799x_chip_info ad799x_chip_info_tbl[] = { [ad7991] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 12, 16, 0), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 12, 16, 0), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 12, 16, 0), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 12, 16, 0), 0), - .channel[4] = IIO_CHAN_SOFT_TIMESTAMP(4), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [4] = IIO_CHAN_SOFT_TIMESTAMP(4), + }, .num_channels = 5, .int_vref_mv = 4096, .info = &ad7991_info, }, [ad7995] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 10, 16, 2), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 10, 16, 2), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 10, 16, 2), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 10, 16, 2), 0), - .channel[4] = IIO_CHAN_SOFT_TIMESTAMP(4), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [4] = IIO_CHAN_SOFT_TIMESTAMP(4), + }, .num_channels = 5, .int_vref_mv = 1024, .info = &ad7991_info, }, [ad7999] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 8, 16, 4), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 8, 16, 4), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 8, 16, 4), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 8, 16, 4), 0), - .channel[4] = IIO_CHAN_SOFT_TIMESTAMP(4), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 8, 16, 4), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 8, 16, 4), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 8, 16, 4), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 8, 16, 4), + }, + [4] = IIO_CHAN_SOFT_TIMESTAMP(4), + }, .num_channels = 5, .int_vref_mv = 1024, .info = &ad7991_info, }, [ad7992] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 12, 16, 0), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 12, 16, 0), 0), - .channel[2] = IIO_CHAN_SOFT_TIMESTAMP(2), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [2] = IIO_CHAN_SOFT_TIMESTAMP(2), + }, .num_channels = 3, .int_vref_mv = 4096, .default_config = AD7998_ALERT_EN, .info = &ad7992_info, }, [ad7993] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 10, 16, 2), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 10, 16, 2), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 10, 16, 2), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 10, 16, 2), 0), - .channel[4] = IIO_CHAN_SOFT_TIMESTAMP(4), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [4] = IIO_CHAN_SOFT_TIMESTAMP(4), + }, .num_channels = 5, .int_vref_mv = 1024, .default_config = AD7998_ALERT_EN, .info = &ad7993_4_7_8_info, }, [ad7994] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 12, 16, 0), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 12, 16, 0), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 12, 16, 0), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 12, 16, 0), 0), - .channel[4] = IIO_CHAN_SOFT_TIMESTAMP(4), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [4] = IIO_CHAN_SOFT_TIMESTAMP(4), + }, .num_channels = 5, .int_vref_mv = 4096, .default_config = AD7998_ALERT_EN, .info = &ad7993_4_7_8_info, }, [ad7997] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 10, 16, 2), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 10, 16, 2), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 10, 16, 2), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 10, 16, 2), 0), - .channel[4] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 4, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 4, 4, IIO_ST('u', 10, 16, 2), 0), - .channel[5] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 5, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 5, 5, IIO_ST('u', 10, 16, 2), 0), - .channel[6] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 6, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 6, 6, IIO_ST('u', 10, 16, 2), 0), - .channel[7] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 7, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 7, 7, IIO_ST('u', 10, 16, 2), 0), - .channel[8] = IIO_CHAN_SOFT_TIMESTAMP(8), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [4] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 4, + .address = 4, + .scan_index = 4, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [5] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 5, + .address = 5, + .scan_index = 5, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [6] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 6, + .address = 6, + .scan_index = 6, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [7] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 7, + .address = 7, + .scan_index = 7, + .scan_type = IIO_ST('u', 10, 16, 2), + }, + [8] = IIO_CHAN_SOFT_TIMESTAMP(8), + }, .num_channels = 9, .int_vref_mv = 1024, .default_config = AD7998_ALERT_EN, .info = &ad7993_4_7_8_info, }, [ad7998] = { - .channel[0] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 0, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 0, 0, IIO_ST('u', 12, 16, 0), 0), - .channel[1] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 1, 1, IIO_ST('u', 12, 16, 0), 0), - .channel[2] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 2, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 2, 2, IIO_ST('u', 12, 16, 0), 0), - .channel[3] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 3, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 3, 3, IIO_ST('u', 12, 16, 0), 0), - .channel[4] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 4, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 4, 4, IIO_ST('u', 12, 16, 0), 0), - .channel[5] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 5, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 5, 5, IIO_ST('u', 12, 16, 0), 0), - .channel[6] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 6, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 6, 6, IIO_ST('u', 12, 16, 0), 0), - .channel[7] = IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 7, 0, - (1 << IIO_CHAN_INFO_SCALE_SHARED), - 7, 7, IIO_ST('u', 12, 16, 0), 0), - .channel[8] = IIO_CHAN_SOFT_TIMESTAMP(8), + .channel = { + [0] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 0, + .address = 0, + .scan_index = 0, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [1] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 1, + .address = 1, + .scan_index = 1, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [2] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 2, + .address = 2, + .scan_index = 2, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [3] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 3, + .address = 3, + .scan_index = 3, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [4] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 4, + .address = 4, + .scan_index = 4, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [5] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 5, + .address = 5, + .scan_index = 5, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [6] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 6, + .address = 6, + .scan_index = 6, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [7] = { + .type = IIO_VOLTAGE, + .indexed = 1, + .channel = 7, + .address = 7, + .scan_index = 7, + .scan_type = IIO_ST('u', 12, 16, 0), + }, + [8] = IIO_CHAN_SOFT_TIMESTAMP(8), + }, .num_channels = 9, .int_vref_mv = 4096, .default_config = AD7998_ALERT_EN, -- 2.7.4