diff options
author | Sebastian Reichel <sre@ring0.de> | 2016-01-11 08:41:58 +0100 |
---|---|---|
committer | Pali Rohár <pali.rohar@gmail.com> | 2016-01-23 16:06:12 +0100 |
commit | d5028a12ca539638a6ae5d923e7dba0e4f30a45a (patch) | |
tree | 5ceb547c5141d09a8ac8e2523c73ea1be5bcbe37 /src/disk.c | |
parent | 6482e4d2b7a2cb641b7d9461db11d3b0578f8e70 (diff) | |
download | 0xFFFF-d5028a12ca539638a6ae5d923e7dba0e4f30a45a.tar.bz2 |
all: Switch to libusb-1.0
libusb 0.1 is deprecated. This updates 0xFFFF to use the
newer libusb 1.0 API instead.
Diffstat (limited to 'src/disk.c')
-rw-r--r-- | src/disk.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -277,14 +277,20 @@ int disk_init(struct usb_device_info * dev) { unsigned int devnum; unsigned int busnum; - struct usb_device * device; + uint8_t usbdevnum; + uint8_t usbbusnum; - device = usb_device(dev->udev); - if ( ! device || ! device->bus ) { + struct libusb_device * device; + + device = libusb_get_device(dev->udev); + if ( ! device ) { ERROR_INFO("Cannot read usb devnum and busnum"); return -1; } + usbbusnum = libusb_get_bus_number(device); + usbdevnum = libusb_get_port_number(device); + dir = opendir("/sys/dev/block/"); if ( ! dir ) { ERROR_INFO("Cannot open '/sys/dev/block/' directory"); @@ -324,7 +330,7 @@ int disk_init(struct usb_device_info * dev) { fclose(f); - if ( devnum != device->devnum || device->bus->location != busnum ) + if ( devnum != usbdevnum || usbbusnum != busnum ) continue; if ( sscanf(dirent->d_name, "%d:%d", &maj, &min) != 2 ) { |