[PATCH] hw/usb: add configuration flags for emulated and passthru usb smartcard

Jon Maloy posted 1 patch 2 weeks, 1 day ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221123021842.1588898-1-jmaloy@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/Kconfig     | 12 ++++++++++++
hw/usb/meson.build |  4 ++--
2 files changed, 14 insertions(+), 2 deletions(-)
[PATCH] hw/usb: add configuration flags for emulated and passthru usb smartcard
Posted by Jon Maloy 2 weeks, 1 day ago
We add two new configuration flags, USB_SMARTCARD_PASSTHRU and
USB_SMARTCARD_EMULATED in order to improve configurability
of these two functionalities.

Signed-off-by: Jon Maloy <jmaloy@redhat.com>
---
 hw/usb/Kconfig     | 12 ++++++++++++
 hw/usb/meson.build |  4 ++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index ce4f433976..50a82badd6 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -108,6 +108,18 @@ config USB_SMARTCARD
     bool
     default y
     depends on USB
+    select USB_SMARTCARD_PASSTHRU
+    select USB_SMARTCARD_EMULATED
+
+config USB_SMARTCARD_PASSTHRU
+    bool
+    default y
+    depends on USB
+
+config USB_SMARTCARD_EMULATED
+    bool
+    default y
+    depends on USB
 
 config USB_STORAGE_MTP
     bool
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index 793df42e21..353006fb6c 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -51,8 +51,8 @@ softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reade
 
 if cacard.found()
   usbsmartcard_ss = ss.source_set()
-  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD',
-                      if_true: [cacard, files('ccid-card-emulated.c', 'ccid-card-passthru.c')])
+  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_EMULATED', if_true: [cacard, files('ccid-card-emulated.c')])
+  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_PASSTHRU', if_true: [cacard, files('ccid-card-passthru.c')])
   hw_usb_modules += {'smartcard': usbsmartcard_ss}
 endif
 
-- 
2.35.3
Re: [PATCH] hw/usb: add configuration flags for emulated and passthru usb smartcard
Posted by Marc-André Lureau 2 weeks, 1 day ago
Hi

On Wed, Nov 23, 2022 at 6:21 AM Jon Maloy <jmaloy@redhat.com> wrote:
>
> We add two new configuration flags, USB_SMARTCARD_PASSTHRU and
> USB_SMARTCARD_EMULATED in order to improve configurability
> of these two functionalities.
>
> Signed-off-by: Jon Maloy <jmaloy@redhat.com>
> ---
>  hw/usb/Kconfig     | 12 ++++++++++++
>  hw/usb/meson.build |  4 ++--
>  2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
> index ce4f433976..50a82badd6 100644
> --- a/hw/usb/Kconfig
> +++ b/hw/usb/Kconfig
> @@ -108,6 +108,18 @@ config USB_SMARTCARD
>      bool
>      default y
>      depends on USB
> +    select USB_SMARTCARD_PASSTHRU
> +    select USB_SMARTCARD_EMULATED
> +
> +config USB_SMARTCARD_PASSTHRU
> +    bool
> +    default y
> +    depends on USB

Wouldn't this be better instead? (I don't think USB_SMARTCARD should
select PASSTHRU & EMULATED, but rather be selected for common shared
code)

config USB_SMARTCARD
    bool
    depends on USB

config USB_SMARTCARD_PASSTHRU
    bool
    default y
    select USB_SMARTCARD

config USB_SMARTCARD_EMULATED
    bool
    default y
    select USB_SMARTCARD


> +
> +config USB_SMARTCARD_EMULATED
> +    bool
> +    default y
> +    depends on USB
>
>  config USB_STORAGE_MTP
>      bool
> diff --git a/hw/usb/meson.build b/hw/usb/meson.build
> index 793df42e21..353006fb6c 100644
> --- a/hw/usb/meson.build
> +++ b/hw/usb/meson.build
> @@ -51,8 +51,8 @@ softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reade
>
>  if cacard.found()
>    usbsmartcard_ss = ss.source_set()
> -  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD',
> -                      if_true: [cacard, files('ccid-card-emulated.c', 'ccid-card-passthru.c')])
> +  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_EMULATED', if_true: [cacard, files('ccid-card-emulated.c')])
> +  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_PASSTHRU', if_true: [cacard, files('ccid-card-passthru.c')])
>    hw_usb_modules += {'smartcard': usbsmartcard_ss}
>  endif
>
> --
> 2.35.3
>
>


-- 
Marc-André Lureau
Re: [PATCH] hw/usb: add configuration flags for emulated and passthru usb smartcard
Posted by Paolo Bonzini 2 weeks ago
Il mer 23 nov 2022, 08:59 Marc-André Lureau <marcandre.lureau@gmail.com> ha
scritto:

> config USB_SMARTCARD_PASSTHRU
>     bool
>     default y
>     select USB_SMARTCARD
>
> config USB_SMARTCARD_EMULATED
>     bool
>     default y
>     select USB_SMARTCARD
>

Yes, this is the way. (TM)

Also, you should add a "config LIBCACARD" (resp. "CONFIG_LIBCACARD=y")
symbol to Kconfig.host and the root meson.build, so that you can make these
symbols "depends on CACARD" and remove the "if cacard.found()" below.

Paolo


>
> > +
> > +config USB_SMARTCARD_EMULATED
> > +    bool
> > +    default y
> > +    depends on USB
> >
> >  config USB_STORAGE_MTP
> >      bool
> > diff --git a/hw/usb/meson.build b/hw/usb/meson.build
> > index 793df42e21..353006fb6c 100644
> > --- a/hw/usb/meson.build
> > +++ b/hw/usb/meson.build
> > @@ -51,8 +51,8 @@ softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true:
> files('dev-smartcard-reade
> >
> >  if cacard.found()
> >    usbsmartcard_ss = ss.source_set()
> > -  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD',
> > -                      if_true: [cacard, files('ccid-card-emulated.c',
> 'ccid-card-passthru.c')])
> > +  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_EMULATED', if_true:
> [cacard, files('ccid-card-emulated.c')])
> > +  usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD_PASSTHRU', if_true:
> [cacard, files('ccid-card-passthru.c')])
> >    hw_usb_modules += {'smartcard': usbsmartcard_ss}
> >  endif
> >
> > --
> > 2.35.3
> >
> >
>
>
> --
> Marc-André Lureau
>
>