summaryrefslogtreecommitdiffstats
path: root/src/disk.c
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2016-01-11 08:41:58 +0100
committerPali Rohár <pali.rohar@gmail.com>2016-01-23 16:06:12 +0100
commitd5028a12ca539638a6ae5d923e7dba0e4f30a45a (patch)
tree5ceb547c5141d09a8ac8e2523c73ea1be5bcbe37 /src/disk.c
parent6482e4d2b7a2cb641b7d9461db11d3b0578f8e70 (diff)
download0xFFFF-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.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/disk.c b/src/disk.c
index daa3711..5988305 100644
--- a/src/disk.c
+++ b/src/disk.c
@@ -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 ) {