浏览代码

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>
Hartmut Knaack 10 年之前
父节点
当前提交
423ad0c405
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      drivers/iio/light/stk3310.c

+ 6 - 6
drivers/iio/light/stk3310.c

@@ -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: