diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-23 11:11:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-23 11:11:43 -0400 |
commit | 31f6e1bd3b58c9a67e5ea0c2d372fbf5fc9e326d (patch) | |
tree | b0f75a9353f2e9a82c6839a4f507eeb40ffc5fc5 /drivers/input/joystick | |
parent | ad9ddd66c6e8a79630a975ff0bb8d45a11abe630 (diff) | |
parent | 230ffc8e348e7841b79fd7c659d16aa5d7ec8a69 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: ads7846 - SPI_CPHA mode bugfix
Input: ads7846 - document that it handles tsc2046 too
Input: input-polldev - add module info
Input: ucb1x00-ts - remove commented out code
Input: ucb1400_ts - use sched_setscheduler()
Input: ALPS - force stream mode
Input: iforce - minor clean-ups
Input: iforce - fix force feedback not working
Input: adbhid - do not access input_dev->private directly
Input: logips2pp - add type 72 (PS/2 TrackMan Marble)
Diffstat (limited to 'drivers/input/joystick')
-rw-r--r-- | drivers/input/joystick/iforce/iforce-main.c | 4 | ||||
-rw-r--r-- | drivers/input/joystick/iforce/iforce-packets.c | 10 | ||||
-rw-r--r-- | drivers/input/joystick/iforce/iforce-usb.c | 5 |
3 files changed, 12 insertions, 7 deletions
diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c index fb129c479a66..682244b1c042 100644 --- a/drivers/input/joystick/iforce/iforce-main.c +++ b/drivers/input/joystick/iforce/iforce-main.c | |||
@@ -370,10 +370,8 @@ int iforce_init_device(struct iforce *iforce) | |||
370 | 370 | ||
371 | /* | 371 | /* |
372 | * Disable spring, enable force feedback. | 372 | * Disable spring, enable force feedback. |
373 | * FIXME: We should use iforce_set_autocenter() et al here. | ||
374 | */ | 373 | */ |
375 | 374 | iforce_set_autocenter(input_dev, 0); | |
376 | iforce_send_packet(iforce, FF_CMD_AUTOCENTER, "\004\000"); | ||
377 | 375 | ||
378 | /* | 376 | /* |
379 | * Find appropriate device entry | 377 | * Find appropriate device entry |
diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c index 21c4e13d3a50..3154ccd74000 100644 --- a/drivers/input/joystick/iforce/iforce-packets.c +++ b/drivers/input/joystick/iforce/iforce-packets.c | |||
@@ -246,6 +246,8 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data) | |||
246 | 246 | ||
247 | int iforce_get_id_packet(struct iforce *iforce, char *packet) | 247 | int iforce_get_id_packet(struct iforce *iforce, char *packet) |
248 | { | 248 | { |
249 | int status; | ||
250 | |||
249 | switch (iforce->bus) { | 251 | switch (iforce->bus) { |
250 | 252 | ||
251 | case IFORCE_USB: | 253 | case IFORCE_USB: |
@@ -254,18 +256,22 @@ int iforce_get_id_packet(struct iforce *iforce, char *packet) | |||
254 | iforce->cr.bRequest = packet[0]; | 256 | iforce->cr.bRequest = packet[0]; |
255 | iforce->ctrl->dev = iforce->usbdev; | 257 | iforce->ctrl->dev = iforce->usbdev; |
256 | 258 | ||
257 | if (usb_submit_urb(iforce->ctrl, GFP_ATOMIC)) | 259 | status = usb_submit_urb(iforce->ctrl, GFP_ATOMIC); |
260 | if (status) { | ||
261 | err("usb_submit_urb failed %d", status); | ||
258 | return -1; | 262 | return -1; |
263 | } | ||
259 | 264 | ||
260 | wait_event_interruptible_timeout(iforce->wait, | 265 | wait_event_interruptible_timeout(iforce->wait, |
261 | iforce->ctrl->status != -EINPROGRESS, HZ); | 266 | iforce->ctrl->status != -EINPROGRESS, HZ); |
262 | 267 | ||
263 | if (iforce->ctrl->status) { | 268 | if (iforce->ctrl->status) { |
269 | dbg("iforce->ctrl->status = %d", iforce->ctrl->status); | ||
264 | usb_unlink_urb(iforce->ctrl); | 270 | usb_unlink_urb(iforce->ctrl); |
265 | return -1; | 271 | return -1; |
266 | } | 272 | } |
267 | #else | 273 | #else |
268 | err("iforce_get_id_packet: iforce->bus = USB!"); | 274 | dbg("iforce_get_id_packet: iforce->bus = USB!"); |
269 | #endif | 275 | #endif |
270 | break; | 276 | break; |
271 | 277 | ||
diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c index 750099d8e3c6..1457b73850e7 100644 --- a/drivers/input/joystick/iforce/iforce-usb.c +++ b/drivers/input/joystick/iforce/iforce-usb.c | |||
@@ -65,6 +65,7 @@ void iforce_usb_xmit(struct iforce *iforce) | |||
65 | XMIT_INC(iforce->xmit.tail, n); | 65 | XMIT_INC(iforce->xmit.tail, n); |
66 | 66 | ||
67 | if ( (n=usb_submit_urb(iforce->out, GFP_ATOMIC)) ) { | 67 | if ( (n=usb_submit_urb(iforce->out, GFP_ATOMIC)) ) { |
68 | clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); | ||
68 | warn("usb_submit_urb failed %d\n", n); | 69 | warn("usb_submit_urb failed %d\n", n); |
69 | } | 70 | } |
70 | 71 | ||
@@ -163,8 +164,8 @@ static int iforce_usb_probe(struct usb_interface *intf, | |||
163 | usb_fill_int_urb(iforce->irq, dev, usb_rcvintpipe(dev, epirq->bEndpointAddress), | 164 | usb_fill_int_urb(iforce->irq, dev, usb_rcvintpipe(dev, epirq->bEndpointAddress), |
164 | iforce->data, 16, iforce_usb_irq, iforce, epirq->bInterval); | 165 | iforce->data, 16, iforce_usb_irq, iforce, epirq->bInterval); |
165 | 166 | ||
166 | usb_fill_bulk_urb(iforce->out, dev, usb_sndbulkpipe(dev, epout->bEndpointAddress), | 167 | usb_fill_int_urb(iforce->out, dev, usb_sndintpipe(dev, epout->bEndpointAddress), |
167 | iforce + 1, 32, iforce_usb_out, iforce); | 168 | iforce + 1, 32, iforce_usb_out, iforce, epout->bInterval); |
168 | 169 | ||
169 | usb_fill_control_urb(iforce->ctrl, dev, usb_rcvctrlpipe(dev, 0), | 170 | usb_fill_control_urb(iforce->ctrl, dev, usb_rcvctrlpipe(dev, 0), |
170 | (void*) &iforce->cr, iforce->edata, 16, iforce_usb_ctrl, iforce); | 171 | (void*) &iforce->cr, iforce->edata, 16, iforce_usb_ctrl, iforce); |