Message ID | 20200624131045.14512-11-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... > Removes brlapi library dependency from core qemu. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > Makefile.objs | 1 + > chardev/char.c | 2 +- > util/module.c | 1 + > chardev/Makefile.objs | 5 ++++- > 4 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/Makefile.objs b/Makefile.objs > index ca555ede0710..2dfcd19713f8 100644 > --- a/Makefile.objs > +++ b/Makefile.objs > @@ -71,6 +71,7 @@ common-obj-$(CONFIG_TPM) += tpm.o > > common-obj-y += backends/ > common-obj-y += chardev/ > +common-obj-m += chardev/ > > common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o > qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) > diff --git a/chardev/char.c b/chardev/char.c > index e3051295ac37..df697f3ce9e0 100644 > --- a/chardev/char.c > +++ b/chardev/char.c > @@ -527,7 +527,7 @@ static const ChardevClass *char_get_class(const char *driver, Error **errp) > const ChardevClass *cc; > char *typename = g_strdup_printf("chardev-%s", driver); > > - oc = object_class_by_name(typename); > + oc = module_object_class_by_name(typename); > g_free(typename); > > if (!object_class_dynamic_cast(oc, TYPE_CHARDEV)) { > diff --git a/util/module.c b/util/module.c > index a74214eac052..32b0547b8266 100644 > --- a/util/module.c > +++ b/util/module.c > @@ -272,6 +272,7 @@ static struct { > { "vhost-user-gpu-device", "hw-", "display-virtio-gpu" }, > { "vhost-user-gpu-pci", "hw-", "display-virtio-gpu" }, > { "vhost-user-vga", "hw-", "display-virtio-gpu" }, > + { "chardev-braille", "chardev-", "baum" }, > }; > > static bool module_loaded_qom_all; > diff --git a/chardev/Makefile.objs b/chardev/Makefile.objs > index d68e1347f9af..3a58c9d329d6 100644 > --- a/chardev/Makefile.objs > +++ b/chardev/Makefile.objs > @@ -18,8 +18,11 @@ chardev-obj-$(CONFIG_WIN32) += char-win.o > chardev-obj-$(CONFIG_WIN32) += char-win-stdio.o > > common-obj-y += msmouse.o wctablet.o testdev.o > -common-obj-$(CONFIG_BRLAPI) += baum.o > + > +ifeq ($(CONFIG_BRLAPI),y) > +common-obj-m += baum.o Shouldn't that be a .mo? > baum.o-cflags := $(SDL_CFLAGS) > baum.o-libs := $(BRLAPI_LIBS) > +endif > > common-obj-$(CONFIG_SPICE) += spice.o -- Cheers, Christophe de Dinechin (IRC c3d)
> > common-obj-y += msmouse.o wctablet.o testdev.o > > -common-obj-$(CONFIG_BRLAPI) += baum.o > > + > > +ifeq ($(CONFIG_BRLAPI),y) > > +common-obj-m += baum.o > > Shouldn't that be a .mo? This variant works too (but can only be used for modules built from a single object file). take care, Gerd
diff --git a/Makefile.objs b/Makefile.objs index ca555ede0710..2dfcd19713f8 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -71,6 +71,7 @@ common-obj-$(CONFIG_TPM) += tpm.o common-obj-y += backends/ common-obj-y += chardev/ +common-obj-m += chardev/ common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) diff --git a/chardev/char.c b/chardev/char.c index e3051295ac37..df697f3ce9e0 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -527,7 +527,7 @@ static const ChardevClass *char_get_class(const char *driver, Error **errp) const ChardevClass *cc; char *typename = g_strdup_printf("chardev-%s", driver); - oc = object_class_by_name(typename); + oc = module_object_class_by_name(typename); g_free(typename); if (!object_class_dynamic_cast(oc, TYPE_CHARDEV)) { diff --git a/util/module.c b/util/module.c index a74214eac052..32b0547b8266 100644 --- a/util/module.c +++ b/util/module.c @@ -272,6 +272,7 @@ static struct { { "vhost-user-gpu-device", "hw-", "display-virtio-gpu" }, { "vhost-user-gpu-pci", "hw-", "display-virtio-gpu" }, { "vhost-user-vga", "hw-", "display-virtio-gpu" }, + { "chardev-braille", "chardev-", "baum" }, }; static bool module_loaded_qom_all; diff --git a/chardev/Makefile.objs b/chardev/Makefile.objs index d68e1347f9af..3a58c9d329d6 100644 --- a/chardev/Makefile.objs +++ b/chardev/Makefile.objs @@ -18,8 +18,11 @@ chardev-obj-$(CONFIG_WIN32) += char-win.o chardev-obj-$(CONFIG_WIN32) += char-win-stdio.o common-obj-y += msmouse.o wctablet.o testdev.o -common-obj-$(CONFIG_BRLAPI) += baum.o + +ifeq ($(CONFIG_BRLAPI),y) +common-obj-m += baum.o baum.o-cflags := $(SDL_CFLAGS) baum.o-libs := $(BRLAPI_LIBS) +endif common-obj-$(CONFIG_SPICE) += spice.o
Removes brlapi library dependency from core qemu. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- Makefile.objs | 1 + chardev/char.c | 2 +- util/module.c | 1 + chardev/Makefile.objs | 5 ++++- 4 files changed, 7 insertions(+), 2 deletions(-)