Prev: gpio/stmpe-gpio: set GPIO alternate function while requesting
Next: [rfc] new stat*fs-like syscall?
From: Datta, Shubhrajyoti on 24 Jun 2010 08:50 Changing the macro to swap the bytes as the reason that the first byte is the MSB and the next is LSB. Signed-off-by: Shubhrajyoti D <shubhrajyoti(a)ti.com> --- drivers/misc/bmp085.c | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/drivers/misc/bmp085.c b/drivers/misc/bmp085.c index 8af6f1b..74c5b12 100644 --- a/drivers/misc/bmp085.c +++ b/drivers/misc/bmp085.c @@ -79,18 +79,35 @@ static s32 bmp085_read_calibration_data(struct i2c_client *client) if (status != BMP085_CALIBRATION_DATA_LENGTH*sizeof(u16)) return -EIO; - - cali->AC1 = be16_to_cpu(tmp[0]); - cali->AC2 = be16_to_cpu(tmp[1]); - cali->AC3 = be16_to_cpu(tmp[2]); - cali->AC4 = be16_to_cpu(tmp[3]); - cali->AC5 = be16_to_cpu(tmp[4]); - cali->AC6 = be16_to_cpu(tmp[5]); - cali->B1 = be16_to_cpu(tmp[6]); - cali->B2 = be16_to_cpu(tmp[7]); - cali->MB = be16_to_cpu(tmp[8]); - cali->MC = be16_to_cpu(tmp[9]); - cali->MD = be16_to_cpu(tmp[10]); +/* + * From the datasheet + * + * BMP085 Reg Addr + * parameter | MSB | LSB + * AC1 | 0xAA | 0xAB + * AC2 | 0xAC | 0xAD + * AC3 | 0xAE | 0xAF + * AC4 | 0xB0 | 0xB1 + * AC5 | 0xB2 | 0xB3 + * AC6 | 0xB4 | 0xB5 + * B1 | 0xB6 | 0xB7 + * B2 | 0xB8 | 0xB9 + * MB | 0xBA | 0xBB + * MC | 0xBC | 0xBD + * MC | 0xBE | 0xBF + * + */ + cali->AC1 = swab16(tmp[0]); + cali->AC2 = swab16(tmp[1]); + cali->AC3 = swab16(tmp[2]); + cali->AC4 = swab16(tmp[3]); + cali->AC5 = swab16(tmp[4]); + cali->AC6 = swab16(tmp[5]); + cali->B1 = swab16(tmp[6]); + cali->B2 = swab16(tmp[7]); + cali->MB = swab16(tmp[8]); + cali->MC = swab16(tmp[9]); + cali->MD = swab16(tmp[10]); return 0; } -- 1.5.4.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: gpio/stmpe-gpio: set GPIO alternate function while requesting Next: [rfc] new stat*fs-like syscall? |