iio:light:stk3310: make endianness independent of host
Data is stored in the device in be16 format. Make use of be16_to_cpu and cpu_to_be16 to have correct endianness on any host architecture. Signed-off-by: Hartmut Knaack <knaack.h@gmx.de> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
committed by
Jonathan Cameron
parent
037e966f2d
commit
423ad0c405
@@ -200,7 +200,7 @@ static int stk3310_read_event(struct iio_dev *indio_dev,
|
|||||||
int *val, int *val2)
|
int *val, int *val2)
|
||||||
{
|
{
|
||||||
u8 reg;
|
u8 reg;
|
||||||
u16 buf;
|
__be16 buf;
|
||||||
int ret;
|
int ret;
|
||||||
struct stk3310_data *data = iio_priv(indio_dev);
|
struct stk3310_data *data = iio_priv(indio_dev);
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ static int stk3310_read_event(struct iio_dev *indio_dev,
|
|||||||
dev_err(&data->client->dev, "register read failed\n");
|
dev_err(&data->client->dev, "register read failed\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
*val = swab16(buf);
|
*val = be16_to_cpu(buf);
|
||||||
|
|
||||||
return IIO_VAL_INT;
|
return IIO_VAL_INT;
|
||||||
}
|
}
|
||||||
@@ -235,7 +235,7 @@ static int stk3310_write_event(struct iio_dev *indio_dev,
|
|||||||
int val, int val2)
|
int val, int val2)
|
||||||
{
|
{
|
||||||
u8 reg;
|
u8 reg;
|
||||||
u16 buf;
|
__be16 buf;
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int index;
|
unsigned int index;
|
||||||
struct stk3310_data *data = iio_priv(indio_dev);
|
struct stk3310_data *data = iio_priv(indio_dev);
|
||||||
@@ -252,7 +252,7 @@ static int stk3310_write_event(struct iio_dev *indio_dev,
|
|||||||
else
|
else
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
buf = swab16(val);
|
buf = cpu_to_be16(val);
|
||||||
ret = regmap_bulk_write(data->regmap, reg, &buf, 2);
|
ret = regmap_bulk_write(data->regmap, reg, &buf, 2);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
dev_err(&client->dev, "failed to set PS threshold!\n");
|
dev_err(&client->dev, "failed to set PS threshold!\n");
|
||||||
@@ -301,7 +301,7 @@ static int stk3310_read_raw(struct iio_dev *indio_dev,
|
|||||||
int *val, int *val2, long mask)
|
int *val, int *val2, long mask)
|
||||||
{
|
{
|
||||||
u8 reg;
|
u8 reg;
|
||||||
u16 buf;
|
__be16 buf;
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int index;
|
unsigned int index;
|
||||||
struct stk3310_data *data = iio_priv(indio_dev);
|
struct stk3310_data *data = iio_priv(indio_dev);
|
||||||
@@ -322,7 +322,7 @@ static int stk3310_read_raw(struct iio_dev *indio_dev,
|
|||||||
mutex_unlock(&data->lock);
|
mutex_unlock(&data->lock);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
*val = swab16(buf);
|
*val = be16_to_cpu(buf);
|
||||||
mutex_unlock(&data->lock);
|
mutex_unlock(&data->lock);
|
||||||
return IIO_VAL_INT;
|
return IIO_VAL_INT;
|
||||||
case IIO_CHAN_INFO_INT_TIME:
|
case IIO_CHAN_INFO_INT_TIME:
|
||||||
|
|||||||
Reference in New Issue
Block a user