diff options
author | Brian Masney <masneyb@onstation.org> | 2018-05-11 03:12:18 +0300 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2018-05-12 14:17:49 +0300 |
commit | bfdf7f1024e535eb66250d9ffea30e599e1e5c5a (patch) | |
tree | dee3afc40efaac8b29ba1fe352a659330bc0e17a /drivers | |
parent | cc566e90cba70966b5c84ac373110d499b8be4ac (diff) | |
download | linux-bfdf7f1024e535eb66250d9ffea30e599e1e5c5a.tar.xz |
staging: iio: tsl2x7x: use macro to populate tsl2X7X_device_info
This patch creates a macro that populates the tsl2X7X_device_info
structure to reduce duplicated code in the driver.
Signed-off-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/iio/light/tsl2x7x.c | 61 |
1 files changed, 16 insertions, 45 deletions
diff --git a/drivers/staging/iio/light/tsl2x7x.c b/drivers/staging/iio/light/tsl2x7x.c index f5ca5ada0358..51c1a90cb592 100644 --- a/drivers/staging/iio/light/tsl2x7x.c +++ b/drivers/staging/iio/light/tsl2x7x.c @@ -1305,52 +1305,23 @@ static const struct attribute_group tsl2X7X_device_attr_group_tbl[] = { }, }; +#define TSL2X7X_DEVICE_INFO(type)[type] = \ + { \ + .attrs = &tsl2X7X_device_attr_group_tbl[type], \ + .read_raw = &tsl2x7x_read_raw, \ + .write_raw = &tsl2x7x_write_raw, \ + .read_event_value = &tsl2x7x_read_event_value, \ + .write_event_value = &tsl2x7x_write_event_value, \ + .read_event_config = &tsl2x7x_read_interrupt_config, \ + .write_event_config = &tsl2x7x_write_interrupt_config, \ + } + static const struct iio_info tsl2X7X_device_info[] = { - [ALS] = { - .attrs = &tsl2X7X_device_attr_group_tbl[ALS], - .read_raw = &tsl2x7x_read_raw, - .write_raw = &tsl2x7x_write_raw, - .read_event_value = &tsl2x7x_read_event_value, - .write_event_value = &tsl2x7x_write_event_value, - .read_event_config = &tsl2x7x_read_interrupt_config, - .write_event_config = &tsl2x7x_write_interrupt_config, - }, - [PRX] = { - .attrs = &tsl2X7X_device_attr_group_tbl[PRX], - .read_raw = &tsl2x7x_read_raw, - .write_raw = &tsl2x7x_write_raw, - .read_event_value = &tsl2x7x_read_event_value, - .write_event_value = &tsl2x7x_write_event_value, - .read_event_config = &tsl2x7x_read_interrupt_config, - .write_event_config = &tsl2x7x_write_interrupt_config, - }, - [ALSPRX] = { - .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX], - .read_raw = &tsl2x7x_read_raw, - .write_raw = &tsl2x7x_write_raw, - .read_event_value = &tsl2x7x_read_event_value, - .write_event_value = &tsl2x7x_write_event_value, - .read_event_config = &tsl2x7x_read_interrupt_config, - .write_event_config = &tsl2x7x_write_interrupt_config, - }, - [PRX2] = { - .attrs = &tsl2X7X_device_attr_group_tbl[PRX2], - .read_raw = &tsl2x7x_read_raw, - .write_raw = &tsl2x7x_write_raw, - .read_event_value = &tsl2x7x_read_event_value, - .write_event_value = &tsl2x7x_write_event_value, - .read_event_config = &tsl2x7x_read_interrupt_config, - .write_event_config = &tsl2x7x_write_interrupt_config, - }, - [ALSPRX2] = { - .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX2], - .read_raw = &tsl2x7x_read_raw, - .write_raw = &tsl2x7x_write_raw, - .read_event_value = &tsl2x7x_read_event_value, - .write_event_value = &tsl2x7x_write_event_value, - .read_event_config = &tsl2x7x_read_interrupt_config, - .write_event_config = &tsl2x7x_write_interrupt_config, - }, + TSL2X7X_DEVICE_INFO(ALS), + TSL2X7X_DEVICE_INFO(PRX), + TSL2X7X_DEVICE_INFO(ALSPRX), + TSL2X7X_DEVICE_INFO(PRX2), + TSL2X7X_DEVICE_INFO(ALSPRX2), }; static const struct iio_event_spec tsl2x7x_events[] = { |