Input: gtco - use sign_extend32() for sign extension

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Martin Kepplinger 2015-01-23 16:40:53 -08:00 committed by Dmitry Torokhov
parent bb03bf3f84
commit 8d21282036

View file

@ -59,7 +59,7 @@ Scott Hill shill@gtcocalcomp.com
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <linux/bitops.h>
#include <linux/usb/input.h> #include <linux/usb/input.h>
@ -614,7 +614,6 @@ static void gtco_urb_callback(struct urb *urbinfo)
struct input_dev *inputdev; struct input_dev *inputdev;
int rc; int rc;
u32 val = 0; u32 val = 0;
s8 valsigned = 0;
char le_buffer[2]; char le_buffer[2];
inputdev = device->inputdevice; inputdev = device->inputdevice;
@ -665,20 +664,11 @@ static void gtco_urb_callback(struct urb *urbinfo)
/* Fall thru */ /* Fall thru */
case 4: case 4:
/* Tilt */ /* Tilt */
input_report_abs(inputdev, ABS_TILT_X,
sign_extend32(device->buffer[6], 6));
/* Sign extend these 7 bit numbers. */ input_report_abs(inputdev, ABS_TILT_Y,
if (device->buffer[6] & 0x40) sign_extend32(device->buffer[7], 6));
device->buffer[6] |= 0x80;
if (device->buffer[7] & 0x40)
device->buffer[7] |= 0x80;
valsigned = (device->buffer[6]);
input_report_abs(inputdev, ABS_TILT_X, (s32)valsigned);
valsigned = (device->buffer[7]);
input_report_abs(inputdev, ABS_TILT_Y, (s32)valsigned);
/* Fall thru */ /* Fall thru */
case 2: case 2: