[Midnightbsd-cvs] src [6744] trunk/lib/libusb: sync libusb with freebsd 9.2-release

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Fri Sep 5 00:30:02 EDT 2014


Revision: 6744
          http://svnweb.midnightbsd.org/src/?rev=6744
Author:   laffer1
Date:     2014-09-05 00:30:02 -0400 (Fri, 05 Sep 2014)
Log Message:
-----------
sync libusb with freebsd 9.2-release

Modified Paths:
--------------
    trunk/lib/libusb/libusb20.3
    trunk/lib/libusb/libusb20.c
    trunk/lib/libusb/libusb20.h
    trunk/lib/libusb/libusb20_int.h
    trunk/lib/libusb/libusb20_ugen20.c

Modified: trunk/lib/libusb/libusb20.3
===================================================================
--- trunk/lib/libusb/libusb20.3	2014-09-03 12:19:23 UTC (rev 6743)
+++ trunk/lib/libusb/libusb20.3	2014-09-05 04:30:02 UTC (rev 6744)
@@ -26,7 +26,7 @@
 .\"
 .\" $MidnightBSD$
 .\"
-.Dd October 14, 2010
+.Dd February 14, 2013
 .Dt LIBUSB20 3
 .Os
 .Sh NAME
@@ -148,6 +148,8 @@
 .Fn libusb20_dev_set_power_mode "struct libusb20_device *pdev" "uint8_t power_mode"
 .Ft uint8_t
 .Fn libusb20_dev_get_power_mode "struct libusb20_device *pdev"
+.Ft uint16_t
+.Fn libusb20_dev_get_power_usage "struct libusb20_device *pdev"
 .Ft int
 .Fn libusb20_dev_set_alt_index "struct libusb20_device *pdev" "uint8_t iface_index" "uint8_t alt_index"
 .Ft struct LIBUSB20_DEVICE_DESC_DECODED *
@@ -728,6 +730,12 @@
 .
 .Pp
 .
+.Fn libusb20_dev_get_power_usage
+returns the reported power usage in milliamps for the given USB device.
+A power usage of zero typically means that the device is self powered.
+.
+.Pp
+.
 .Fn libusb20_dev_set_alt_index
 will try to set the given alternate index for the given
 USB interface index.

