[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/usb: Introduce Kconfig switches for the CCID card devices
From: |
Paolo Bonzini |
Subject: |
Re: [PATCH] hw/usb: Introduce Kconfig switches for the CCID card devices |
Date: |
Tue, 10 Dec 2019 14:32:26 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 10/12/19 14:27, Philippe Mathieu-Daudé wrote:
> On 12/10/19 9:11 AM, Thomas Huth wrote:
>> On 10/12/2019 08.43, Philippe Mathieu-Daudé wrote:
>>> On 12/10/19 8:20 AM, Thomas Huth wrote:
>>>> 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 <address@hidden>
>>>> ---
>>>> hw/usb/Kconfig | 10 ++++++++++
>>>> hw/usb/Makefile.objs | 7 +++++--
>>>> 2 files changed, 15 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
>>>> index 555e09377b..1358847eba 100644
>>>> --- a/hw/usb/Kconfig
>>>> +++ b/hw/usb/Kconfig
>>>> @@ -96,3 +96,13 @@ 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..ebe103fb3d 100644
>>>> --- a/hw/usb/Makefile.objs
>>>> +++ b/hw/usb/Makefile.objs
>>>> @@ -29,11 +29,14 @@ 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
>>>> +ifeq ($(CONFIG_SMARTCARD),y)
>>>
>>> We don't need the 'ifeq ($(CONFIG_SMARTCARD),y)' ... endif anymore.
>>
>> I think we do. Both files #include <libcacard.h> thus can only be
>> compiled if CONFIG_SMARTCARD has been set.
>> Don't mix CONFIG_SMARTCARD up with CONFIG_USB_SMARTCARD - these are two
>> different switches!
>
> OK I missed SMARTCARD is not in Kconfig.host.
>
> What about adding that to your patch and remove the ifeq():
>
> -- >8 --
> 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/hw/usb/Kconfig b/hw/usb/Kconfig
> index 555e09377b..b3292a5cc9 100644
> --- a/hw/usb/Kconfig
> +++ b/hw/usb/Kconfig
> @@ -90,7 +90,7 @@ config USB_BLUETOOTH
> config USB_SMARTCARD
> bool
> default y
> - depends on USB
> + depends on SMARTCARD && USB
>
> config USB_STORAGE_MTP
> bool
Yes, this is a good idea.
Paolo
> ---
>
>>>> +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
>>>> +endif
>>>> ifeq ($(CONFIG_POSIX),y)
>>>> common-obj-$(CONFIG_USB_STORAGE_MTP) += dev-mtp.o
>>>>
>>>
>>
>