[PATCH v2 0/8] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers

Philippe Mathieu-Daudé posted 8 patches 3 years ago
Test checkpatch passed
Failed in applying to current master (apply log)
There is a newer version of this series
hw/block/fdc-internal.h | 156 +++++++++++
include/hw/block/fdc.h  |   7 +-
hw/block/fdc-isa.c      | 313 +++++++++++++++++++++
hw/block/fdc-sysbus.c   | 224 +++++++++++++++
hw/block/fdc.c          | 608 +---------------------------------------
hw/mips/jazz.c          |  16 ++
hw/sparc/sun4m.c        |  16 ++
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 +-
16 files changed, 758 insertions(+), 612 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
[PATCH v2 0/8] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers
Posted by Philippe Mathieu-Daudé 3 years ago
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.

Since v1:
- added missing "hw/block/block.h" header (jsnow)
- inlined hardware specific calls (Mark)
- added R-b/A-b tags

Missing review: 5-8 (1-4 can be queued meanwhile)

Regards,

Phil.

Philippe Mathieu-Daudé (8):
  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: Add sysbus_fdc_init_drives() method
  hw/sparc/sun4m: Inline sun4m_fdctrl_init()
  hw/block/fdc-sysbus: Add 'dma-channel' property
  hw/mips/jazz: Inline fdctrl_init_sysbus()

 hw/block/fdc-internal.h | 156 +++++++++++
 include/hw/block/fdc.h  |   7 +-
 hw/block/fdc-isa.c      | 313 +++++++++++++++++++++
 hw/block/fdc-sysbus.c   | 224 +++++++++++++++
 hw/block/fdc.c          | 608 +---------------------------------------
 hw/mips/jazz.c          |  16 ++
 hw/sparc/sun4m.c        |  16 ++
 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 +-
 16 files changed, 758 insertions(+), 612 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

-- 
2.26.3


Re: [PATCH v2 0/8] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers
Posted by Mark Cave-Ayland 3 years ago
On 28/04/2021 13:50, 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.
> 
> Since v1:
> - added missing "hw/block/block.h" header (jsnow)
> - inlined hardware specific calls (Mark)
> - added R-b/A-b tags
> 
> Missing review: 5-8 (1-4 can be queued meanwhile)
> 
> Regards,
> 
> Phil.
> 
> Philippe Mathieu-Daudé (8):
>    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: Add sysbus_fdc_init_drives() method
>    hw/sparc/sun4m: Inline sun4m_fdctrl_init()
>    hw/block/fdc-sysbus: Add 'dma-channel' property
>    hw/mips/jazz: Inline fdctrl_init_sysbus()
> 
>   hw/block/fdc-internal.h | 156 +++++++++++
>   include/hw/block/fdc.h  |   7 +-
>   hw/block/fdc-isa.c      | 313 +++++++++++++++++++++
>   hw/block/fdc-sysbus.c   | 224 +++++++++++++++
>   hw/block/fdc.c          | 608 +---------------------------------------
>   hw/mips/jazz.c          |  16 ++
>   hw/sparc/sun4m.c        |  16 ++
>   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 +-
>   16 files changed, 758 insertions(+), 612 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

Thanks Phil, this version looks good to me. One day in the future it would be 
interesting to see about removing sysbus_fdc_init_drives() completely but given there 
is a similar pattern for IDE with ide_create_drive() then I'd say this patchset is 
definitely an improvement.

For the series:

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.

Re: [PATCH v2 0/8] hw/block/fdc: Allow Kconfig-selecting ISA bus/SysBus floppy controllers
Posted by Philippe Mathieu-Daudé 2 years, 11 months ago
Hi John,

This series is fully reviewed; can it go via your block tree?

On 4/28/21 2:50 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.
> 
> Since v1:
> - added missing "hw/block/block.h" header (jsnow)
> - inlined hardware specific calls (Mark)
> - added R-b/A-b tags

> Philippe Mathieu-Daudé (8):
>   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: Add sysbus_fdc_init_drives() method
>   hw/sparc/sun4m: Inline sun4m_fdctrl_init()
>   hw/block/fdc-sysbus: Add 'dma-channel' property
>   hw/mips/jazz: Inline fdctrl_init_sysbus()