Commit bfdf7f10 authored by Brian Masney's avatar Brian Masney Committed by Jonathan Cameron
Browse files

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: default avatarBrian Masney <masneyb@onstation.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent cc566e90
Loading
Loading
Loading
Loading
+16 −45
Original line number Diff line number Diff line
@@ -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[] = {