From 81768f44e75a5a187083215266cf382f2cf4e14d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 9 Nov 2015 19:26:33 +0100 Subject: [PATCH] XHCI USB: include in the Haiku package, only enabled two devices for now. --- build/jam/packages/Haiku | 5 +++-- src/add-ons/kernel/busses/usb/xhci.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku index 147f3f592c..2f6a054541 100644 --- a/build/jam/packages/Haiku +++ b/build/jam/packages/Haiku @@ -40,7 +40,8 @@ if $(HAIKU_ATA_STACK) = 1 { AddFilesToPackage add-ons kernel busses random : virtio_rng ; AddFilesToPackage add-ons kernel busses scsi : ahci virtio_scsi ; -AddFilesToPackage add-ons kernel busses usb : uhci ohci ehci ; +AddFilesToPackage add-ons kernel busses usb : uhci ohci ehci + xhci ; AddFilesToPackage add-ons kernel busses virtio : virtio_pci ; AddFilesToPackage add-ons kernel console : vga_text ; AddFilesToPackage add-ons kernel debugger @@ -205,7 +206,7 @@ AddBootModuleSymlinksToPackage openpic@ppc packagefs pci scsi scsi_cd scsi_disk scsi_periph silicon_image_3112 - usb usb_disk ehci ohci uhci + usb usb_disk ehci ohci uhci xhci virtio virtio_block virtio_pci virtio_scsi ; diff --git a/src/add-ons/kernel/busses/usb/xhci.cpp b/src/add-ons/kernel/busses/usb/xhci.cpp index 2dc8bbcc56..e6b6354c9f 100644 --- a/src/add-ons/kernel/busses/usb/xhci.cpp +++ b/src/add-ons/kernel/busses/usb/xhci.cpp @@ -775,6 +775,16 @@ XHCI::AddTo(Stack *stack) continue; } + // whitelists a few devices for the time being + switch ((item->vendor_id << 16) | item->device_id) { + case 0x10330194: // Nec Corporation uPD720200 + case 0x1b731009: // Fresco Logic FL1009 + break; + default: + TRACE_MODULE_ERROR("found device but unsupported\n"); + continue; + } + TRACE_MODULE("found device at IRQ %u\n", item->u.h0.interrupt_line); XHCI *bus = new(std::nothrow) XHCI(item, stack);