Modified: trunk/lib/libusb/libusb20.c
===================================================================
--- trunk/lib/libusb/libusb20.c	2014-09-03 12:19:23 UTC (rev 6743)
+++ trunk/lib/libusb/libusb20.c	2014-09-05 04:30:02 UTC (rev 6744)
@@ -1,4 +1,4 @@
-/* $MidnightBSD: src/lib/libusb/libusb20.c,v 1.2.2.1 2013/06/16 00:27:30 laffer1 Exp $ */
+/* $FreeBSD: release/9.2.0/lib/libusb/libusb20.c 247475 2013-02-28 16:56:08Z hselasky $ */
 /*-
  * Copyright (c) 2008-2009 Hans Petter Selasky. All rights reserved.
  *
@@ -71,6 +71,7 @@
 #define	dummy_check_connected (void *)dummy_int
 #define	dummy_set_power_mode (void *)dummy_int
 #define	dummy_get_power_mode (void *)dummy_int
+#define	dummy_get_power_usage (void *)dummy_int
 #define	dummy_kernel_driver_active (void *)dummy_int
 #define	dummy_detach_kernel_driver (void *)dummy_int
 #define	dummy_do_request_sync (void *)dummy_int
@@ -710,6 +711,18 @@
 	return (power_mode);
 }
 
+uint16_t
+libusb20_dev_get_power_usage(struct libusb20_device *pdev)
+{
+	int error;
+	uint16_t power_usage;
+
+	error = pdev->methods->get_power_usage(pdev, &power_usage);
+	if (error)
+		power_usage = 0;
+	return (power_usage);
+}
+
 int
 libusb20_dev_set_alt_index(struct libusb20_device *pdev, uint8_t ifaceIndex, uint8_t altIndex)
 {

Modified: trunk/lib/libusb/libusb20.h
===================================================================
--- trunk/lib/libusb/libusb20.h	2014-09-03 12:19:23 UTC (rev 6743)
+++ trunk/lib/libusb/libusb20.h	2014-09-05 04:30:02 UTC (rev 6744)
@@ -254,6 +254,7 @@
 int	libusb20_dev_check_connected(struct libusb20_device *pdev);
 int	libusb20_dev_set_power_mode(struct libusb20_device *pdev, uint8_t power_mode);
 uint8_t	libusb20_dev_get_power_mode(struct libusb20_device *pdev);
+uint16_t	libusb20_dev_get_power_usage(struct libusb20_device *pdev);
 int	libusb20_dev_set_alt_index(struct libusb20_device *pdev, uint8_t iface_index, uint8_t alt_index);
 int	libusb20_dev_get_info(struct libusb20_device *pdev, struct usb_device_info *pinfo);
 int	libusb20_dev_get_iface_desc(struct libusb20_device *pdev, uint8_t iface_index, char *buf, uint8_t len);

Modified: trunk/lib/libusb/libusb20_int.h
===================================================================
--- trunk/lib/libusb/libusb20_int.h	2014-09-03 12:19:23 UTC (rev 6743)
+++ trunk/lib/libusb/libusb20_int.h	2014-09-05 04:30:02 UTC (rev 6744)
@@ -105,6 +105,7 @@
 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);
+typedef int (libusb20_get_power_usage_t)(struct libusb20_device *pdev, uint16_t *power_usage);
 typedef int (libusb20_set_alt_index_t)(struct libusb20_device *pdev, uint8_t iface_index, uint8_t alt_index);
 typedef int (libusb20_set_config_index_t)(struct libusb20_device *pdev, uint8_t index);
 typedef int (libusb20_check_connected_t)(struct libusb20_device *pdev);
@@ -127,6 +128,7 @@
   m(n, check_connected) \
   m(n, set_power_mode) \
   m(n, get_power_mode) \
+  m(n, get_power_usage) \
   m(n, set_alt_index) \
   m(n, set_config_index) \
   m(n, tr_cancel_async) \

Modified: trunk/lib/libusb/libusb20_ugen20.c
===================================================================
--- trunk/lib/libusb/libusb20_ugen20.c	2014-09-03 12:19:23 UTC (rev 6743)
+++ trunk/lib/libusb/libusb20_ugen20.c	2014-09-05 04:30:02 UTC (rev 6744)
@@ -1,4 +1,4 @@
-/* $MidnightBSD: src/lib/libusb/libusb20_ugen20.c,v 1.2.2.1 2013/06/16 00:27:30 laffer1 Exp $ */
+/* $MidnightBSD$ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *
@@ -69,6 +69,7 @@
 static libusb20_check_connected_t ugen20_check_connected;
 static libusb20_set_power_mode_t ugen20_set_power_mode;
 static libusb20_get_power_mode_t ugen20_get_power_mode;
+static libusb20_get_power_usage_t ugen20_get_power_usage;
 static libusb20_kernel_driver_active_t ugen20_kernel_driver_active;
 static libusb20_detach_kernel_driver_t ugen20_detach_kernel_driver;
 static libusb20_do_request_sync_t ugen20_do_request_sync;
@@ -639,6 +640,18 @@
 }
 
 static int
+ugen20_get_power_usage(struct libusb20_device *pdev, uint16_t *power_usage)
+{
+	int temp;
+
+	if (ioctl(pdev->file_ctrl, USB_GET_POWER_USAGE, &temp)) {
+		return (LIBUSB20_ERROR_OTHER);
+	}
+	*power_usage = temp;
+	return (0);			/* success */
+}
+
+static int
 ugen20_kernel_driver_active(struct libusb20_device *pdev,
     uint8_t iface_index)
 {



More information about the Midnightbsd-cvs mailing list