From owner-svn-src-all@FreeBSD.ORG Fri Jun 12 16:07:06 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC383106566C; Fri, 12 Jun 2009 16:07:06 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA3708FC28; Fri, 12 Jun 2009 16:07:06 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5CG76tk086626; Fri, 12 Jun 2009 16:07:06 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5CG760v086620; Fri, 12 Jun 2009 16:07:06 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <200906121607.n5CG760v086620@svn.freebsd.org> From: Andrew Thompson Date: Fri, 12 Jun 2009 16:07:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r194069 - head/lib/libusb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jun 2009 16:07:07 -0000 Author: thompsa Date: Fri Jun 12 16:07:06 2009 New Revision: 194069 URL: http://svn.freebsd.org/changeset/base/194069 Log: Cleanup claim/release interface code, which is specific to libusb v0.1. Remove claim and release interface support from libusb v2.0, because it is not useful. Submitted by: Hans Petter Selasky Modified: head/lib/libusb/libusb.3 head/lib/libusb/libusb20.c head/lib/libusb/libusb20.h head/lib/libusb/libusb20_compat01.c head/lib/libusb/libusb20_int.h head/lib/libusb/libusb20_ugen20.c Modified: head/lib/libusb/libusb.3 ============================================================================== --- head/lib/libusb/libusb.3 Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb.3 Fri Jun 12 16:07:06 2009 (r194069) @@ -117,8 +117,6 @@ USB access library (libusb -lusb) .Ft const char * .Fn libusb20_dev_get_desc "struct libusb20_device *pdev" .Ft int -.Fn libusb20_dev_claim_interface "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int .Fn libusb20_dev_close "struct libusb20_device *pdev" .Ft int .Fn libusb20_dev_detach_kernel_driver "struct libusb20_device *pdev" "uint8_t iface_index" @@ -135,8 +133,6 @@ USB access library (libusb -lusb) .Ft int .Fn libusb20_dev_process "struct libusb20_device *pdev" .Ft int -.Fn libusb20_dev_release_interface "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int .Fn libusb20_dev_request_sync "struct libusb20_device *pdev" "struct LIBUSB20_CONTROL_SETUP_DECODED *setup" "void *data" "uint16_t *pactlen" "uint32_t timeout" "uint8_t flags" .Ft int .Fn libusb20_dev_req_string_sync "struct libusb20_device *pdev" "uint8_t index" "uint16_t langid" "void *ptr" "uint16_t len" @@ -517,14 +513,6 @@ The format of the string is: "drivername . .Pp . -.Fn libusb20_dev_claim_interface -This function will try to claim the given USB interface given by -.Fa iface_index . -This function returns zero on success else a LIBUSB20_ERROR value is -returned. -. -.Pp -. .Fn libusb20_dev_close will close the given USB device. . @@ -601,14 +589,6 @@ detached. . .Pp . -.Fn libusb20_dev_release_interface -will try to release a claimed USB interface for the specified USB device. -. -This function returns zero on success else a LIBUSB20_ERROR value is -returned. -. -.Pp -. .Fn libusb20_dev_request_sync will perform a synchronous control request on the given USB device. Modified: head/lib/libusb/libusb20.c ============================================================================== --- head/lib/libusb/libusb20.c Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb20.c Fri Jun 12 16:07:06 2009 (r194069) @@ -65,8 +65,6 @@ dummy_callback(struct libusb20_transfer #define dummy_get_config_desc_full (void *)dummy_int #define dummy_get_config_index (void *)dummy_int #define dummy_set_config_index (void *)dummy_int -#define dummy_claim_interface (void *)dummy_int -#define dummy_release_interface (void *)dummy_int #define dummy_set_alt_index (void *)dummy_int #define dummy_reset_device (void *)dummy_int #define dummy_set_power_mode (void *)dummy_int @@ -451,24 +449,6 @@ libusb20_tr_start(struct libusb20_transf /* USB device operations */ int -libusb20_dev_claim_interface(struct libusb20_device *pdev, uint8_t ifaceIndex) -{ - int error; - - if (ifaceIndex >= 32) { - error = LIBUSB20_ERROR_INVALID_PARAM; - } else if (pdev->claimed_interfaces & (1 << ifaceIndex)) { - error = LIBUSB20_ERROR_NOT_FOUND; - } else { - error = pdev->methods->claim_interface(pdev, ifaceIndex); - } - if (!error) { - pdev->claimed_interfaces |= (1 << ifaceIndex); - } - return (error); -} - -int libusb20_dev_close(struct libusb20_device *pdev) { struct libusb20_transfer *xfer; @@ -494,7 +474,11 @@ libusb20_dev_close(struct libusb20_devic pdev->is_opened = 0; - pdev->claimed_interfaces = 0; + /* + * The following variable is only used by the libusb v0.1 + * compat layer: + */ + pdev->claimed_interface = 0; return (error); } @@ -580,24 +564,6 @@ libusb20_dev_open(struct libusb20_device } int -libusb20_dev_release_interface(struct libusb20_device *pdev, uint8_t ifaceIndex) -{ - int error; - - if (ifaceIndex >= 32) { - error = LIBUSB20_ERROR_INVALID_PARAM; - } else if (!(pdev->claimed_interfaces & (1 << ifaceIndex))) { - error = LIBUSB20_ERROR_NOT_FOUND; - } else { - error = pdev->methods->release_interface(pdev, ifaceIndex); - } - if (!error) { - pdev->claimed_interfaces &= ~(1 << ifaceIndex); - } - return (error); -} - -int libusb20_dev_reset(struct libusb20_device *pdev) { int error; Modified: head/lib/libusb/libusb20.h ============================================================================== --- head/lib/libusb/libusb20.h Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb20.h Fri Jun 12 16:07:06 2009 (r194069) @@ -237,7 +237,6 @@ void *libusb20_tr_get_priv_sc1(struct const char *libusb20_dev_get_backend_name(struct libusb20_device *pdev); const char *libusb20_dev_get_desc(struct libusb20_device *pdev); -int libusb20_dev_claim_interface(struct libusb20_device *pdev, uint8_t iface_index); int libusb20_dev_close(struct libusb20_device *pdev); int libusb20_dev_detach_kernel_driver(struct libusb20_device *pdev, uint8_t iface_index); int libusb20_dev_set_config_index(struct libusb20_device *pdev, uint8_t configIndex); @@ -246,7 +245,6 @@ int libusb20_dev_get_fd(struct libusb20_ int libusb20_dev_kernel_driver_active(struct libusb20_device *pdev, uint8_t iface_index); int libusb20_dev_open(struct libusb20_device *pdev, uint16_t transfer_max); int libusb20_dev_process(struct libusb20_device *pdev); -int libusb20_dev_release_interface(struct libusb20_device *pdev, uint8_t iface_index); int libusb20_dev_request_sync(struct libusb20_device *pdev, struct LIBUSB20_CONTROL_SETUP_DECODED *setup, void *data, uint16_t *pactlen, uint32_t timeout, uint8_t flags); int libusb20_dev_req_string_sync(struct libusb20_device *pdev, uint8_t index, uint16_t langid, void *ptr, uint16_t len); int libusb20_dev_req_string_simple_sync(struct libusb20_device *pdev, uint8_t index, void *ptr, uint16_t len); Modified: head/lib/libusb/libusb20_compat01.c ============================================================================== --- head/lib/libusb/libusb20_compat01.c Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb20_compat01.c Fri Jun 12 16:07:06 2009 (r194069) @@ -99,26 +99,6 @@ struct usb_parse_state { uint8_t preparse; }; -static uint8_t -usb_get_first_claimed_interface(usb_dev_handle * dev) -{ - struct libusb20_device *pdev = (void *)dev; - uint32_t x; - uint8_t y; - - x = pdev->claimed_interfaces; - - for (y = 0; y != 32; y++) { - if (x & (1 << y)) - break; - } - - if (y == 32) - y = 0xFF; /* dummy */ - - return (y); -} - static struct libusb20_transfer * usb_get_transfer_by_ep_no(usb_dev_handle * dev, uint8_t ep_no) { @@ -746,12 +726,9 @@ usb_set_configuration(usb_dev_handle * u int usb_claim_interface(usb_dev_handle * dev, int interface) { - int err; - - err = libusb20_dev_claim_interface((void *)dev, interface); + struct libusb20_device *pdev = (void *)dev; - if (err) - return (-1); + pdev->claimed_interface = interface; return (0); } @@ -759,23 +736,18 @@ usb_claim_interface(usb_dev_handle * dev int usb_release_interface(usb_dev_handle * dev, int interface) { - int err; - - err = libusb20_dev_release_interface((void *)dev, interface); - - if (err) - return (-1); - + /* do nothing */ return (0); } int usb_set_altinterface(usb_dev_handle * dev, int alternate) { + struct libusb20_device *pdev = (void *)dev; int err; uint8_t iface; - iface = usb_get_first_claimed_interface(dev); + iface = pdev->claimed_interface; err = libusb20_dev_set_alt_index((void *)dev, iface, alternate); Modified: head/lib/libusb/libusb20_int.h ============================================================================== --- head/lib/libusb/libusb20_int.h Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb20_int.h Fri Jun 12 16:07:06 2009 (r194069) @@ -90,14 +90,12 @@ typedef int (libusb20_dummy_int_t)(void) typedef void (libusb20_dummy_void_t)(void); /* USB device specific */ -typedef int (libusb20_claim_interface_t)(struct libusb20_device *pdev, uint8_t iface_index); typedef int (libusb20_detach_kernel_driver_t)(struct libusb20_device *pdev, uint8_t iface_index); typedef int (libusb20_do_request_sync_t)(struct libusb20_device *pdev, struct LIBUSB20_CONTROL_SETUP_DECODED *setup, void *data, uint16_t *pactlen, uint32_t timeout, uint8_t flags); typedef int (libusb20_get_config_desc_full_t)(struct libusb20_device *pdev, uint8_t **ppbuf, uint16_t *plen, uint8_t index); typedef int (libusb20_get_config_index_t)(struct libusb20_device *pdev, uint8_t *pindex); typedef int (libusb20_kernel_driver_active_t)(struct libusb20_device *pdev, uint8_t iface_index); typedef int (libusb20_process_t)(struct libusb20_device *pdev); -typedef int (libusb20_release_interface_t)(struct libusb20_device *pdev, uint8_t iface_index); typedef int (libusb20_reset_device_t)(struct libusb20_device *pdev); typedef int (libusb20_set_power_mode_t)(struct libusb20_device *pdev, uint8_t power_mode); typedef int (libusb20_get_power_mode_t)(struct libusb20_device *pdev, uint8_t *power_mode); @@ -112,14 +110,12 @@ typedef void (libusb20_tr_submit_t)(stru typedef void (libusb20_tr_cancel_async_t)(struct libusb20_transfer *xfer); #define LIBUSB20_DEVICE(m,n) \ - m(n, claim_interface) \ m(n, detach_kernel_driver) \ m(n, do_request_sync) \ m(n, get_config_desc_full) \ m(n, get_config_index) \ m(n, kernel_driver_active) \ m(n, process) \ - m(n, release_interface) \ m(n, reset_device) \ m(n, set_power_mode) \ m(n, get_power_mode) \ @@ -198,8 +194,8 @@ struct libusb20_device { /* libUSB v0.1 compat data */ void *priv01Data; - /* claimed interfaces */ - uint32_t claimed_interfaces; + /* claimed interface */ + uint8_t claimed_interface; /* device file handle */ int file; Modified: head/lib/libusb/libusb20_ugen20.c ============================================================================== --- head/lib/libusb/libusb20_ugen20.c Fri Jun 12 16:04:32 2009 (r194068) +++ head/lib/libusb/libusb20_ugen20.c Fri Jun 12 16:07:06 2009 (r194069) @@ -67,8 +67,6 @@ const struct libusb20_backend_methods li static libusb20_get_config_desc_full_t ugen20_get_config_desc_full; static libusb20_get_config_index_t ugen20_get_config_index; static libusb20_set_config_index_t ugen20_set_config_index; -static libusb20_claim_interface_t ugen20_claim_interface; -static libusb20_release_interface_t ugen20_release_interface; static libusb20_set_alt_index_t ugen20_set_alt_index; static libusb20_reset_device_t ugen20_reset_device; static libusb20_set_power_mode_t ugen20_set_power_mode; @@ -517,28 +515,6 @@ ugen20_set_config_index(struct libusb20_ } static int -ugen20_claim_interface(struct libusb20_device *pdev, uint8_t iface_index) -{ - int temp = iface_index; - - if (ioctl(pdev->file_ctrl, USB_CLAIM_INTERFACE, &temp)) { - return (LIBUSB20_ERROR_OTHER); - } - return (0); -} - -static int -ugen20_release_interface(struct libusb20_device *pdev, uint8_t iface_index) -{ - int temp = iface_index; - - if (ioctl(pdev->file_ctrl, USB_RELEASE_INTERFACE, &temp)) { - return (LIBUSB20_ERROR_OTHER); - } - return (0); -} - -static int ugen20_set_alt_index(struct libusb20_device *pdev, uint8_t iface_index, uint8_t alt_index) {