mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-06 02:24:14 +08:00
26aec6e1b7
Inspired by Andy Shevchenko's proposal to use get_unaligned_leXX(). The whole one time programable memory is treated as a single 64bit little endian value. Thus we can avoid a lot of messy handling of fields overlapping byte boundaries by just loading and manipulating it as an __le64 converted to a u64. That lets us just use FIELD_GET() and GENMASK() to extract the values desired. Note only build tested. We need to use GENMASK_ULL and %llX formatters to account for the larger types used in computing the various fields. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20201128185156.428327-1-jic23@kernel.org Link: https://lore.kernel.org/r/20201129184459.647538-1-jic23@kernel.org |
||
---|---|---|
.. | ||
adis16080.c | ||
adis16130.c | ||
adis16136.c | ||
adis16260.c | ||
adxrs290.c | ||
adxrs450.c | ||
bmg160_core.c | ||
bmg160_i2c.c | ||
bmg160_spi.c | ||
bmg160.h | ||
fxas21002c_core.c | ||
fxas21002c_i2c.c | ||
fxas21002c_spi.c | ||
fxas21002c.h | ||
hid-sensor-gyro-3d.c | ||
itg3200_buffer.c | ||
itg3200_core.c | ||
Kconfig | ||
Makefile | ||
mpu3050-core.c | ||
mpu3050-i2c.c | ||
mpu3050.h | ||
ssp_gyro_sensor.c | ||
st_gyro_buffer.c | ||
st_gyro_core.c | ||
st_gyro_i2c.c | ||
st_gyro_spi.c | ||
st_gyro.h |