Title: [8719] trunk/drivers/staging/iio/adc: Always swap high and low bytes in a 16 bit SMBus I2C transfer.
Revision
8719
Author
sonicz
Date
2010-05-18 01:46:27 -0400 (Tue, 18 May 2010)

Log Message

Always swap high and low bytes in a 16 bit SMBus I2C transfer.

SMBus spec by default outputs low byte first in a 16 bit transfer no
matter which endian machine it is running on. While, temperature ADC
expects high bytes first.

Modified Paths

Diff

Modified: trunk/drivers/staging/iio/adc/ad7291.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/ad7291.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/ad7291.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -94,7 +94,7 @@
 		return ret;
 	}
 
-	*data = ""
+	*data = ""
 
 	return 0;
 }
@@ -104,7 +104,7 @@
 	struct i2c_client *client = chip->client;
 	int ret = 0;
 
-	ret = i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
+	ret = i2c_smbus_write_word_data(client, reg, swab16(data));
 	if (ret < 0)
 		dev_err(&client->dev, "I2C write error\n");
 
@@ -151,7 +151,7 @@
 	ret >>= 2;
 
 	for (i = 0; i < ret; i++)
-		data[i] = be16_to_cpu(data[i]);
+		data[i] = swab16(data[i]);
 
 	return ret;
 }

Modified: trunk/drivers/staging/iio/adc/ad7414.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/ad7414.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/ad7414.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -186,7 +186,7 @@
 	if (ret)
 		return -EIO;
 
-	data = "" >> AD7414_TEMP_OFFSET;
+	data = "" >> AD7414_TEMP_OFFSET;
 	if (data & AD7414_TEMP_SIGN) {
 		data = "" << 1) - data;
 		sign = '-';
@@ -239,7 +239,7 @@
 	ret = ad7414_i2c_read(chip, AD7414_TEMPERATURE, (u8 *)&status);
 	if (ret)
 		return;
-	status = be16_to_cpu(status);
+	status = swab16(status);
 
 	/* clear ALART pin in chip configuration register */
 	ret = ad7414_i2c_read(chip, AD7414_CONFIG, &config);

Modified: trunk/drivers/staging/iio/adc/ad7416.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/ad7416.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/ad7416.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -300,7 +300,7 @@
 		if (ret)
 			return -EIO;
 
-		data = ""
+		data = ""
 		data >>= AD7416_VALUE_OFFSET;
 		if (data & AD7416_VALUE_SIGN) {
 			data = "" << 1) - data;
@@ -314,7 +314,7 @@
 		if (ret)
 			return -EIO;
 
-		data = ""
+		data = ""
 		data >>= AD7416_VALUE_OFFSET;
 
 		return sprintf(buf, "%u\n", data);
@@ -495,7 +495,7 @@
 	if (ret)
 		return -EIO;
 
-	data = ""
+	data = ""
 	data >>= (AD7416_VALUE_OFFSET + 1);
 
 	if (chip->channel_id == 0) {
@@ -542,7 +542,7 @@
 	}
 
 	data <<= (AD7416_VALUE_OFFSET + 1);
-	data = ""
+	data = ""
 	ret = ad7416_i2c_write(chip, bound_reg, (u8)data);
 	if (ret)
 		return -EIO;

Modified: trunk/drivers/staging/iio/adc/adt7408.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/adt7408.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/adt7408.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -106,7 +106,7 @@
 		return ret;
 	}
 
-	*data = ""
+	*data = ""
 
 	return 0;
 }
@@ -116,7 +116,7 @@
 	struct i2c_client *client = chip->client;
 	int ret = 0;
 
-	ret = i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
+	ret = i2c_smbus_write_word_data(client, reg, swab16(data));
 	if (ret < 0)
 		dev_err(&client->dev, "I2C write error\n");
 

Modified: trunk/drivers/staging/iio/adc/adt7410.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/adt7410.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/adt7410.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -99,7 +99,7 @@
 		return ret;
 	}
 
-	*data = ""
+	*data = ""
 
 	return 0;
 }
@@ -109,7 +109,7 @@
 	struct i2c_client *client = chip->client;
 	int ret = 0;
 
-	ret = i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
+	ret = i2c_smbus_write_word_data(client, reg, swab16(data));
 	if (ret < 0)
 		dev_err(&client->dev, "I2C write error\n");
 

Modified: trunk/drivers/staging/iio/adc/adt75.c (8718 => 8719)


--- trunk/drivers/staging/iio/adc/adt75.c	2010-05-18 04:04:04 UTC (rev 8718)
+++ trunk/drivers/staging/iio/adc/adt75.c	2010-05-18 05:46:27 UTC (rev 8719)
@@ -234,7 +234,7 @@
 	if (ret)
 		return -EIO;
 
-	data = "" >> ADT75_VALUE_OFFSET;
+	data = "" >> ADT75_VALUE_OFFSET;
 	if (data & ADT75_VALUE_SIGN) {
 		/* convert supplement to positive value */
 		data = "" << 1) - data;
@@ -471,7 +471,7 @@
 	if (ret)
 		return -EIO;
 
-	data = "" >> ADT75_VALUE_OFFSET;
+	data = "" >> ADT75_VALUE_OFFSET;
 	if (data & ADT75_VALUE_SIGN) {
 		/* convert supplement to positive value */
 		data = "" << 1) - data;
@@ -523,7 +523,7 @@
 		/* convert positive value to supplyment */
 		data = "" << 1) - data;
 	data <<= ADT75_VALUE_OFFSET;
-	data = ""
+	data = ""
 
 	ret = adt75_i2c_write(chip, bound_reg, (u8)data);
 	if (ret)
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to