From 5df081d6c039924506c07c0c7a2cf7e2c699709f Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 10 Sep 2015 17:22:03 +0100 Subject: [efi] Expose unused USB devices via EFI_USB_IO_PROTOCOL Allow the UEFI platform firmware to provide drivers for unrecognised devices, by exposing our own implementation of EFI_USB_IO_PROTOCOL. Signed-off-by: Michael Brown --- src/config/config_usb.c | 7 +++++++ src/config/defaults/efi.h | 5 +++++ src/config/usb.h | 16 +++++++++++----- 3 files changed, 23 insertions(+), 5 deletions(-) (limited to 'src/config') diff --git a/src/config/config_usb.c b/src/config/config_usb.c index 4e5843b9..17296d27 100644 --- a/src/config/config_usb.c +++ b/src/config/config_usb.c @@ -53,3 +53,10 @@ REQUIRE_OBJECT ( usbio ); #ifdef USB_KEYBOARD REQUIRE_OBJECT ( usbkbd ); #endif + +/* + * Drag in USB external interfaces + */ +#ifdef USB_EFI +REQUIRE_OBJECT ( efi_usb ); +#endif diff --git a/src/config/defaults/efi.h b/src/config/defaults/efi.h index cdf41c54..502bef1d 100644 --- a/src/config/defaults/efi.h +++ b/src/config/defaults/efi.h @@ -26,6 +26,11 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define IMAGE_EFI /* EFI image support */ #define IMAGE_SCRIPT /* iPXE script image support */ +#define USB_HCD_XHCI /* xHCI USB host controller */ +#define USB_HCD_EHCI /* EHCI USB host controller */ +#define USB_HCD_UHCI /* UHCI USB host controller */ +#define USB_EFI /* Provide EFI_USB_IO_PROTOCOL interface */ + #define REBOOT_CMD /* Reboot command */ #define CPUID_CMD /* x86 CPU feature detection command */ diff --git a/src/config/usb.h b/src/config/usb.h index 6d80e7f6..d2519d87 100644 --- a/src/config/usb.h +++ b/src/config/usb.h @@ -15,16 +15,22 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * USB host controllers (all enabled by default) * */ -//#undef USB_HCD_XHCI /* xHCI USB host controller */ -//#undef USB_HCD_EHCI /* EHCI USB host controller */ -//#undef USB_HCD_UHCI /* UHCI USB host controller */ -//#define USB_HCD_USBIO /* Very slow EFI USB host controller */ +//#undef USB_HCD_XHCI /* xHCI USB host controller */ +//#undef USB_HCD_EHCI /* EHCI USB host controller */ +//#undef USB_HCD_UHCI /* UHCI USB host controller */ +//#define USB_HCD_USBIO /* Very slow EFI USB host controller */ /* * USB peripherals * */ -//#undef USB_KEYBOARD /* USB keyboards */ +//#undef USB_KEYBOARD /* USB keyboards */ + +/* + * USB external interfaces + * + */ +//#undef USB_EFI /* Provide EFI_USB_IO_PROTOCOL interface */ #include #include NAMED_CONFIG(usb.h) -- cgit v1.2.3-55-g7522