Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c036a324 authored by Giuliano Belinassi's avatar Giuliano Belinassi Committed by Jonathan Cameron
Browse files

staging: iio: ad7780: generates pattern_mask from PAT bits



Previously, all pattern_masks and patterns in the chip_info table were
hardcoded. Now they are generated using the PAT macros, as described in
the datasheets.

Signed-off-by: default avatarGiuliano Belinassi <giuliano.belinassi@usp.br>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 23da6a15
Loading
Loading
Loading
Loading
+24 −16
Original line number Diff line number Diff line
@@ -31,6 +31,14 @@
#define AD7780_PAT1		BIT(1)
#define AD7780_PAT0		BIT(0)

#define AD7780_PATTERN		(AD7780_PAT0)
#define AD7780_PATTERN_MASK	(AD7780_PAT0 | AD7780_PAT1)

#define AD7170_PAT2		BIT(2)

#define AD7170_PATTERN		(AD7780_PAT0 | AD7170_PAT2)
#define AD7170_PATTERN_MASK	(AD7780_PAT0 | AD7780_PAT1 | AD7170_PAT2)

struct ad7780_chip_info {
	struct iio_chan_spec	channel;
	unsigned int		pattern_mask;
@@ -136,26 +144,26 @@ static const struct ad_sigma_delta_info ad7780_sigma_delta_info = {
static const struct ad7780_chip_info ad7780_chip_info_tbl[] = {
	[ID_AD7170] = {
		.channel = AD7780_CHANNEL(12, 24),
		.pattern = 0x5,
		.pattern_mask = 0x7,
		.pattern = AD7170_PATTERN,
		.pattern_mask = AD7170_PATTERN_MASK,
		.is_ad778x = false,
	},
	[ID_AD7171] = {
		.channel = AD7780_CHANNEL(16, 24),
		.pattern = 0x5,
		.pattern_mask = 0x7,
		.pattern = AD7170_PATTERN,
		.pattern_mask = AD7170_PATTERN_MASK,
		.is_ad778x = false,
	},
	[ID_AD7780] = {
		.channel = AD7780_CHANNEL(24, 32),
		.pattern = 0x1,
		.pattern_mask = 0x3,
		.pattern = AD7780_PATTERN,
		.pattern_mask = AD7780_PATTERN_MASK,
		.is_ad778x = true,
	},
	[ID_AD7781] = {
		.channel = AD7780_CHANNEL(20, 32),
		.pattern = 0x1,
		.pattern_mask = 0x3,
		.pattern = AD7780_PATTERN,
		.pattern_mask = AD7780_PATTERN_MASK,
		.is_ad778x = true,
	},
};