Instead of including the same list of devices for each target,
let the host controllers select CONFIG_USB and make the devices
default to present whenever USB is available.
Done with the following script:
while read i; do
i=${i%=y}; i=${i#CONFIG_}
sed -i -e'/^config '$i'$/!b' -en \
-e'a\' -e' default y\' -e' depends on USB' \
`grep -lw $i hw/*/Kconfig`
done < default-configs/usb.mak
followed by adding "select USB" on the host controllers.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
20190123065618.3520-33-yang.zhong@intel.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
# Default configuration for alpha-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
# Default configuration for arm-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_VGA=y
CONFIG_PFLASH_CFI01=y
CONFIG_PFLASH_CFI02=y
CONFIG_MICRODRIVE=y
-CONFIG_USB=y
CONFIG_USB_MUSB=y
CONFIG_USB_EHCI_SYSBUS=y
CONFIG_PLATFORM_BUS=y
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_ISA_BUS=y
-include usb.mak
include hyperv.mak
CONFIG_TEST_DEVICES=y
CONFIG_VGA_ISA=y
# Common mips*-softmmu CONFIG defines
-include usb.mak
CONFIG_ISA_BUS=y
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
# Default configuration for ppc-softmmu
-include usb.mak
CONFIG_ISA_BUS=y
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
# Default configuration for riscv-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
# Default configuration for riscv-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
# Default configuration for sh4-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
# Default configuration for sh4eb-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_SERIAL=y
# Default configuration for sparc64-softmmu
-include usb.mak
CONFIG_PCI=y
CONFIG_PCI_DEVICES=y
CONFIG_M48T59=y
+++ /dev/null
-CONFIG_USB=y
-CONFIG_USB_TABLET_WACOM=y
-CONFIG_USB_STORAGE_BOT=y
-CONFIG_USB_STORAGE_UAS=y
-CONFIG_USB_STORAGE_MTP=y
-CONFIG_SCSI=y
-CONFIG_USB_SMARTCARD=y
-CONFIG_USB_AUDIO=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_NETWORK=y
-CONFIG_USB_BLUETOOTH=y
bool
default y if PCI_DEVICES
depends on PCI
+ select USB
config USB_OHCI
bool
default y if PCI_DEVICES
depends on PCI
+ select USB
config USB_EHCI
bool
default y if PCI_DEVICES
depends on PCI
+ select USB
config USB_EHCI_SYSBUS
bool
+ select USB
config USB_XHCI
bool
default y if PCI_DEVICES
depends on PCI
+ select USB
config USB_XHCI_NEC
bool
default y if PCI_DEVICES
depends on PCI
+ select USB
config USB_MUSB
bool
+ select USB
config TUSB6010
bool
+ select USB_MUSB
config USB_TABLET_WACOM
bool
+ default y
+ depends on USB
config USB_STORAGE_BOT
bool
+ default y
+ depends on USB
config USB_STORAGE_UAS
bool
+ default y
+ depends on USB
config USB_AUDIO
bool
+ default y
+ depends on USB
config USB_SERIAL
bool
+ default y
+ depends on USB
config USB_NETWORK
bool
+ default y
+ depends on USB
config USB_BLUETOOTH
bool
+ default y
+ depends on USB
config USB_SMARTCARD
bool
+ default y
+ depends on USB
config USB_STORAGE_MTP
bool
+ default y
+ depends on USB
common-obj-$(CONFIG_USB_UHCI) += hcd-uhci.o
common-obj-$(CONFIG_USB_OHCI) += hcd-ohci.o
common-obj-$(CONFIG_USB_EHCI) += hcd-ehci.o hcd-ehci-pci.o
-common-obj-$(CONFIG_USB_EHCI_SYSBUS) += hcd-ehci-sysbus.o
+common-obj-$(CONFIG_USB_EHCI_SYSBUS) += hcd-ehci.o hcd-ehci-sysbus.o
common-obj-$(CONFIG_USB_XHCI) += hcd-xhci.o
common-obj-$(CONFIG_USB_XHCI_NEC) += hcd-xhci-nec.o
common-obj-$(CONFIG_USB_MUSB) += hcd-musb.o