Commit 8d212820 authored by Martin Kepplinger's avatar Martin Kepplinger Committed by Dmitry Torokhov

Input: gtco - use sign_extend32() for sign extension

Signed-off-by: default avatarMartin Kepplinger <martink@posteo.de>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent bb03bf3f
...@@ -59,7 +59,7 @@ Scott Hill shill@gtcocalcomp.com ...@@ -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) ...@@ -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) ...@@ -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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment