[PATCH v2 6/8] isa: extract FDC37M81X to a separate file

Paolo Bonzini posted 8 patches 9 months, 3 weeks ago
Maintainers: "Philippe Mathieu-Daudé" <philmd@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
[PATCH v2 6/8] isa: extract FDC37M81X to a separate file
Posted by Paolo Bonzini 9 months, 3 weeks ago
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


Re: [PATCH v2 6/8] isa: extract FDC37M81X to a separate file
Posted by Bernhard Beschow 9 months, 3 weeks ago

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>
Re: [PATCH v2 6/8] isa: extract FDC37M81X to a separate file
Posted by BALATON Zoltan 9 months, 3 weeks ago
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
>