In our downstream distribution of QEMU, we need more fine-grained control on the set of CCID card devices that we want to include. So let's introduce some proper Kconfig switches that it is easier to disable them without modifying the corresponding Makefile.objs.
Signed-off-by: Thomas Huth <th...@redhat.com> --- v2: Use CONFIG_SMARTCARD in Kconfig.host as suggested by Philippe Kconfig.host | 3 +++ Makefile | 3 ++- hw/usb/Kconfig | 12 +++++++++++- hw/usb/Makefile.objs | 9 ++++----- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Kconfig.host b/Kconfig.host index bb6e116e2a..b532358854 100644 --- a/Kconfig.host +++ b/Kconfig.host @@ -35,3 +35,6 @@ config VIRTFS config PVRDMA bool + +config SMARTCARD + bool diff --git a/Makefile b/Makefile index b437a346d7..287cda35cb 100644 --- a/Makefile +++ b/Makefile @@ -388,7 +388,8 @@ MINIKCONF_ARGS = \ CONFIG_VHOST_USER=$(CONFIG_VHOST_USER) \ CONFIG_VIRTFS=$(CONFIG_VIRTFS) \ CONFIG_LINUX=$(CONFIG_LINUX) \ - CONFIG_PVRDMA=$(CONFIG_PVRDMA) + CONFIG_PVRDMA=$(CONFIG_PVRDMA) \ + CONFIG_SMARTCARD=$(CONFIG_SMARTCARD) MINIKCONF_INPUTS = $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig \ $(wildcard $(SRC_PATH)/hw/*/Kconfig) diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig index 555e09377b..da3026586f 100644 --- a/hw/usb/Kconfig +++ b/hw/usb/Kconfig @@ -90,9 +90,19 @@ config USB_BLUETOOTH config USB_SMARTCARD bool default y - depends on USB + depends on USB && SMARTCARD config USB_STORAGE_MTP bool default y depends on USB + +config CCID_PASSTHRU + bool + default y + depends on USB_SMARTCARD + +config CCID_EMULATED + bool + default y + depends on USB_SMARTCARD diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs index 303ac084a0..478e6d5752 100644 --- a/hw/usb/Makefile.objs +++ b/hw/usb/Makefile.objs @@ -27,13 +27,12 @@ common-obj-$(CONFIG_USB_SERIAL) += dev-serial.o common-obj-$(CONFIG_USB_NETWORK) += dev-network.o common-obj-$(CONFIG_USB_BLUETOOTH) += dev-bluetooth.o -ifeq ($(CONFIG_USB_SMARTCARD),y) -common-obj-y += dev-smartcard-reader.o -common-obj-$(CONFIG_SMARTCARD) += smartcard.mo -smartcard.mo-objs := ccid-card-passthru.o ccid-card-emulated.o +common-obj-$(CONFIG_USB_SMARTCARD) += dev-smartcard-reader.o +common-obj-$(call lor,$(CONFIG_CCID_PASSTHRU),$(CONFIG_CCID_EMULATED)) += smartcard.mo +smartcard.mo-objs := $(call lif,$(CONFIG_CCID_PASSTHRU),ccid-card-passthru.o) \ + $(call lif,$(CONFIG_CCID_EMULATED),ccid-card-emulated.o) smartcard.mo-cflags := $(SMARTCARD_CFLAGS) smartcard.mo-libs := $(SMARTCARD_LIBS) -endif ifeq ($(CONFIG_POSIX),y) common-obj-$(CONFIG_USB_STORAGE_MTP) += dev-mtp.o -- 2.18.1