Message ID | 20210415102321.3987935-1-philmd@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers | expand |
ping? On 4/15/21 12:23 PM, Philippe Mathieu-Daudé wrote: > Hi, > > The floppy disc controllers pulls in irrelevant devices (sysbus in > an ISA-only machine, ISA bus + isa devices on a sysbus-only machine). > > This series clean that by extracting each device in its own file, > adding the corresponding Kconfig symbols: FDC_ISA and FDC_SYSBUS. > > Regards, > > Phil. > > Philippe Mathieu-Daudé (4): > hw/block/fdc: Replace disabled fprintf() by trace event > hw/block/fdc: Declare shared prototypes in fdc-internal.h > hw/block/fdc: Extract ISA floppy controllers to fdc-isa.c > hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c > > hw/block/fdc-internal.h | 155 ++++++++++ > hw/block/fdc-isa.c | 313 +++++++++++++++++++++ > hw/block/fdc-sysbus.c | 252 +++++++++++++++++ > hw/block/fdc.c | 608 +--------------------------------------- > MAINTAINERS | 3 + > hw/block/Kconfig | 8 + > hw/block/meson.build | 2 + > hw/block/trace-events | 3 + > hw/i386/Kconfig | 2 +- > hw/isa/Kconfig | 6 +- > hw/mips/Kconfig | 2 +- > hw/sparc/Kconfig | 2 +- > hw/sparc64/Kconfig | 2 +- > 13 files changed, 751 insertions(+), 607 deletions(-) > create mode 100644 hw/block/fdc-internal.h > create mode 100644 hw/block/fdc-isa.c > create mode 100644 hw/block/fdc-sysbus.c >
On 4/15/21 6:23 AM, Philippe Mathieu-Daudé wrote: > Hi, > > The floppy disc controllers pulls in irrelevant devices (sysbus in > an ISA-only machine, ISA bus + isa devices on a sysbus-only machine). > > This series clean that by extracting each device in its own file, > adding the corresponding Kconfig symbols: FDC_ISA and FDC_SYSBUS. > > Regards, > > Phil. > Lightly reviewed and I'm fine with it overall; but want a quick ~5min up-or-down by Hervé and/or Mark (To make sure this doesn't break any non-x86 system they may care about), and a quick nod from Paolo for KConfig changes would be nice. I'll be waiting on a reply to my question on patch 01 before staging. --js > Philippe Mathieu-Daudé (4): > hw/block/fdc: Replace disabled fprintf() by trace event > hw/block/fdc: Declare shared prototypes in fdc-internal.h > hw/block/fdc: Extract ISA floppy controllers to fdc-isa.c > hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c > > hw/block/fdc-internal.h | 155 ++++++++++ > hw/block/fdc-isa.c | 313 +++++++++++++++++++++ > hw/block/fdc-sysbus.c | 252 +++++++++++++++++ > hw/block/fdc.c | 608 +--------------------------------------- > MAINTAINERS | 3 + > hw/block/Kconfig | 8 + > hw/block/meson.build | 2 + > hw/block/trace-events | 3 + > hw/i386/Kconfig | 2 +- > hw/isa/Kconfig | 6 +- > hw/mips/Kconfig | 2 +- > hw/sparc/Kconfig | 2 +- > hw/sparc64/Kconfig | 2 +- > 13 files changed, 751 insertions(+), 607 deletions(-) > create mode 100644 hw/block/fdc-internal.h > create mode 100644 hw/block/fdc-isa.c > create mode 100644 hw/block/fdc-sysbus.c >
On 15/04/2021 11:23, Philippe Mathieu-Daudé wrote: > Hi, > > The floppy disc controllers pulls in irrelevant devices (sysbus in > an ISA-only machine, ISA bus + isa devices on a sysbus-only machine). > > This series clean that by extracting each device in its own file, > adding the corresponding Kconfig symbols: FDC_ISA and FDC_SYSBUS. > > Regards, > > Phil. > > Philippe Mathieu-Daudé (4): > hw/block/fdc: Replace disabled fprintf() by trace event > hw/block/fdc: Declare shared prototypes in fdc-internal.h > hw/block/fdc: Extract ISA floppy controllers to fdc-isa.c > hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c > > hw/block/fdc-internal.h | 155 ++++++++++ > hw/block/fdc-isa.c | 313 +++++++++++++++++++++ > hw/block/fdc-sysbus.c | 252 +++++++++++++++++ > hw/block/fdc.c | 608 +--------------------------------------- > MAINTAINERS | 3 + > hw/block/Kconfig | 8 + > hw/block/meson.build | 2 + > hw/block/trace-events | 3 + > hw/i386/Kconfig | 2 +- > hw/isa/Kconfig | 6 +- > hw/mips/Kconfig | 2 +- > hw/sparc/Kconfig | 2 +- > hw/sparc64/Kconfig | 2 +- > 13 files changed, 751 insertions(+), 607 deletions(-) > create mode 100644 hw/block/fdc-internal.h > create mode 100644 hw/block/fdc-isa.c > create mode 100644 hw/block/fdc-sysbus.c This basically looks good to me. You may be able to simplify this further by removing the global legacy init functions fdctrl_init_sysbus() and sun4m_fdctrl_init(): from what I can see fdctrl_init_sysbus() is only used in hw/mips/jazz.c and sun4m_fdctrl_init() is only used in hw/sparc/sun4m.c so you might as well inline them or move the functions to the relevant files. Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
On 4/28/21 9:57 AM, Mark Cave-Ayland wrote: > On 15/04/2021 11:23, Philippe Mathieu-Daudé wrote: > >> Hi, >> >> The floppy disc controllers pulls in irrelevant devices (sysbus in >> an ISA-only machine, ISA bus + isa devices on a sysbus-only machine). >> >> This series clean that by extracting each device in its own file, >> adding the corresponding Kconfig symbols: FDC_ISA and FDC_SYSBUS. >> >> Regards, >> >> Phil. >> >> Philippe Mathieu-Daudé (4): >> hw/block/fdc: Replace disabled fprintf() by trace event >> hw/block/fdc: Declare shared prototypes in fdc-internal.h >> hw/block/fdc: Extract ISA floppy controllers to fdc-isa.c >> hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c >> >> hw/block/fdc-internal.h | 155 ++++++++++ >> hw/block/fdc-isa.c | 313 +++++++++++++++++++++ >> hw/block/fdc-sysbus.c | 252 +++++++++++++++++ >> hw/block/fdc.c | 608 +--------------------------------------- >> MAINTAINERS | 3 + >> hw/block/Kconfig | 8 + >> hw/block/meson.build | 2 + >> hw/block/trace-events | 3 + >> hw/i386/Kconfig | 2 +- >> hw/isa/Kconfig | 6 +- >> hw/mips/Kconfig | 2 +- >> hw/sparc/Kconfig | 2 +- >> hw/sparc64/Kconfig | 2 +- >> 13 files changed, 751 insertions(+), 607 deletions(-) >> create mode 100644 hw/block/fdc-internal.h >> create mode 100644 hw/block/fdc-isa.c >> create mode 100644 hw/block/fdc-sysbus.c > > This basically looks good to me. You may be able to simplify this > further by removing the global legacy init functions > fdctrl_init_sysbus() and sun4m_fdctrl_init(): from what I can see > fdctrl_init_sysbus() is only used in hw/mips/jazz.c and > sun4m_fdctrl_init() is only used in hw/sparc/sun4m.c so you might as > well inline them or move the functions to the relevant files. But both use FDCtrlSysBus which this series makes local to hw/block/fdc-sysbus.c, and use fdctrl_init_drives() which is declared in hw/block/fdc-internal.h, and use FloppyBus (also declared there). Apparently they do that to initialize the fdctrl->dma_chann field... Which should be a property, but FDCtrl isn't QOM... So not that easy, it requires more work. > Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Thanks! Phil.
On 4/28/21 1:25 PM, Philippe Mathieu-Daudé wrote: > On 4/28/21 9:57 AM, Mark Cave-Ayland wrote: >> This basically looks good to me. You may be able to simplify this >> further by removing the global legacy init functions >> fdctrl_init_sysbus() and sun4m_fdctrl_init(): from what I can see >> fdctrl_init_sysbus() is only used in hw/mips/jazz.c and >> sun4m_fdctrl_init() is only used in hw/sparc/sun4m.c so you might as >> well inline them or move the functions to the relevant files. > > But both use FDCtrlSysBus which this series makes local to > hw/block/fdc-sysbus.c, and use fdctrl_init_drives() which is declared in > hw/block/fdc-internal.h, and use FloppyBus (also declared there). > > Apparently they do that to initialize the fdctrl->dma_chann field... > Which should be a property, but FDCtrl isn't QOM... So not that > easy, it requires more work. Hmm FDCtrl doesn't have to be a QOM object, it is a simple embedded structure. It should be doable then.