$OpenBSD: patch-device_usb_usb_service_impl_cc,v 1.4 2015/07/23 13:44:04 robert Exp $
--- device/usb/usb_service_impl.cc.orig.port	Wed Jul 22 09:49:51 2015
+++ device/usb/usb_service_impl.cc	Wed Jul 22 10:05:18 2015
@@ -286,12 +286,15 @@ UsbServiceImpl::UsbServiceImpl(
     PlatformUsbContext context,
     scoped_refptr<base::SequencedTaskRunner> blocking_task_runner)
     : context_(new UsbContext(context)),
+#if !defined(OS_BSD)
       task_runner_(base::ThreadTaskRunnerHandle::Get()),
+#endif
       blocking_task_runner_(blocking_task_runner),
 #if defined(OS_WIN)
       device_observer_(this),
 #endif
       weak_factory_(this) {
+#if !defined(OS_BSD)
   base::MessageLoop::current()->AddDestructionObserver(this);
 
   int rv = libusb_hotplug_register_callback(
@@ -321,17 +324,20 @@ UsbServiceImpl::UsbServiceImpl(
     }
 #endif  // OS_WIN
   }
+#endif
 }
 
 UsbServiceImpl::~UsbServiceImpl() {
   base::MessageLoop::current()->RemoveDestructionObserver(this);
 
+#if !defined(OS_BSD)
   if (hotplug_enabled_) {
     libusb_hotplug_deregister_callback(context_->context(), hotplug_handle_);
   }
   for (const auto& map_entry : devices_) {
     map_entry.second->OnDisconnect();
   }
+#endif
 }
 
 scoped_refptr<UsbDevice> UsbServiceImpl::GetDeviceById(uint32 unique_id) {
@@ -566,6 +572,7 @@ void UsbServiceImpl::RemoveDevice(scoped_refptr<UsbDev
   device->OnDisconnect();
 }
 
+#if !defined(OS_BSD)
 // static
 int LIBUSB_CALL UsbServiceImpl::HotplugCallback(libusb_context* context,
                                                 PlatformUsbDevice device,
@@ -603,6 +610,7 @@ int LIBUSB_CALL UsbServiceImpl::HotplugCallback(libusb
 
   return 0;
 }
+#endif
 
 void UsbServiceImpl::OnPlatformDeviceAdded(PlatformUsbDevice platform_device) {
   DCHECK(CalledOnValidThread());
