diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-03-22 15:35:39 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-13 19:26:12 -0400 |
commit | ad7c56f07e24c758d78e797ceeb9cf049dec66aa (patch) | |
tree | 5478576109d29f9f7519edffefde2204c3aeeea0 | |
parent | ee81b3e086c907a3347b15ef219a24fc8bf900f6 (diff) |
USB: sl811: add Kconfig option for ISOCHRONOUS mode
Some bluetooth dongles want ISO mode, and the limited support that the
sl811 offers today is sufficient. So add a Kconfig option for people
to optionally get access to the partial functionality.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/host/Kconfig | 10 | ||||
-rw-r--r-- | drivers/usb/host/sl811-hcd.c | 8 |
2 files changed, 11 insertions, 7 deletions
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index e0e0787b724..5f518ded195 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig | |||
@@ -444,6 +444,16 @@ config USB_SL811_HCD | |||
444 | To compile this driver as a module, choose M here: the | 444 | To compile this driver as a module, choose M here: the |
445 | module will be called sl811-hcd. | 445 | module will be called sl811-hcd. |
446 | 446 | ||
447 | config USB_SL811_HCD_ISO | ||
448 | bool "partial ISO support" | ||
449 | depends on USB_SL811_HCD | ||
450 | help | ||
451 | The driver doesn't support iso_frame_desc (yet), but for some simple | ||
452 | devices that just queue one ISO frame per URB, then ISO transfers | ||
453 | "should" work using the normal urb status fields. | ||
454 | |||
455 | If unsure, say N. | ||
456 | |||
447 | config USB_SL811_CS | 457 | config USB_SL811_CS |
448 | tristate "CF/PCMCIA support for SL811HS HCD" | 458 | tristate "CF/PCMCIA support for SL811HS HCD" |
449 | depends on USB_SL811_HCD && PCMCIA | 459 | depends on USB_SL811_HCD && PCMCIA |
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index 18b7099a812..5adcba016fc 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c | |||
@@ -71,12 +71,6 @@ MODULE_ALIAS("platform:sl811-hcd"); | |||
71 | /* for now, use only one transfer register bank */ | 71 | /* for now, use only one transfer register bank */ |
72 | #undef USE_B | 72 | #undef USE_B |
73 | 73 | ||
74 | /* this doesn't understand urb->iso_frame_desc[], but if you had a driver | ||
75 | * that just queued one ISO frame per URB then iso transfers "should" work | ||
76 | * using the normal urb status fields. | ||
77 | */ | ||
78 | #define DISABLE_ISO | ||
79 | |||
80 | // #define QUIRK2 | 74 | // #define QUIRK2 |
81 | #define QUIRK3 | 75 | #define QUIRK3 |
82 | 76 | ||
@@ -807,7 +801,7 @@ static int sl811h_urb_enqueue( | |||
807 | int retval; | 801 | int retval; |
808 | struct usb_host_endpoint *hep = urb->ep; | 802 | struct usb_host_endpoint *hep = urb->ep; |
809 | 803 | ||
810 | #ifdef DISABLE_ISO | 804 | #ifndef CONFIG_USB_SL811_HCD_ISO |
811 | if (type == PIPE_ISOCHRONOUS) | 805 | if (type == PIPE_ISOCHRONOUS) |
812 | return -ENOSPC; | 806 | return -ENOSPC; |
813 | #endif | 807 | #endif |