SCPI fix for v4.10
A simple fix for reading only lower 32-bit sensor values on pre-1.0 SCPI firmwares so that upper 32-bit (garbage) value is discarded properly. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJYZn+PAAoJEABBurwxfuKYiewQAIL4rD18VSZ/5HyPFMUVGiT4 xqaaXMpk16Osf6WTXx6aGm+359iblE+TGtve3vwTOMi+6/+lHaYaf5UcW51yk8sd RgHnte9weiIYR7kSGpoksBzgFYV8B8C72lxY+WNNaszbKgE7RTir5HK2MgNdipQM ayHnDpbHaSSZbC+Pp8jES9Of7fV8bc4i0uxUZ+QeVTb7REEL0vS/TiOWfRugrfH7 +v2Rfg2KmhXcyew9I1fKS8dw/fzNVNMbLzN+nHvQF4u6NQsHsrMtjmqJ6bVNxj9I FnYJgPnNGpAjSLRNTksiW0d7Zqg9JZhjcE+vVJSE4xe4IYlZtBMOe9yMtE0USl1n IirATPiqUOecH3VdPITKQ3WPseNH550VpeTsk+36goEZroSqfmkJ2Bn6j+dlhlke xcLrzdt1f+h2jywD1IWt5Hly6+l1gfsAhqPMrnUj4dEL6SpIgHUCx3VO1GDKYGjI sbp1d1t8MVXVtzt90ssh0hwUo2fc7Ugh7/rfpcVMHMygj9jSutXlgyfBFJUmyiKw T3vR6luKG7NWc23v7mv0ol5U/sUlCbYHfkpHzDnY7ldd51qNvqHLOdokHnsdu8bI fyFhPn9OGFf9JYhMkw4XmbqskSVQ0F1cWJmYlMU5xM+LmR6XKMj5XdN7f4bydwW8 1nZHb7TDOCgzCHjBlWki =Wy0/ -----END PGP SIGNATURE----- Merge tag 'scpi-fixes-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into fixes Pull "SCPI fix for v4.10" from Sudeep Holla: A simple fix for reading only lower 32-bit sensor values on pre-1.0 SCPI firmwares so that upper 32-bit (garbage) value is discarded properly. * tag 'scpi-fixes-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: firmware: arm_scpi: fix reading sensor values on pre-1.0 SCPI firmwares
This commit is contained in:
commit
43a8df78dc
|
@ -721,11 +721,17 @@ static int scpi_sensor_get_value(u16 sensor, u64 *val)
|
||||||
|
|
||||||
ret = scpi_send_message(CMD_SENSOR_VALUE, &id, sizeof(id),
|
ret = scpi_send_message(CMD_SENSOR_VALUE, &id, sizeof(id),
|
||||||
&buf, sizeof(buf));
|
&buf, sizeof(buf));
|
||||||
if (!ret)
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (scpi_info->is_legacy)
|
||||||
|
/* only 32-bits supported, hi_val can be junk */
|
||||||
|
*val = le32_to_cpu(buf.lo_val);
|
||||||
|
else
|
||||||
*val = (u64)le32_to_cpu(buf.hi_val) << 32 |
|
*val = (u64)le32_to_cpu(buf.hi_val) << 32 |
|
||||||
le32_to_cpu(buf.lo_val);
|
le32_to_cpu(buf.lo_val);
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int scpi_device_get_power_state(u16 dev_id)
|
static int scpi_device_get_power_state(u16 dev_id)
|
||||||
|
|
Loading…
Reference in New Issue