Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 325359
b: refs/heads/master
c: 4c337de
h: refs/heads/master
i:
  325357: 1ef5158
  325355: 51bcf8e
  325351: 18d7113
  325343: 2716c0d
v: v3
  • Loading branch information
Lars-Peter Clausen authored and Jonathan Cameron committed Sep 15, 2012
1 parent 0ca38ea commit b5db2bb
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ac5332b1475b474a478d9336635849339546e235
refs/heads/master: 4c337de870d9bd1459ab603574256bb0e7644ad6
4 changes: 2 additions & 2 deletions trunk/drivers/iio/adc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ config AD7476
select IIO_TRIGGERED_BUFFER
help
Say yes here to build support for Analog Devices AD7475, AD7476, AD7477,
AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920 SPI analog to
digital converters (ADC).
AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920, AD7920 SPI analog
to digital converters (ADC).

If unsure, say N (but it's safe to say "Y").

Expand Down
18 changes: 14 additions & 4 deletions trunk/drivers/iio/adc/ad7476.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ enum ad7476_supported_device_ids {
ID_AD7466,
ID_AD7467,
ID_AD7468,
ID_AD7495
ID_AD7495,
ID_AD7940,
};

static irqreturn_t ad7476_trigger_handler(int irq, void *p)
Expand Down Expand Up @@ -126,20 +127,24 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
return -EINVAL;
}

#define AD7476_CHAN(bits) \
#define _AD7476_CHAN(bits, _shift) \
{ \
.type = IIO_VOLTAGE, \
.indexed = 1, \
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
IIO_CHAN_INFO_SCALE_SHARED_BIT, \
.scan_type = { \
.sign = 'u', \
.realbits = bits, \
.realbits = (bits), \
.storagebits = 16, \
.shift = 13 - bits, \
.shift = (_shift), \
.endianness = IIO_BE, \
}, \
}

#define AD7476_CHAN(bits) _AD7476_CHAN((bits), 13 - (bits))
#define AD7940_CHAN(bits) _AD7476_CHAN((bits), 15 - (bits))

static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
[ID_AD7466] = {
.channel[0] = AD7476_CHAN(12),
Expand All @@ -158,6 +163,10 @@ static const struct ad7476_chip_info ad7476_chip_info_tbl[] = {
.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
.int_vref_uv = 2500000,
},
[ID_AD7940] = {
.channel[0] = AD7940_CHAN(14),
.channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1),
},
};

static const struct iio_info ad7476_info = {
Expand Down Expand Up @@ -260,6 +269,7 @@ static const struct spi_device_id ad7476_id[] = {
{"ad7495", ID_AD7495},
{"ad7910", ID_AD7467},
{"ad7920", ID_AD7466},
{"ad7940", ID_AD7940},
{}
};
MODULE_DEVICE_TABLE(spi, ad7476_id);
Expand Down

0 comments on commit b5db2bb

Please sign in to comment.