From owner-p4-projects@FreeBSD.ORG Sat May 9 09:35:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD4D5106567A; Sat, 9 May 2009 09:35:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8772B106566C for ; Sat, 9 May 2009 09:35:07 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7598E8FC18 for ; Sat, 9 May 2009 09:35:07 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n499Z7Rs026619 for ; Sat, 9 May 2009 09:35:07 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n499Z7Tx026617 for perforce@freebsd.org; Sat, 9 May 2009 09:35:07 GMT (envelope-from syl@FreeBSD.org) Date: Sat, 9 May 2009 09:35:07 GMT Message-Id: <200905090935.n499Z7Tx026617@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 161825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 May 2009 09:35:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=161825 Change 161825 by syl@syl_atuin on 2009/05/09 09:34:37 - Implement libusb_kernel_driver_active. - Add some style change. - Return INVALID_PARAMETERS instead of NO_MEM on null parameters. - Rename all device_handle to devh. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#6 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#8 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#6 (text+ko) ==== @@ -158,13 +158,17 @@ * open_with_pid_vid use some node of list after the free_device_list. */ void -libusb_free_device_list(libusb_device ** list, int unref_devices) +libusb_free_device_list(libusb_device **list, int unref_devices) { int i; + if (list == NULL) + return (NULL); + for (i = 0; list[i] != NULL; i++) { libusb_unref_device(list[i]); } + free(list); return; } @@ -172,7 +176,7 @@ uint8_t libusb_get_bus_number(libusb_device * dev) { - if (!dev) + if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); return (dev->bus_number); } @@ -180,7 +184,7 @@ uint8_t libusb_get_device_address(libusb_device * dev) { - if (!dev) + if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); return (dev->device_address); } @@ -194,6 +198,9 @@ struct libusb_endpoint_descriptor *pdend; int i, j, k, ret; + if (dev == NULL) + return (LIBUSB_ERROR_NO_DEVICE); + if (libusb_get_active_config_descriptor(dev, &pdconf) < 0) return (LIBUSB_ERROR_OTHER); @@ -220,22 +227,26 @@ libusb_device * libusb_ref_device(libusb_device * dev) { - if (!dev) + if (dev == NULL) return (NULL); + pthread_mutex_lock(&dev->lock); dev->refcnt++; pthread_mutex_unlock(&dev->lock); + return (dev); } void libusb_unref_device(libusb_device * dev) { - if (!dev) + if (dev == NULL) return; + pthread_mutex_lock(&dev->lock); dev->refcnt--; pthread_mutex_unlock(&dev->lock); + if (dev->refcnt == 0) { libusb20_dev_free(dev->os_priv); free(dev); @@ -243,14 +254,14 @@ } int -libusb_open(libusb_device * dev, libusb_device_handle ** handle) +libusb_open(libusb_device * dev, libusb_device_handle **devh) { libusb_context *ctx = dev->ctx; struct libusb20_device *pdev = dev->os_priv; libusb_device_handle *hdl; int err; - if (handle == NULL) + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); hdl = malloc(sizeof(*hdl)); @@ -273,7 +284,7 @@ LIST_ADD(&hdl->list, &ctx->open_devs); pthread_mutex_unlock(&ctx->open_devs_lock); - *handle = hdl; + *devh = hdl; /* * XXX Some poll things to implement. @@ -325,20 +336,23 @@ } libusb_device * -libusb_get_device(libusb_device_handle * dev_handle) +libusb_get_device(libusb_device_handle * devh) { - if (!dev_handle) + if (devh == NULL) return (NULL); - return (dev_handle->dev); + + return (devh->dev); } int libusb_get_configuration(libusb_device_handle * devh, int *config) { - if (!devh) + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); + *config = libusb20_dev_get_config_index((struct libusb20_device *) devh->dev->os_priv); + return (0); } @@ -348,7 +362,7 @@ { struct libusb20_device *pdev; - if (!devh) + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); pdev = (struct libusb20_device *)devh->dev->os_priv; @@ -364,7 +378,7 @@ int ret = 0; if (interface_number >= sizeof(dev->claimed_interfaces) * 8) - return LIBUSB_ERROR_INVALID_PARAM; + return (LIBUSB_ERROR_INVALID_PARAM); pthread_mutex_lock(&(dev->lock)); if (dev->claimed_interfaces & (1 << interface_number)) @@ -383,7 +397,7 @@ int ret; if (interface_number >= sizeof(dev->claimed_interfaces) * 8) - return LIBUSB_ERROR_INVALID_PARAM; + return (LIBUSB_ERROR_INVALID_PARAM); pthread_mutex_lock(&(dev->lock)); if (!(dev->claimed_interfaces & (1 << interface_number))) @@ -413,7 +427,7 @@ libusb_reset_device(libusb_device_handle * dev) { if (dev == NULL) - return (LIBUSB20_ERROR_NO_MEM); + return (LIBUSB20_ERROR_INVALID_PARAM); libusb20_dev_reset(dev->os_priv); return (0); @@ -422,10 +436,10 @@ int libusb_kernel_driver_active(libusb_device_handle * devh, int interface) { - if (!devh) + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); - return (0); + return (libusb20_dev_kernel_driver_active(devh->os_priv, interface)); } int @@ -433,7 +447,7 @@ { struct libusb20_device *pdev; - if (!devh) + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); pdev = (struct libusb20_device *)devh->dev->os_priv; @@ -447,6 +461,8 @@ int libusb_attach_kernel_driver(libusb_device_handle * devh, int interface) { + if (devh == NULL) + return (LIBUSB_ERROR_INVALID_PARAM); return (0); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#8 (text+ko) ==== @@ -43,7 +43,7 @@ struct libusb20_device *pdev; if ((dev == NULL) || (desc == NULL)) - return (LIBUSB_ERROR_NO_MEM); + return (LIBUSB_ERROR_INVALID_PARAM); pdev = dev->os_priv; pdesc = libusb20_dev_get_device_desc(pdev); @@ -95,7 +95,7 @@ uint8_t nif, nend, nalt, i, j; if (dev == NULL || config == NULL) - return (LIBUSB_ERROR_NO_MEM); + return (LIBUSB_ERROR_INVALID_PARAM); pdev = dev->os_priv; pconf = libusb20_dev_alloc_config(pdev, config_index); @@ -188,7 +188,7 @@ int i; if (dev == NULL || config == NULL) - return (LIBUSB_ERROR_NO_MEM); + return (LIBUSB_ERROR_INVALID_PARAM); pdev = dev->os_priv; pdesc = libusb20_dev_get_device_desc(pdev); @@ -220,7 +220,7 @@ int ret; if (dev == NULL || data == NULL) - return (LIBUSB20_ERROR_NO_MEM); + return (LIBUSB20_ERROR_INVALID_PARAM); pdev = dev->os_priv; if (libusb20_dev_req_string_simple_sync(pdev, desc_index,