mfd: twl: Endian fixups in i2c write and read wrappers
Use a local variable to ensure correct endian types for intermediate results. Identified by sparse when building the IIO driver. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Родитель
11c4f2be58
Коммит
cbfdc839ea
|
@ -181,14 +181,18 @@ static inline int twl_i2c_read_u8(u8 mod_no, u8 *val, u8 reg) {
|
|||
}
|
||||
|
||||
static inline int twl_i2c_write_u16(u8 mod_no, u16 val, u8 reg) {
|
||||
val = cpu_to_le16(val);
|
||||
return twl_i2c_write(mod_no, (u8*) &val, reg, 2);
|
||||
__le16 value;
|
||||
|
||||
value = cpu_to_le16(val);
|
||||
return twl_i2c_write(mod_no, (u8 *) &value, reg, 2);
|
||||
}
|
||||
|
||||
static inline int twl_i2c_read_u16(u8 mod_no, u16 *val, u8 reg) {
|
||||
int ret;
|
||||
ret = twl_i2c_read(mod_no, (u8*) val, reg, 2);
|
||||
*val = le16_to_cpu(*val);
|
||||
__le16 value;
|
||||
|
||||
ret = twl_i2c_read(mod_no, (u8 *) &value, reg, 2);
|
||||
*val = le16_to_cpu(value);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче