Эх сурвалжийг харах

USB: add new configuration variable CONFIG_PCI_OHCI_DEVNO

In case of several PCI USB controllers on a board this variable
specifys which controller to use.
See doc/README.generic_usb_ohci for details.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
Sergei Poselenov 17 жил өмнө
parent
commit
5a904e5637

+ 6 - 0
doc/README.generic_usb_ohci

@@ -51,6 +51,12 @@ You'll need to define
 
 
 	CONFIG_PCI_OHCI
 	CONFIG_PCI_OHCI
 
 
+If you have several USB PCI controllers, define
+
+	CONFIG_PCI_OHCI_DEVNO: number of the OHCI device in PCI list
+
+If undefined, the first instance found in PCI space will be used.
+
 PCI Controllers need to do byte swapping on register accesses, so they
 PCI Controllers need to do byte swapping on register accesses, so they
 should to define:
 should to define:
 
 

+ 4 - 1
drivers/usb/usb_ohci.c

@@ -53,6 +53,9 @@
 
 
 #if defined(CONFIG_PCI_OHCI)
 #if defined(CONFIG_PCI_OHCI)
 # include <pci.h>
 # include <pci.h>
+#if !defined(CONFIG_PCI_OHCI_DEVNO)
+#define CONFIG_PCI_OHCI_DEVNO	0
+#endif
 #endif
 #endif
 
 
 #include <malloc.h>
 #include <malloc.h>
@@ -1818,7 +1821,7 @@ int usb_lowlevel_init(void)
 	gohci.sleeping = 0;
 	gohci.sleeping = 0;
 	gohci.irq = -1;
 	gohci.irq = -1;
 #ifdef CONFIG_PCI_OHCI
 #ifdef CONFIG_PCI_OHCI
-	pdev = pci_find_devices(ohci_pci_ids, 0);
+	pdev = pci_find_devices(ohci_pci_ids, CONFIG_PCI_OHCI_DEVNO);
 
 
 	if (pdev != -1) {
 	if (pdev != -1) {
 		u16 vid, did;
 		u16 vid, did;