There is only one call site for sun4m_fdctrl_init(), and this function is specific to the sun4m machines, not part of the SYSBUS_FDC API. Move it locally with the machine code, and remove its declaration in "hw/block/fdc.h".
Suggested-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- include/hw/block/fdc.h | 2 -- hw/block/fdc-sysbus.c | 16 ---------------- hw/sparc/sun4m.c | 16 ++++++++++++++++ 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h index 52e45c53078..06612218630 100644 --- a/include/hw/block/fdc.h +++ b/include/hw/block/fdc.h @@ -14,8 +14,6 @@ void isa_fdc_init_drives(ISADevice *fdc, DriveInfo **fds); void sysbus_fdc_init_drives(SysBusDevice *dev, DriveInfo **fds); void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, hwaddr mmio_base, DriveInfo **fds); -void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base, - DriveInfo **fds, qemu_irq *fdc_tc); FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i); int cmos_get_fd_drive_type(FloppyDriveType fd0); diff --git a/hw/block/fdc-sysbus.c b/hw/block/fdc-sysbus.c index 1163e53165d..8f94c2efb63 100644 --- a/hw/block/fdc-sysbus.c +++ b/hw/block/fdc-sysbus.c @@ -123,22 +123,6 @@ void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, sysbus_fdc_init_drives(sbd, fds); } -void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base, - DriveInfo **fds, qemu_irq *fdc_tc) -{ - DeviceState *dev; - SysBusDevice *sbd; - - dev = qdev_new("sun-fdtwo"); - sbd = SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(sbd, &error_fatal); - sysbus_connect_irq(sbd, 0, irq); - sysbus_mmio_map(sbd, 0, io_base); - *fdc_tc = qdev_get_gpio_in(dev, 0); - - sysbus_fdc_init_drives(sbd, fds); -} - static void sysbus_fdc_common_initfn(Object *obj) { DeviceState *dev = DEVICE(obj); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 1a00816d9a8..27bcea07157 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -837,6 +837,22 @@ static void dummy_fdc_tc(void *opaque, int irq, int level) { } +static void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base, + DriveInfo **fds, qemu_irq *fdc_tc) +{ + DeviceState *dev; + SysBusDevice *sbd; + + dev = qdev_new("sun-fdtwo"); + sbd = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(sbd, &error_fatal); + sysbus_connect_irq(sbd, 0, irq); + sysbus_mmio_map(sbd, 0, io_base); + *fdc_tc = qdev_get_gpio_in(dev, 0); + + sysbus_fdc_init_drives(sbd, fds); +} + static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, MachineState *machine) { -- 2.26.3