aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-03-22 15:35:39 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-13 19:26:12 -0400
commitad7c56f07e24c758d78e797ceeb9cf049dec66aa (patch)
tree5478576109d29f9f7519edffefde2204c3aeeea0
parentee81b3e086c907a3347b15ef219a24fc8bf900f6 (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/Kconfig10
-rw-r--r--drivers/usb/host/sl811-hcd.c8
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
447config 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
447config USB_SL811_CS 457config 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