From 82f5181777ebe04b550fd94a1d04c49dd3f012dc Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:00 +0800 Subject: kconfig: introduce kconfig files The Kconfig files were generated mostly with this script: for i in `grep -ho CONFIG_[A-Z0-9_]* default-configs/* | sort -u`; do set fnord `git grep -lw $i -- 'hw/*/Makefile.objs' ` shift if test $# = 1; then cat >> $(dirname $1)/Kconfig << EOF config ${i#CONFIG_} bool EOF git add $(dirname $1)/Kconfig else echo $i $* fi done sed -i '$d' hw/*/Kconfig for i in hw/*; do if test -d $i && ! test -f $i/Kconfig; then touch $i/Kconfig git add $i/Kconfig fi done Whenever a symbol is referenced from multiple subdirectories, the script prints the list of directories that reference the symbol. These symbols have to be added manually to the Kconfig files. Kconfig.host and hw/Kconfig were created manually. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Message-Id: <20190123065618.3520-27-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/usb/Kconfig | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 hw/usb/Kconfig (limited to 'hw/usb') diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig new file mode 100644 index 0000000..cbf5c5d --- /dev/null +++ b/hw/usb/Kconfig @@ -0,0 +1,53 @@ +config USB + bool + +config USB_UHCI + bool + +config USB_OHCI + bool + +config USB_EHCI + bool + +config USB_EHCI_SYSBUS + bool + +config USB_XHCI + bool + +config USB_XHCI_NEC + bool + +config USB_MUSB + bool + +config TUSB6010 + bool + +config USB_TABLET_WACOM + bool + +config USB_STORAGE_BOT + bool + +config USB_STORAGE_UAS + bool + +config USB_AUDIO + bool + +config USB_SERIAL + bool + +config USB_NETWORK + bool + +config USB_BLUETOOTH + bool + +config USB_SMARTCARD + bool + +config USB_STORAGE_MTP + bool -- cgit v1.1 From 7c28b925b7e176b4e44ed05d23cf883561000546 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:04 +0800 Subject: build: convert pci.mak to Kconfig Instead of including the same list of devices for each target, set CONFIG_PCI to true, and make the devices default to present whenever PCI is available. However, s390x does not want all the PCI devices, so there is a separate symbol to enable them. Done mostly 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 if PCI_DEVICES\' -e' depends on PCI' \ `grep -lw $i hw/*/Kconfig` done < default-configs/pci.mak followed by replacing a few "depends on" clauses with "select" whenever the symbol is not really related to PCI. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Cc: Michael S. Tsirkin Reviewed-by: Thomas Huth Message-Id: <20190123065618.3520-31-yang.zhong@intel.com> Acked-by: Richard Henderson Signed-off-by: Paolo Bonzini --- hw/usb/Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'hw/usb') diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index cbf5c5d..86ee615 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -3,21 +3,31 @@ config USB config USB_UHCI bool + default y if PCI_DEVICES + depends on PCI config USB_OHCI bool + default y if PCI_DEVICES + depends on PCI config USB_EHCI bool + default y if PCI_DEVICES + depends on PCI config USB_EHCI_SYSBUS bool config USB_XHCI bool + default y if PCI_DEVICES + depends on PCI config USB_XHCI_NEC bool + default y if PCI_DEVICES + depends on PCI config USB_MUSB bool -- cgit v1.1 From d6e9c470fc91f75db1785f17a9d3567d5a27953d Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:06 +0800 Subject: build: convert usb.mak to Kconfig 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 Signed-off-by: Yang Zhong Reviewed-by: Thomas Huth Message-Id: <20190123065618.3520-33-yang.zhong@intel.com> Acked-by: Richard Henderson Signed-off-by: Paolo Bonzini --- hw/usb/Kconfig | 26 ++++++++++++++++++++++++++ hw/usb/Makefile.objs | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'hw/usb') diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index 86ee615..e20670a 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -5,59 +5,85 @@ config USB_UHCI 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 diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs index 41be700..2b92964 100644 --- a/hw/usb/Makefile.objs +++ b/hw/usb/Makefile.objs @@ -6,7 +6,7 @@ common-obj-$(CONFIG_USB) += desc.o desc-msos.o 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 -- cgit v1.1 From 03b348bdcbd1eda4ce097b2b84527dec774d80c4 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:07 +0800 Subject: scsi: express dependencies with Kconfig This automatically removes the SCSI subsystem from the binary altogether if no controllers are selected. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Message-Id: <20190123065618.3520-34-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/usb/Kconfig | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hw/usb') diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index e20670a..a1b7acb 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -52,11 +52,13 @@ config USB_STORAGE_BOT bool default y depends on USB + select SCSI config USB_STORAGE_UAS bool default y depends on USB + select SCSI config USB_AUDIO bool -- cgit v1.1