summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-23 09:44:31 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-23 09:44:31 -0700
commit876a4256d25b7fd7917f53e767da1ebdf3168457 (patch)
tree7dc10fad31d1048b8337d049a3572fa35e79e3fb /drivers/hid/hid-core.c
parent7c1fed03b9fa32d4323d5caa6a9c7dcdd7eba767 (diff)
parentb22d8370061898f3029cdc2601fbdec493443f03 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: apple_fn_keys F5 and F6 HID: remove quirk lookup from usbkbd/usbmouse HID: Add mapping of new KEY_MEDIA_REPEAT keycode HID: gyration remote support HID: gyration sleep button quirk HID: add quirk for Logitech DiNovo desktop HID: fix quirk handling in usbmouse/kbd HID: fix memory leak in hidraw_release HID: add n-trig digitizer usage HID: Invert HWHEEL mappings for some Logitech mice HID:usbkbd:mark usb_kbd_keycode array as const HID: add fn key support on Macbook Pro 4,1 and Macbook Air HID: remove unused variable from hiddev compat ioctl HID: fix compile issue in hiddev ioctl HID: Push down BKL into ioctl handler in hidraw HID: Switch hiddev to unlocked_ioctl HID: use get/put_unaligned_* helpers HID: fix report descriptor handling for MS Wireless model 1028
Diffstat (limited to 'drivers/hid/hid-core.c')
-rw-r--r--drivers/hid/hid-core.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index f43d6d3cf2f..426ac5add58 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -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);
}
/*