summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Dickens <christopher.a.dickens@gmail.com>2020-01-22 16:59:25 -0800
committerChris Dickens <christopher.a.dickens@gmail.com>2020-01-24 11:21:36 -0800
commit5c7ddb5ddf1fe1d9f8c68e7deefe3bd53e1e3e8c (patch)
tree15dc34f45c1414e9a658775868090a7eb67cb1b9
parentaaff15d48d1b8555aabf012b06bf39bf8aa4768a (diff)
downloadlibusb-5c7ddb5ddf1fe1d9f8c68e7deefe3bd53e1e3e8c.tar.gz
Misc: Cleanup across multiple backends
Remove the clear_transfer_priv() function from all backends besides Linux. This function is only needed if the backend calls usbi_handle_disconnect(), which only Linux does. Remove the {attach,detach}_kernel_driver() functions from the Darwin backend. They return LIBUSB_ERROR_NOT_SUPPORTED, but the same result is achieved by having those functions be NULL. Remove the init() and exit() functions from the SunOS backend. They are optional and as no-ops are pointless. Remove NULL and 0 initializers from usbi_backend structures. Use named initializers in the NetBSD backend. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
-rw-r--r--libusb/os/darwin_usb.c27
-rw-r--r--libusb/os/haiku_usb_raw.cpp36
-rw-r--r--libusb/os/linux_usbfs.c1
-rw-r--r--libusb/os/netbsd_usb.c89
-rw-r--r--libusb/os/null_usb.c36
-rw-r--r--libusb/os/openbsd_usb.c11
-rw-r--r--libusb/os/sunos_usb.c27
-rw-r--r--libusb/os/windows_common.c8
-rw-r--r--libusb/version_nano.h2
9 files changed, 36 insertions, 201 deletions
diff --git a/libusb/os/darwin_usb.c b/libusb/os/darwin_usb.c
index 75ab2be..805ec07 100644
--- a/libusb/os/darwin_usb.c
+++ b/libusb/os/darwin_usb.c
@@ -1715,19 +1715,6 @@ static int darwin_kernel_driver_active(struct libusb_device_handle *dev_handle,
return 0;
}
-/* attaching/detaching kernel drivers is not currently supported (maybe in the future?) */
-static int darwin_attach_kernel_driver (struct libusb_device_handle *dev_handle, int interface) {
- UNUSED(dev_handle);
- UNUSED(interface);
- return LIBUSB_ERROR_NOT_SUPPORTED;
-}
-
-static int darwin_detach_kernel_driver (struct libusb_device_handle *dev_handle, int interface) {
- UNUSED(dev_handle);
- UNUSED(interface);
- return LIBUSB_ERROR_NOT_SUPPORTED;
-}
-
static void darwin_destroy_device(struct libusb_device *dev) {
struct darwin_device_priv *dpriv = (struct darwin_device_priv *) dev->os_priv;
@@ -2058,16 +2045,6 @@ static int darwin_cancel_transfer(struct usbi_transfer *itransfer) {
}
}
-static void darwin_clear_transfer_priv (struct usbi_transfer *itransfer) {
- struct libusb_transfer *transfer = USBI_TRANSFER_TO_LIBUSB_TRANSFER(itransfer);
- struct darwin_transfer_priv *tpriv = usbi_transfer_get_os_priv(itransfer);
-
- if (transfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS && tpriv->isoc_framelist) {
- free (tpriv->isoc_framelist);
- tpriv->isoc_framelist = NULL;
- }
-}
-
static void darwin_async_io_callback (void *refcon, IOReturn result, void *arg0) {
struct usbi_transfer *itransfer = (struct usbi_transfer *)refcon;
struct libusb_transfer *transfer = USBI_TRANSFER_TO_LIBUSB_TRANSFER(itransfer);
@@ -2252,7 +2229,6 @@ const struct usbi_os_backend usbi_backend = {
.caps = 0,
.init = darwin_init,
.exit = darwin_exit,
- .get_device_list = NULL, /* not needed */
.get_device_descriptor = darwin_get_device_descriptor,
.get_active_config_descriptor = darwin_get_active_config_descriptor,
.get_config_descriptor = darwin_get_config_descriptor,
@@ -2275,14 +2251,11 @@ const struct usbi_os_backend usbi_backend = {
#endif
.kernel_driver_active = darwin_kernel_driver_active,
- .detach_kernel_driver = darwin_detach_kernel_driver,
- .attach_kernel_driver = darwin_attach_kernel_driver,
.destroy_device = darwin_destroy_device,
.submit_transfer = darwin_submit_transfer,
.cancel_transfer = darwin_cancel_transfer,
- .clear_transfer_priv = darwin_clear_transfer_priv,
.handle_transfer_completion = darwin_handle_transfer_completion,
diff --git a/libusb/os/haiku_usb_raw.cpp b/libusb/os/haiku_usb_raw.cpp
index 67b270d..82cf088 100644
--- a/libusb/os/haiku_usb_raw.cpp
+++ b/libusb/os/haiku_usb_raw.cpp
@@ -165,14 +165,6 @@ haiku_cancel_transfer(struct usbi_transfer *itransfer)
return fDeviceHandle->CancelTransfer(*((USBTransfer **)usbi_transfer_get_os_priv(itransfer)));
}
-static void
-haiku_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
- USBTransfer *transfer = *((USBTransfer **)usbi_transfer_get_os_priv(itransfer));
- delete transfer;
- *((USBTransfer **)usbi_transfer_get_os_priv(itransfer)) = NULL;
-}
-
static int
haiku_handle_transfer_completion(struct usbi_transfer *itransfer)
{
@@ -214,20 +206,15 @@ const struct usbi_os_backend usbi_backend = {
.caps = 0,
.init = haiku_init,
.exit = haiku_exit,
- .set_option = NULL,
- .get_device_list = NULL,
- .hotplug_poll = NULL,
- .wrap_sys_device = NULL,
.open = haiku_open,
.close = haiku_close,
+
.get_device_descriptor = haiku_get_device_descriptor,
.get_active_config_descriptor = haiku_get_active_config_descriptor,
.get_config_descriptor = haiku_get_config_descriptor,
- .get_config_descriptor_by_value = NULL,
-
- .get_configuration = NULL,
.set_configuration = haiku_set_configuration,
+
.claim_interface = haiku_claim_interface,
.release_interface = haiku_release_interface,
@@ -235,32 +222,13 @@ const struct usbi_os_backend usbi_backend = {
.clear_halt = haiku_clear_halt,
.reset_device = haiku_reset_device,
- .alloc_streams = NULL,
- .free_streams = NULL,
-
- .dev_mem_alloc = NULL,
- .dev_mem_free = NULL,
-
- .kernel_driver_active = NULL,
- .detach_kernel_driver = NULL,
- .attach_kernel_driver = NULL,
-
- .destroy_device = NULL,
-
.submit_transfer = haiku_submit_transfer,
.cancel_transfer = haiku_cancel_transfer,
- .clear_transfer_priv = haiku_clear_transfer_priv,
- .handle_events = NULL,
.handle_transfer_completion = haiku_handle_transfer_completion,
.clock_gettime = haiku_clock_gettime,
-#ifdef USBI_TIMERFD_AVAILABLE
- .get_timerfd_clockid = NULL,
-#endif
-
- .context_priv_size = 0,
.device_priv_size = sizeof(USBDevice *),
.device_handle_priv_size = sizeof(USBDeviceHandle *),
.transfer_priv_size = sizeof(USBTransfer *),
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index f16907b..1b73fde 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -2852,7 +2852,6 @@ const struct usbi_os_backend usbi_backend = {
.caps = USBI_CAP_HAS_HID_ACCESS|USBI_CAP_SUPPORTS_DETACH_KERNEL_DRIVER,
.init = op_init,
.exit = op_exit,
- .get_device_list = NULL,
.hotplug_poll = op_hotplug_poll,
.get_device_descriptor = op_get_device_descriptor,
.get_active_config_descriptor = op_get_active_config_descriptor,
diff --git a/libusb/os/netbsd_usb.c b/libusb/os/netbsd_usb.c
index 79aeca9..16e07f2 100644
--- a/libusb/os/netbsd_usb.c
+++ b/libusb/os/netbsd_usb.c
@@ -73,7 +73,6 @@ static void netbsd_destroy_device(struct libusb_device *);
static int netbsd_submit_transfer(struct usbi_transfer *);
static int netbsd_cancel_transfer(struct usbi_transfer *);
-static void netbsd_clear_transfer_priv(struct usbi_transfer *);
static int netbsd_handle_transfer_completion(struct usbi_transfer *);
static int netbsd_clock_gettime(int, struct timespec *);
@@ -87,55 +86,37 @@ static int _sync_gen_transfer(struct usbi_transfer *);
static int _access_endpoint(struct libusb_transfer *);
const struct usbi_os_backend usbi_backend = {
- "Synchronous NetBSD backend",
- 0,
- NULL, /* init() */
- NULL, /* exit() */
- NULL, /* set_option() */
- netbsd_get_device_list,
- NULL, /* hotplug_poll */
- netbsd_open,
- netbsd_close,
-
- netbsd_get_device_descriptor,
- netbsd_get_active_config_descriptor,
- netbsd_get_config_descriptor,
- NULL, /* get_config_descriptor_by_value() */
-
- netbsd_get_configuration,
- netbsd_set_configuration,
-
- netbsd_claim_interface,
- netbsd_release_interface,
-
- netbsd_set_interface_altsetting,
- netbsd_clear_halt,
- netbsd_reset_device,
-
- NULL, /* alloc_streams */
- NULL, /* free_streams */
-
- NULL, /* dev_mem_alloc() */
- NULL, /* dev_mem_free() */
-
- NULL, /* kernel_driver_active() */
- NULL, /* detach_kernel_driver() */
- NULL, /* attach_kernel_driver() */
-
- netbsd_destroy_device,
-
- netbsd_submit_transfer,
- netbsd_cancel_transfer,
- netbsd_clear_transfer_priv,
-
- NULL, /* handle_events() */
- netbsd_handle_transfer_completion,
-
- netbsd_clock_gettime,
- 0, /* context_priv_size */
- sizeof(struct device_priv),
- sizeof(struct handle_priv),
- 0, /* transfer_priv_size */
+ .name = "Synchronous NetBSD backend",
+ .caps = 0,
+ .get_device_list = netbsd_get_device_list,
+ .open = netbsd_open,
+ .close = netbsd_close,
+
+ .get_device_descriptor = netbsd_get_device_descriptor,
+ .get_active_config_descriptor = netbsd_get_active_config_descriptor,
+ .get_config_descriptor = netbsd_get_config_descriptor,
+
+ .get_configuration = netbsd_get_configuration,
+ .set_configuration = netbsd_set_configuration,
+
+ .claim_interface = netbsd_claim_interface,
+ .release_interface = netbsd_release_interface,
+
+ .set_interface_altsetting = netbsd_set_interface_altsetting,
+ .clear_halt = netbsd_clear_halt,
+ .reset_device = netbsd_reset_device,
+
+ .destroy_device = netbsd_destroy_device,
+
+ .submit_transfer = netbsd_submit_transfer,
+ .cancel_transfer = netbsd_cancel_transfer,
+
+ .handle_transfer_completion = netbsd_handle_transfer_completion,
+
+ .clock_gettime = netbsd_clock_gettime,
+
+ .device_priv_size = sizeof(struct device_priv),
+ .device_handle_priv_size = sizeof(struct handle_priv),
};
int
@@ -481,14 +462,6 @@ netbsd_cancel_transfer(struct usbi_transfer *itransfer)
return (LIBUSB_ERROR_NOT_SUPPORTED);
}
-void
-netbsd_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
- usbi_dbg("");
-
- /* Nothing to do */
-}
-
int
netbsd_handle_transfer_completion(struct usbi_transfer *itransfer)
{
diff --git a/libusb/os/null_usb.c b/libusb/os/null_usb.c
index 97fa0b8..c050322 100644
--- a/libusb/os/null_usb.c
+++ b/libusb/os/null_usb.c
@@ -106,17 +106,6 @@ null_cancel_transfer(struct usbi_transfer *itransfer)
return LIBUSB_ERROR_NOT_SUPPORTED;
}
-static void
-null_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
-}
-
-static int
-null_handle_transfer_completion(struct usbi_transfer *itransfer)
-{
- return LIBUSB_ERROR_NOT_SUPPORTED;
-}
-
static int
null_clock_gettime(int clkid, struct timespec *tp)
{
@@ -133,44 +122,19 @@ null_clock_gettime(int clkid, struct timespec *tp)
const struct usbi_os_backend usbi_backend = {
.name = "Null backend",
.caps = 0,
- .init = NULL,
- .exit = NULL,
- .set_option = NULL,
.get_device_list = null_get_device_list,
- .hotplug_poll = NULL,
- .wrap_sys_device = NULL,
.open = null_open,
.close = null_close,
.get_device_descriptor = null_get_device_descriptor,
.get_active_config_descriptor = null_get_active_config_descriptor,
.get_config_descriptor = null_get_config_descriptor,
- .get_config_descriptor_by_value = NULL,
- .get_configuration = NULL,
.set_configuration = null_set_configuration,
.claim_interface = null_claim_interface,
.release_interface = null_release_interface,
.set_interface_altsetting = null_set_interface_altsetting,
.clear_halt = null_clear_halt,
.reset_device = null_reset_device,
- .alloc_streams = NULL,
- .free_streams = NULL,
- .dev_mem_alloc = NULL,
- .dev_mem_free = NULL,
- .kernel_driver_active = NULL,
- .detach_kernel_driver = NULL,
- .attach_kernel_driver = NULL,
- .destroy_device = NULL,
.submit_transfer = null_submit_transfer,
.cancel_transfer = null_cancel_transfer,
- .clear_transfer_priv = null_clear_transfer_priv,
- .handle_events = NULL,
- .handle_transfer_completion = null_handle_transfer_completion,
.clock_gettime = null_clock_gettime,
-#ifdef USBI_TIMERFD_AVAILABLE
- .get_timerfd_clockid = NULL,
-#endif
- .context_priv_size = 0,
- .device_priv_size = 0,
- .device_handle_priv_size = 0,
- .transfer_priv_size = 0,
};
diff --git a/libusb/os/openbsd_usb.c b/libusb/os/openbsd_usb.c
index 74d2c0f..ed4d3f2 100644
--- a/libusb/os/openbsd_usb.c
+++ b/libusb/os/openbsd_usb.c
@@ -73,7 +73,6 @@ static void obsd_destroy_device(struct libusb_device *);
static int obsd_submit_transfer(struct usbi_transfer *);
static int obsd_cancel_transfer(struct usbi_transfer *);
-static void obsd_clear_transfer_priv(struct usbi_transfer *);
static int obsd_handle_transfer_completion(struct usbi_transfer *);
static int obsd_clock_gettime(int, struct timespec *);
@@ -112,11 +111,11 @@ const struct usbi_os_backend usbi_backend = {
.submit_transfer = obsd_submit_transfer,
.cancel_transfer = obsd_cancel_transfer,
- .clear_transfer_priv = obsd_clear_transfer_priv,
.handle_transfer_completion = obsd_handle_transfer_completion,
.clock_gettime = obsd_clock_gettime,
+
.device_priv_size = sizeof(struct device_priv),
.device_handle_priv_size = sizeof(struct handle_priv),
};
@@ -502,14 +501,6 @@ obsd_cancel_transfer(struct usbi_transfer *itransfer)
return (LIBUSB_ERROR_NOT_SUPPORTED);
}
-void
-obsd_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
- usbi_dbg("");
-
- /* Nothing to do */
-}
-
int
obsd_handle_transfer_completion(struct usbi_transfer *itransfer)
{
diff --git a/libusb/os/sunos_usb.c b/libusb/os/sunos_usb.c
index 6960033..20aefe8 100644
--- a/libusb/os/sunos_usb.c
+++ b/libusb/os/sunos_usb.c
@@ -79,7 +79,6 @@ static int sunos_reset_device(struct libusb_device_handle *);
static void sunos_destroy_device(struct libusb_device *);
static int sunos_submit_transfer(struct usbi_transfer *);
static int sunos_cancel_transfer(struct usbi_transfer *);
-static void sunos_clear_transfer_priv(struct usbi_transfer *);
static int sunos_handle_transfer_completion(struct usbi_transfer *);
static int sunos_clock_gettime(int, struct timespec *);
static int sunos_kernel_driver_active(struct libusb_device_handle *, int interface);
@@ -245,16 +244,6 @@ sunos_kernel_driver_active(struct libusb_device_handle *dev, int interface)
static int _errno_to_libusb(int);
static int sunos_usb_get_status(int fd);
-static int sunos_init(struct libusb_context *ctx)
-{
- return (LIBUSB_SUCCESS);
-}
-
-static void sunos_exit(struct libusb_context *ctx)
-{
- usbi_dbg("");
-}
-
static string_list_t *
sunos_new_string_list(void)
{
@@ -1511,14 +1500,6 @@ sunos_cancel_transfer(struct usbi_transfer *itransfer)
return (ret);
}
-void
-sunos_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
- usbi_dbg("");
-
- /* Nothing to do */
-}
-
int
sunos_handle_transfer_completion(struct usbi_transfer *itransfer)
{
@@ -1670,33 +1651,25 @@ static clockid_t op_get_timerfd_clockid(void)
const struct usbi_os_backend usbi_backend = {
.name = "Solaris",
.caps = 0,
- .init = sunos_init,
- .exit = sunos_exit,
.get_device_list = sunos_get_device_list,
.get_device_descriptor = sunos_get_device_descriptor,
.get_active_config_descriptor = sunos_get_active_config_descriptor,
.get_config_descriptor = sunos_get_config_descriptor,
- .hotplug_poll = NULL,
.open = sunos_open,
.close = sunos_close,
.get_configuration = sunos_get_configuration,
.set_configuration = sunos_set_configuration,
-
.claim_interface = sunos_claim_interface,
.release_interface = sunos_release_interface,
.set_interface_altsetting = sunos_set_interface_altsetting,
.clear_halt = sunos_clear_halt,
.reset_device = sunos_reset_device, /* TODO */
- .alloc_streams = NULL,
- .free_streams = NULL,
.kernel_driver_active = sunos_kernel_driver_active,
.detach_kernel_driver = sunos_detach_kernel_driver,
.attach_kernel_driver = sunos_attach_kernel_driver,
.destroy_device = sunos_destroy_device,
.submit_transfer = sunos_submit_transfer,
.cancel_transfer = sunos_cancel_transfer,
- .handle_events = NULL,
- .clear_transfer_priv = sunos_clear_transfer_priv,
.handle_transfer_completion = sunos_handle_transfer_completion,
.clock_gettime = sunos_clock_gettime,
#ifdef USBI_TIMERFD_AVAILABLE
diff --git a/libusb/os/windows_common.c b/libusb/os/windows_common.c
index 6704cb0..a8ee237 100644
--- a/libusb/os/windows_common.c
+++ b/libusb/os/windows_common.c
@@ -678,12 +678,6 @@ static int windows_cancel_transfer(struct usbi_transfer *itransfer)
return priv->backend->cancel_transfer(itransfer);
}
-static void windows_clear_transfer_priv(struct usbi_transfer *itransfer)
-{
- struct windows_context_priv *priv = _context_priv(ITRANSFER_CTX(itransfer));
- priv->backend->clear_transfer_priv(itransfer);
-}
-
static int windows_handle_events(struct libusb_context *ctx, struct pollfd *fds, POLL_NFDS_TYPE nfds, int num_ready)
{
struct windows_context_priv *priv = _context_priv(ctx);
@@ -810,7 +804,7 @@ const struct usbi_os_backend usbi_backend = {
windows_destroy_device,
windows_submit_transfer,
windows_cancel_transfer,
- windows_clear_transfer_priv,
+ NULL, /* clear_transfer_priv */
windows_handle_events,
NULL, /* handle_transfer_completion */
windows_clock_gettime,
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 6cb695c..519fe4a 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11441
+#define LIBUSB_NANO 11442