From 3deac4165ecb6173799893ee259bffff78bd274a Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Wed, 11 May 2011 03:22:53 -0300 Subject: [PATCH] libatrf: new function usb_rescan to force next open_usb to scan tree again - tools/include/usbopen.h (usb_rescan), tools/lib/usbopen.c (initialized, initialize, usb_rescan): usb_rescan forces a re-initialization of libusb and a new scan of the USB device tree --- tools/include/usbopen.h | 1 + tools/lib/usbopen.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/include/usbopen.h b/tools/include/usbopen.h index cc2c919..c7bc763 100644 --- a/tools/include/usbopen.h +++ b/tools/include/usbopen.h @@ -19,6 +19,7 @@ usb_dev_handle *open_usb(uint16_t default_vendor, uint16_t default_product); +void usb_rescan(void); void parse_usb_id(const char *id); void restrict_usb_path(const char *path); void usb_unrestrict(void); diff --git a/tools/lib/usbopen.c b/tools/lib/usbopen.c index 543d078..b807db2 100644 --- a/tools/lib/usbopen.c +++ b/tools/lib/usbopen.c @@ -29,11 +29,11 @@ static uint16_t vendor = 0; static uint16_t product = 0; static const struct usb_device *restricted_path = NULL; +static int initialized = 0; static void initialize(void) { - static int initialized = 0; if (initialized) return; @@ -45,6 +45,12 @@ static void initialize(void) } +void usb_rescan(void) +{ + initialized = 0; +} + + usb_dev_handle *open_usb(uint16_t default_vendor, uint16_t default_product) { const struct usb_bus *bus;