iio:adc:ad799x: Add helper function to read/write config register

16-bit on ad7997/ad7998, 8-bit elsewhere

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
Peter Meerwald 2014-12-06 05:54:00 +00:00 committed by Jonathan Cameron
parent ef0bf6f82d
commit 89ca79afe5
1 changed files with 24 additions and 0 deletions

View File

@ -136,6 +136,30 @@ struct ad799x_state {
unsigned int transfer_size; unsigned int transfer_size;
}; };
static int ad799x_write_config(struct ad799x_state *st, u16 val)
{
switch (st->id) {
case ad7997:
case ad7998:
return i2c_smbus_write_word_swapped(st->client, AD7998_CONF_REG,
val);
default:
return i2c_smbus_write_byte_data(st->client, AD7998_CONF_REG,
val);
}
}
static int ad799x_read_config(struct ad799x_state *st)
{
switch (st->id) {
case ad7997:
case ad7998:
return i2c_smbus_read_word_swapped(st->client, AD7998_CONF_REG);
default:
return i2c_smbus_read_byte_data(st->client, AD7998_CONF_REG);
}
}
/** /**
* ad799x_trigger_handler() bh of trigger launched polling to ring buffer * ad799x_trigger_handler() bh of trigger launched polling to ring buffer
* *