aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio
diff options
context:
space:
mode:
authorBrian Masney <masneyb@onstation.org>2018-05-10 20:12:18 -0400
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2018-05-12 12:17:49 +0100
commitbfdf7f1024e535eb66250d9ffea30e599e1e5c5a (patch)
treedee3afc40efaac8b29ba1fe352a659330bc0e17a /drivers/staging/iio
parentstaging: iio: tsl2x7x: turn chip off if IIO device registration fails (diff)
downloadlinux-dev-bfdf7f1024e535eb66250d9ffea30e599e1e5c5a.tar.xz
linux-dev-bfdf7f1024e535eb66250d9ffea30e599e1e5c5a.zip
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/staging/iio')
-rw-r--r--drivers/staging/iio/light/tsl2x7x.c61
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[] = {