forked from Minki/linux
iio: Use spi_sync_transfer()
Use the new spi_sync_transfer() helper function instead of open-coding it. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
6d9eecd418
commit
14543a00fc
@ -94,7 +94,6 @@ error_ret:
|
||||
|
||||
static int kxsd9_read(struct iio_dev *indio_dev, u8 address)
|
||||
{
|
||||
struct spi_message msg;
|
||||
int ret;
|
||||
struct kxsd9_state *st = iio_priv(indio_dev);
|
||||
struct spi_transfer xfers[] = {
|
||||
@ -112,10 +111,7 @@ static int kxsd9_read(struct iio_dev *indio_dev, u8 address)
|
||||
|
||||
mutex_lock(&st->buf_lock);
|
||||
st->tx[0] = KXSD9_READ(address);
|
||||
spi_message_init(&msg);
|
||||
spi_message_add_tail(&xfers[0], &msg);
|
||||
spi_message_add_tail(&xfers[1], &msg);
|
||||
ret = spi_sync(st->us, &msg);
|
||||
ret = spi_sync_transfer(st->us, xfers, ARRAY_SIZE(xfers));
|
||||
if (ret)
|
||||
return ret;
|
||||
return (((u16)(st->rx[0])) << 8) | (st->rx[1] & 0xF0);
|
||||
|
@ -213,7 +213,6 @@ static int ad5360_read(struct iio_dev *indio_dev, unsigned int type,
|
||||
unsigned int addr)
|
||||
{
|
||||
struct ad5360_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
struct spi_transfer t[] = {
|
||||
{
|
||||
@ -226,10 +225,6 @@ static int ad5360_read(struct iio_dev *indio_dev, unsigned int type,
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32(AD5360_CMD(AD5360_CMD_SPECIAL_FUNCTION) |
|
||||
@ -237,7 +232,7 @@ static int ad5360_read(struct iio_dev *indio_dev, unsigned int type,
|
||||
AD5360_READBACK_TYPE(type) |
|
||||
AD5360_READBACK_ADDR(addr));
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret >= 0)
|
||||
ret = be32_to_cpu(st->data[1].d32) & 0xffff;
|
||||
|
||||
|
@ -127,7 +127,6 @@ static int ad5421_write(struct iio_dev *indio_dev, unsigned int reg,
|
||||
static int ad5421_read(struct iio_dev *indio_dev, unsigned int reg)
|
||||
{
|
||||
struct ad5421_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
struct spi_transfer t[] = {
|
||||
{
|
||||
@ -140,15 +139,11 @@ static int ad5421_read(struct iio_dev *indio_dev, unsigned int reg)
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32((1 << 23) | (reg << 16));
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret >= 0)
|
||||
ret = be32_to_cpu(st->data[1].d32) & 0xffff;
|
||||
|
||||
|
@ -85,11 +85,7 @@ static int ad5504_spi_read(struct spi_device *spi, u8 addr)
|
||||
.rx_buf = &val,
|
||||
.len = 2,
|
||||
};
|
||||
struct spi_message m;
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t, &m);
|
||||
ret = spi_sync(spi, &m);
|
||||
ret = spi_sync_transfer(spi, &t, 1);
|
||||
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
@ -117,18 +117,13 @@ static int ad5686_spi_read(struct ad5686_state *st, u8 addr)
|
||||
.len = 3,
|
||||
},
|
||||
};
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32(AD5686_CMD(AD5686_CMD_READBACK_ENABLE) |
|
||||
AD5686_ADDR(addr));
|
||||
st->data[1].d32 = cpu_to_be32(AD5686_CMD(AD5686_CMD_NOOP));
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
@ -153,7 +153,6 @@ static int ad5755_write_ctrl(struct iio_dev *indio_dev, unsigned int channel,
|
||||
static int ad5755_read(struct iio_dev *indio_dev, unsigned int addr)
|
||||
{
|
||||
struct ad5755_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
struct spi_transfer t[] = {
|
||||
{
|
||||
@ -167,16 +166,12 @@ static int ad5755_read(struct iio_dev *indio_dev, unsigned int addr)
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32(AD5755_READ_FLAG | (addr << 16));
|
||||
st->data[1].d32 = cpu_to_be32(AD5755_NOOP);
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret >= 0)
|
||||
ret = be32_to_cpu(st->data[1].d32) & 0xffff;
|
||||
|
||||
|
@ -135,7 +135,6 @@ static int ad5764_read(struct iio_dev *indio_dev, unsigned int reg,
|
||||
unsigned int *val)
|
||||
{
|
||||
struct ad5764_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
struct spi_transfer t[] = {
|
||||
{
|
||||
@ -148,15 +147,11 @@ static int ad5764_read(struct iio_dev *indio_dev, unsigned int reg,
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
mutex_lock(&indio_dev->mlock);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32((1 << 23) | (reg << 16));
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret >= 0)
|
||||
*val = be32_to_cpu(st->data[1].d32) & 0xffff;
|
||||
|
||||
|
@ -125,7 +125,6 @@ static int ad5791_spi_read(struct spi_device *spi, u8 addr, u32 *val)
|
||||
u8 d8[4];
|
||||
} data[3];
|
||||
int ret;
|
||||
struct spi_message msg;
|
||||
struct spi_transfer xfers[] = {
|
||||
{
|
||||
.tx_buf = &data[0].d8[1],
|
||||
@ -144,10 +143,7 @@ static int ad5791_spi_read(struct spi_device *spi, u8 addr, u32 *val)
|
||||
AD5791_ADDR(addr));
|
||||
data[1].d32 = cpu_to_be32(AD5791_ADDR(AD5791_ADDR_NOOP));
|
||||
|
||||
spi_message_init(&msg);
|
||||
spi_message_add_tail(&xfers[0], &msg);
|
||||
spi_message_add_tail(&xfers[1], &msg);
|
||||
ret = spi_sync(spi, &msg);
|
||||
ret = spi_sync_transfer(spi, xfers, ARRAY_SIZE(xfers));
|
||||
|
||||
*val = be32_to_cpu(data[2].d32);
|
||||
|
||||
|
@ -287,7 +287,6 @@ struct ad9523_state {
|
||||
static int ad9523_read(struct iio_dev *indio_dev, unsigned addr)
|
||||
{
|
||||
struct ad9523_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
|
||||
/* We encode the register size 1..3 bytes into the register address.
|
||||
@ -305,15 +304,11 @@ static int ad9523_read(struct iio_dev *indio_dev, unsigned addr)
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32(AD9523_READ |
|
||||
AD9523_CNT(AD9523_TRANSF_LEN(addr)) |
|
||||
AD9523_ADDR(addr));
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
if (ret < 0)
|
||||
dev_err(&indio_dev->dev, "read failed (%d)", ret);
|
||||
else
|
||||
@ -326,7 +321,6 @@ static int ad9523_read(struct iio_dev *indio_dev, unsigned addr)
|
||||
static int ad9523_write(struct iio_dev *indio_dev, unsigned addr, unsigned val)
|
||||
{
|
||||
struct ad9523_state *st = iio_priv(indio_dev);
|
||||
struct spi_message m;
|
||||
int ret;
|
||||
struct spi_transfer t[] = {
|
||||
{
|
||||
@ -338,16 +332,12 @@ static int ad9523_write(struct iio_dev *indio_dev, unsigned addr, unsigned val)
|
||||
},
|
||||
};
|
||||
|
||||
spi_message_init(&m);
|
||||
spi_message_add_tail(&t[0], &m);
|
||||
spi_message_add_tail(&t[1], &m);
|
||||
|
||||
st->data[0].d32 = cpu_to_be32(AD9523_WRITE |
|
||||
AD9523_CNT(AD9523_TRANSF_LEN(addr)) |
|
||||
AD9523_ADDR(addr));
|
||||
st->data[1].d32 = cpu_to_be32(val);
|
||||
|
||||
ret = spi_sync(st->spi, &m);
|
||||
ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t));
|
||||
|
||||
if (ret < 0)
|
||||
dev_err(&indio_dev->dev, "write failed (%d)", ret);
|
||||
|
@ -213,7 +213,6 @@ error_ret:
|
||||
static int adxrs450_spi_initial(struct adxrs450_state *st,
|
||||
u32 *val, char chk)
|
||||
{
|
||||
struct spi_message msg;
|
||||
int ret;
|
||||
u32 tx;
|
||||
struct spi_transfer xfers = {
|
||||
@ -228,9 +227,7 @@ static int adxrs450_spi_initial(struct adxrs450_state *st,
|
||||
if (chk)
|
||||
tx |= (ADXRS450_CHK | ADXRS450_P);
|
||||
st->tx = cpu_to_be32(tx);
|
||||
spi_message_init(&msg);
|
||||
spi_message_add_tail(&xfers, &msg);
|
||||
ret = spi_sync(st->us, &msg);
|
||||
ret = spi_sync_transfer(st->us, &xfers, 1);
|
||||
if (ret) {
|
||||
dev_err(&st->us->dev, "Problem while reading initializing data\n");
|
||||
goto error_ret;
|
||||
|
Loading…
Reference in New Issue
Block a user