isa-superio.c currently defines a SuperIO chip that is not used
by any other user of the faile. Extract the chip to a separate file.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/isa/fdc37m81x-superio.c | 32 ++++++++++++++++++++++++++++++++
hw/isa/isa-superio.c | 18 ------------------
hw/isa/Kconfig | 4 ++++
hw/isa/meson.build | 1 +
hw/mips/Kconfig | 2 +-
5 files changed, 38 insertions(+), 19 deletions(-)
create mode 100644 hw/isa/fdc37m81x-superio.c
diff --git a/hw/isa/fdc37m81x-superio.c b/hw/isa/fdc37m81x-superio.c
new file mode 100644
index 00000000000..55e91fbca17
--- /dev/null
+++ b/hw/isa/fdc37m81x-superio.c
@@ -0,0 +1,32 @@
+/*
+ * SMS FDC37M817 Super I/O
+ *
+ * Copyright (c) 2018 Philippe Mathieu-Daudé
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "hw/isa/superio.h"
+
+static void fdc37m81x_class_init(ObjectClass *klass, void *data)
+{
+ ISASuperIOClass *sc = ISA_SUPERIO_CLASS(klass);
+
+ sc->serial.count = 2; /* NS16C550A */
+ sc->parallel.count = 1;
+ sc->floppy.count = 1; /* SMSC 82077AA Compatible */
+ sc->ide.count = 0;
+}
+
+static const TypeInfo types[] = {
+ {
+ .name = TYPE_FDC37M81X_SUPERIO,
+ .parent = TYPE_ISA_SUPERIO,
+ .class_init = fdc37m81x_class_init,
+ },
+};
+
+DEFINE_TYPES(types)
diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c
index 98d50844f71..a8c8c58ef7f 100644
--- a/hw/isa/isa-superio.c
+++ b/hw/isa/isa-superio.c
@@ -190,27 +190,9 @@ static const TypeInfo isa_superio_type_info = {
.instance_size = sizeof(ISASuperIODevice),
};
-/* SMS FDC37M817 Super I/O */
-static void fdc37m81x_class_init(ObjectClass *klass, void *data)
-{
- ISASuperIOClass *sc = ISA_SUPERIO_CLASS(klass);
-
- sc->serial.count = 2; /* NS16C550A */
- sc->parallel.count = 1;
- sc->floppy.count = 1; /* SMSC 82077AA Compatible */
- sc->ide.count = 0;
-}
-
-static const TypeInfo fdc37m81x_type_info = {
- .name = TYPE_FDC37M81X_SUPERIO,
- .parent = TYPE_ISA_SUPERIO,
- .class_init = fdc37m81x_class_init,
-};
-
static void isa_superio_register_types(void)
{
type_register_static(&isa_superio_type_info);
- type_register_static(&fdc37m81x_type_info);
}
type_init(isa_superio_register_types)
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index 5df3c09cd51..73c6470805c 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -23,6 +23,10 @@ config ISA_SUPERIO
# Some users of ISA_SUPERIO do not use it
#select IDE_ISA
+config FDC37M81X
+ bool
+ select ISA_SUPERIO
+
config PC87312
bool
select ISA_SUPERIO
diff --git a/hw/isa/meson.build b/hw/isa/meson.build
index 2ab99ce0c6b..f650b395071 100644
--- a/hw/isa/meson.build
+++ b/hw/isa/meson.build
@@ -4,6 +4,7 @@ system_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c'))
system_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c'))
system_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c'))
system_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c'))
+system_ss.add(when: 'CONFIG_FDC37M81X', if_true: files('fdc37m81x-superio.c'))
system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.c'))
system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))
diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig
index afcfb2b8eca..e57db4f6412 100644
--- a/hw/mips/Kconfig
+++ b/hw/mips/Kconfig
@@ -1,7 +1,7 @@
config MALTA
bool
+ select FDC37M81X
select GT64120
- select ISA_SUPERIO
select PIIX
config MIPSSIM
--
2.43.0
Am 7. Februar 2024 11:14:08 UTC schrieb Paolo Bonzini <pbonzini@redhat.com>: >isa-superio.c currently defines a SuperIO chip that is not used >by any other user of the faile. Extract the chip to a separate file. > >Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Bernhard Beschow <shentey@gmail.com>
On Wed, 7 Feb 2024, Paolo Bonzini wrote: > isa-superio.c currently defines a SuperIO chip that is not used > by any other user of the faile. Extract the chip to a separate file. Typo: faile -> file? Regards, BALATON Zoltan > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > hw/isa/fdc37m81x-superio.c | 32 ++++++++++++++++++++++++++++++++ > hw/isa/isa-superio.c | 18 ------------------ > hw/isa/Kconfig | 4 ++++ > hw/isa/meson.build | 1 + > hw/mips/Kconfig | 2 +- > 5 files changed, 38 insertions(+), 19 deletions(-) > create mode 100644 hw/isa/fdc37m81x-superio.c > > diff --git a/hw/isa/fdc37m81x-superio.c b/hw/isa/fdc37m81x-superio.c > new file mode 100644 > index 00000000000..55e91fbca17 > --- /dev/null > +++ b/hw/isa/fdc37m81x-superio.c > @@ -0,0 +1,32 @@ > +/* > + * SMS FDC37M817 Super I/O > + * > + * Copyright (c) 2018 Philippe Mathieu-Daudé > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or later. > + * See the COPYING file in the top-level directory. > + * SPDX-License-Identifier: GPL-2.0-or-later > + */ > + > +#include "qemu/osdep.h" > +#include "hw/isa/superio.h" > + > +static void fdc37m81x_class_init(ObjectClass *klass, void *data) > +{ > + ISASuperIOClass *sc = ISA_SUPERIO_CLASS(klass); > + > + sc->serial.count = 2; /* NS16C550A */ > + sc->parallel.count = 1; > + sc->floppy.count = 1; /* SMSC 82077AA Compatible */ > + sc->ide.count = 0; > +} > + > +static const TypeInfo types[] = { > + { > + .name = TYPE_FDC37M81X_SUPERIO, > + .parent = TYPE_ISA_SUPERIO, > + .class_init = fdc37m81x_class_init, > + }, > +}; > + > +DEFINE_TYPES(types) > diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c > index 98d50844f71..a8c8c58ef7f 100644 > --- a/hw/isa/isa-superio.c > +++ b/hw/isa/isa-superio.c > @@ -190,27 +190,9 @@ static const TypeInfo isa_superio_type_info = { > .instance_size = sizeof(ISASuperIODevice), > }; > > -/* SMS FDC37M817 Super I/O */ > -static void fdc37m81x_class_init(ObjectClass *klass, void *data) > -{ > - ISASuperIOClass *sc = ISA_SUPERIO_CLASS(klass); > - > - sc->serial.count = 2; /* NS16C550A */ > - sc->parallel.count = 1; > - sc->floppy.count = 1; /* SMSC 82077AA Compatible */ > - sc->ide.count = 0; > -} > - > -static const TypeInfo fdc37m81x_type_info = { > - .name = TYPE_FDC37M81X_SUPERIO, > - .parent = TYPE_ISA_SUPERIO, > - .class_init = fdc37m81x_class_init, > -}; > - > static void isa_superio_register_types(void) > { > type_register_static(&isa_superio_type_info); > - type_register_static(&fdc37m81x_type_info); > } > > type_init(isa_superio_register_types) > diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig > index 5df3c09cd51..73c6470805c 100644 > --- a/hw/isa/Kconfig > +++ b/hw/isa/Kconfig > @@ -23,6 +23,10 @@ config ISA_SUPERIO > # Some users of ISA_SUPERIO do not use it > #select IDE_ISA > > +config FDC37M81X > + bool > + select ISA_SUPERIO > + > config PC87312 > bool > select ISA_SUPERIO > diff --git a/hw/isa/meson.build b/hw/isa/meson.build > index 2ab99ce0c6b..f650b395071 100644 > --- a/hw/isa/meson.build > +++ b/hw/isa/meson.build > @@ -4,6 +4,7 @@ system_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c')) > system_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c')) > system_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c')) > system_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c')) > +system_ss.add(when: 'CONFIG_FDC37M81X', if_true: files('fdc37m81x-superio.c')) > system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.c')) > system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c')) > > diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig > index afcfb2b8eca..e57db4f6412 100644 > --- a/hw/mips/Kconfig > +++ b/hw/mips/Kconfig > @@ -1,7 +1,7 @@ > config MALTA > bool > + select FDC37M81X > select GT64120 > - select ISA_SUPERIO > select PIIX > > config MIPSSIM >
© 2016 - 2024 Red Hat, Inc.