Message ID | 20200624131045.14512-6-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | build some devices as modules. | expand |
On 2020-06-24 at 15:10 CEST, Gerd Hoffmann wrote... > Drops libcacard.so dependency from core qemu. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > Makefile.objs | 1 + > util/module.c | 2 ++ > hw/Makefile.objs | 1 + > hw/usb/Makefile.objs | 4 +++- > 4 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/Makefile.objs b/Makefile.objs > index 7ce2588b89a3..ca555ede0710 100644 > --- a/Makefile.objs > +++ b/Makefile.objs > @@ -59,6 +59,7 @@ common-obj-y += migration/ > common-obj-y += audio/ > common-obj-m += audio/ > common-obj-y += hw/ > +common-obj-m += hw/ > > common-obj-y += replay/ > > diff --git a/util/module.c b/util/module.c > index ee560a4b4269..89da9a3cce05 100644 > --- a/util/module.c > +++ b/util/module.c > @@ -261,6 +261,8 @@ static struct { > const char *prefix; > const char *module; > } const qom_modules[] = { > + { "ccid-card-passthru", "hw-", "usb-smartcard" }, > + { "ccid-card-emulated", "hw-", "usb-smartcard" }, > }; > > static bool module_loaded_qom_all; > diff --git a/hw/Makefile.objs b/hw/Makefile.objs > index 4cbe5e4e57d6..af8fd9a510ed 100644 > --- a/hw/Makefile.objs > +++ b/hw/Makefile.objs > @@ -43,4 +43,5 @@ devices-dirs-y += smbios/ > endif > > common-obj-y += $(devices-dirs-y) > +common-obj-m += usb/ > obj-y += $(devices-dirs-y) > diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs > index fa5c3fa1b877..3c5b3d4fadd3 100644 > --- a/hw/usb/Makefile.objs > +++ b/hw/usb/Makefile.objs > @@ -29,11 +29,13 @@ common-obj-$(CONFIG_USB_NETWORK) += dev-network.o > > ifeq ($(CONFIG_USB_SMARTCARD),y) > common-obj-y += dev-smartcard-reader.o I'm curious why you don't use something like: common-obj-$(CONFIG_USB_SMARTCARD) Do we want to be able to configure individual elements as modules? Or is the intent to force as module things that are marked as 'y'? > -common-obj-$(CONFIG_SMARTCARD) += smartcard.mo > +ifeq ($(CONFIG_SMARTCARD),y) > +common-obj-m += smartcard.mo > smartcard.mo-objs := ccid-card-passthru.o 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 -- Cheers, Christophe de Dinechin (IRC c3d)
> > ifeq ($(CONFIG_USB_SMARTCARD),y) > > common-obj-y += dev-smartcard-reader.o > > I'm curious why you don't use something like: > > common-obj-$(CONFIG_USB_SMARTCARD) > > Do we want to be able to configure individual elements as modules? > Or is the intent to force as module things that are marked as 'y'? qemu kconfig miniconf handles bool only, not tristate. So, yes, for now we can do only "all modules" or "no modules" but nothing inbetween. take care, Gerd
On 2020-07-21 at 16:33 CEST, Gerd Hoffmann wrote... >> > ifeq ($(CONFIG_USB_SMARTCARD),y) >> > common-obj-y += dev-smartcard-reader.o >> >> I'm curious why you don't use something like: >> >> common-obj-$(CONFIG_USB_SMARTCARD) >> >> Do we want to be able to configure individual elements as modules? >> Or is the intent to force as module things that are marked as 'y'? > > qemu kconfig miniconf handles bool only, not tristate. Ah, I guess that right, I had a small "fix" for part of that in a recent RFC, but you don't have it. OK. > > So, yes, for now we can do only "all modules" or "no modules" but > nothing inbetween. > > take care, > Gerd -- Cheers, Christophe de Dinechin (IRC c3d)
diff --git a/Makefile.objs b/Makefile.objs index 7ce2588b89a3..ca555ede0710 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -59,6 +59,7 @@ common-obj-y += migration/ common-obj-y += audio/ common-obj-m += audio/ common-obj-y += hw/ +common-obj-m += hw/ common-obj-y += replay/ diff --git a/util/module.c b/util/module.c index ee560a4b4269..89da9a3cce05 100644 --- a/util/module.c +++ b/util/module.c @@ -261,6 +261,8 @@ static struct { const char *prefix; const char *module; } const qom_modules[] = { + { "ccid-card-passthru", "hw-", "usb-smartcard" }, + { "ccid-card-emulated", "hw-", "usb-smartcard" }, }; static bool module_loaded_qom_all; diff --git a/hw/Makefile.objs b/hw/Makefile.objs index 4cbe5e4e57d6..af8fd9a510ed 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -43,4 +43,5 @@ devices-dirs-y += smbios/ endif common-obj-y += $(devices-dirs-y) +common-obj-m += usb/ obj-y += $(devices-dirs-y) diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs index fa5c3fa1b877..3c5b3d4fadd3 100644 --- a/hw/usb/Makefile.objs +++ b/hw/usb/Makefile.objs @@ -29,11 +29,13 @@ common-obj-$(CONFIG_USB_NETWORK) += dev-network.o ifeq ($(CONFIG_USB_SMARTCARD),y) common-obj-y += dev-smartcard-reader.o -common-obj-$(CONFIG_SMARTCARD) += smartcard.mo +ifeq ($(CONFIG_SMARTCARD),y) +common-obj-m += smartcard.mo smartcard.mo-objs := ccid-card-passthru.o 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
Drops libcacard.so dependency from core qemu. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- Makefile.objs | 1 + util/module.c | 2 ++ hw/Makefile.objs | 1 + hw/usb/Makefile.objs | 4 +++- 4 files changed, 7 insertions(+), 1 deletion(-)