... > +int st_sensors_read_axis_data(struct iio_dev *indio_dev, u8 ch_addr, int *data) > +{ > + int err; > + u8 outdata[ST_SENSORS_BYTE_FOR_CHANNEL]; > + struct st_sensor_data *sdata = iio_priv(indio_dev); > + > + err = sdata->tf->read_multiple_byte(&sdata->tb, sdata->dev, > + ch_addr, ST_SENSORS_BYTE_FOR_CHANNEL, > + outdata, sdata->multiread_bit); > + if (err < 0) > + goto read_error; > + If you want to keep the cast this way around, then make it __le16 instead of u16. Personally I'd make outdata a __le16 array and then do the cast the other way, but it is far from important. > + *data = ((s16)le16_to_cpup((u16 *)outdata)); > + > +read_error: > + return err; > +} > +EXPORT_SYMBOL(st_sensors_read_axis_data); ... -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html