HID: use get/put_unaligned_* helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Родитель
9063974cdb
Коммит
6f0168d2da
|
@ -780,7 +780,7 @@ static __inline__ __u32 extract(__u8 *report, unsigned offset, unsigned n)
|
|||
*/
|
||||
static __inline__ void implement(__u8 *report, unsigned offset, unsigned n, __u32 value)
|
||||
{
|
||||
__le64 x;
|
||||
u64 x;
|
||||
u64 m = (1ULL << n) - 1;
|
||||
|
||||
if (n > 32)
|
||||
|
@ -796,10 +796,10 @@ static __inline__ void implement(__u8 *report, unsigned offset, unsigned n, __u3
|
|||
report += offset >> 3;
|
||||
offset &= 7;
|
||||
|
||||
x = get_unaligned((__le64 *)report);
|
||||
x &= cpu_to_le64(~(m << offset));
|
||||
x |= cpu_to_le64(((u64) value) << offset);
|
||||
put_unaligned(x, (__le64 *) report);
|
||||
x = get_unaligned_le64(report);
|
||||
x &= ~(m << offset);
|
||||
x |= ((u64)value) << offset;
|
||||
put_unaligned_le64(x, report);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче