Backport c5b3b52d553d: enable libusb hotplug on FreeBSD 11+
PR: 220223 Submitted by: jbeich
This commit is contained in:
parent
d96996aaf7
commit
080e9d416f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=444567
2 changed files with 24 additions and 29 deletions
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= dolphin-emu
|
||||
PORTVERSION= 5.0
|
||||
PORTREVISION= 7
|
||||
PORTREVISION= 8
|
||||
CATEGORIES= emulators
|
||||
|
||||
MAINTAINER= martymac@FreeBSD.org
|
||||
|
|
|
@ -1,38 +1,33 @@
|
|||
--- Source/Core/InputCommon/GCAdapter.cpp.orig 2016-12-01 10:27:29.504018310 +0000
|
||||
+++ Source/Core/InputCommon/GCAdapter.cpp 2016-12-01 10:30:44.024005984 +0000
|
||||
@@ -50,7 +50,7 @@
|
||||
commit c5b3b52d553d
|
||||
Author: Jeffrey Pfau <jeffrey@endrift.com>
|
||||
Date: Mon Dec 26 22:50:36 2016 -0800
|
||||
|
||||
InputCommon: Fix FreeBSD 11 libusb incompatibilities
|
||||
---
|
||||
Source/Core/InputCommon/GCAdapter.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
--- Source/Core/InputCommon/GCAdapter.cpp.orig 2016-06-24 08:09:07 UTC
|
||||
+++ Source/Core/InputCommon/GCAdapter.cpp
|
||||
@@ -49,7 +49,11 @@ static std::function<void(void)> s_detect_callback;
|
||||
|
||||
static bool s_libusb_driver_not_supported = false;
|
||||
static libusb_context* s_libusb_context = nullptr;
|
||||
+#if defined(__FreeBSD__) && __FreeBSD__ >= 11
|
||||
+static bool s_libusb_hotplug_enabled = true;
|
||||
+#else
|
||||
static bool s_libusb_hotplug_enabled = false;
|
||||
-#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#if !defined(__FreeBSD__) && defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#endif
|
||||
#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
static libusb_hotplug_callback_handle s_hotplug_handle;
|
||||
#endif
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#if !defined(__FreeBSD__) && defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
static int HotplugCallback(libusb_context* ctx, libusb_device* dev, libusb_hotplug_event event, void* user_data)
|
||||
{
|
||||
if (event == LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED)
|
||||
@@ -101,7 +101,7 @@
|
||||
Common::SetCurrentThreadName("GC Adapter Scanning Thread");
|
||||
@@ -102,7 +106,9 @@ static void ScanThreadFunc()
|
||||
NOTICE_LOG(SERIALINTERFACE, "GC Adapter scanning thread started");
|
||||
|
||||
-#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#if !defined(__FreeBSD__) && defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#ifndef __FreeBSD__
|
||||
s_libusb_hotplug_enabled = libusb_has_capability(LIBUSB_CAP_HAS_HOTPLUG) != 0;
|
||||
+#endif
|
||||
if (s_libusb_hotplug_enabled)
|
||||
{
|
||||
@@ -321,7 +321,7 @@
|
||||
void Shutdown()
|
||||
{
|
||||
StopScanThread();
|
||||
-#if defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
+#if !defined(__FreeBSD__) && defined(LIBUSB_API_VERSION) && LIBUSB_API_VERSION >= 0x01000102
|
||||
if (s_libusb_hotplug_enabled)
|
||||
libusb_hotplug_deregister_callback(s_libusb_context, s_hotplug_handle);
|
||||
#endif
|
||||
if (libusb_hotplug_register_callback(s_libusb_context, (libusb_hotplug_event)(LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED | LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT), LIBUSB_HOTPLUG_ENUMERATE, 0x057e, 0x0337, LIBUSB_HOTPLUG_MATCH_ANY, HotplugCallback, nullptr, &s_hotplug_handle) != LIBUSB_SUCCESS)
|
||||
|
|
Loading…
Reference in a new issue