hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c
Again... (after07dc788054and9157eee1b1). We now extract the ISA bus specific helpers. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20180308223946.26784-2-f4bug@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
				
					committed by
					
						
						Paolo Bonzini
					
				
			
			
				
	
			
			
			
						parent
						
							a40161cbe9
						
					
				
				
					commit
					bb3d5ea858
				
			@@ -924,7 +924,7 @@ M: Michael S. Tsirkin <mst@redhat.com>
 | 
			
		||||
M: Paolo Bonzini <pbonzini@redhat.com>
 | 
			
		||||
S: Supported
 | 
			
		||||
F: hw/char/debugcon.c
 | 
			
		||||
F: hw/char/parallel.c
 | 
			
		||||
F: hw/char/parallel*
 | 
			
		||||
F: hw/char/serial*
 | 
			
		||||
F: hw/dma/i8257*
 | 
			
		||||
F: hw/i2c/pm_smbus.c
 | 
			
		||||
@@ -939,6 +939,7 @@ F: hw/timer/i8254*
 | 
			
		||||
F: hw/timer/mc146818rtc*
 | 
			
		||||
F: hw/watchdog/wdt_ib700.c
 | 
			
		||||
F: include/hw/display/vga.h
 | 
			
		||||
F: include/hw/char/parallel.h
 | 
			
		||||
F: include/hw/i2c/pm_smbus.h
 | 
			
		||||
F: include/hw/isa/i8257.h
 | 
			
		||||
F: include/hw/timer/hpet.h
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
common-obj-$(CONFIG_IPACK) += ipoctal232.o
 | 
			
		||||
common-obj-$(CONFIG_ESCC) += escc.o
 | 
			
		||||
common-obj-$(CONFIG_PARALLEL) += parallel.o
 | 
			
		||||
common-obj-$(CONFIG_PARALLEL) += parallel-isa.o
 | 
			
		||||
common-obj-$(CONFIG_PL011) += pl011.o
 | 
			
		||||
common-obj-$(CONFIG_SERIAL) += serial.o
 | 
			
		||||
common-obj-$(CONFIG_SERIAL_ISA) += serial-isa.o
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								hw/char/parallel-isa.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								hw/char/parallel-isa.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
/*
 | 
			
		||||
 * QEMU Parallel PORT (ISA bus helpers)
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (c) 2003 Fabrice Bellard
 | 
			
		||||
 *
 | 
			
		||||
 * SPDX-License-Identifier: MIT
 | 
			
		||||
 */
 | 
			
		||||
#include "qemu/osdep.h"
 | 
			
		||||
#include "sysemu/sysemu.h"
 | 
			
		||||
#include "hw/isa/isa.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
 | 
			
		||||
static void parallel_init(ISABus *bus, int index, Chardev *chr)
 | 
			
		||||
{
 | 
			
		||||
    DeviceState *dev;
 | 
			
		||||
    ISADevice *isadev;
 | 
			
		||||
 | 
			
		||||
    isadev = isa_create(bus, "isa-parallel");
 | 
			
		||||
    dev = DEVICE(isadev);
 | 
			
		||||
    qdev_prop_set_uint32(dev, "index", index);
 | 
			
		||||
    qdev_prop_set_chr(dev, "chardev", chr);
 | 
			
		||||
    qdev_init_nofail(dev);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void parallel_hds_isa_init(ISABus *bus, int n)
 | 
			
		||||
{
 | 
			
		||||
    int i;
 | 
			
		||||
 | 
			
		||||
    assert(n <= MAX_PARALLEL_PORTS);
 | 
			
		||||
 | 
			
		||||
    for (i = 0; i < n; i++) {
 | 
			
		||||
        if (parallel_hds[i]) {
 | 
			
		||||
            parallel_init(bus, i, parallel_hds[i]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
#include "chardev/char-parallel.h"
 | 
			
		||||
#include "chardev/char-fe.h"
 | 
			
		||||
#include "hw/isa/isa.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "sysemu/sysemu.h"
 | 
			
		||||
 | 
			
		||||
//#define DEBUG_PARALLEL
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@
 | 
			
		||||
#include "hw/hw.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/serial.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "hw/i386/apic.h"
 | 
			
		||||
#include "hw/i386/topology.h"
 | 
			
		||||
#include "sysemu/cpus.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,6 @@
 | 
			
		||||
#include "hw/sysbus.h"
 | 
			
		||||
#include "sysemu/sysemu.h"
 | 
			
		||||
#include "hw/isa/isa.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
 | 
			
		||||
static ISABus *isabus;
 | 
			
		||||
 | 
			
		||||
@@ -288,28 +287,3 @@ MemoryRegion *isa_address_space_io(ISADevice *dev)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type_init(isabus_register_types)
 | 
			
		||||
 | 
			
		||||
static void parallel_init(ISABus *bus, int index, Chardev *chr)
 | 
			
		||||
{
 | 
			
		||||
    DeviceState *dev;
 | 
			
		||||
    ISADevice *isadev;
 | 
			
		||||
 | 
			
		||||
    isadev = isa_create(bus, "isa-parallel");
 | 
			
		||||
    dev = DEVICE(isadev);
 | 
			
		||||
    qdev_prop_set_uint32(dev, "index", index);
 | 
			
		||||
    qdev_prop_set_chr(dev, "chardev", chr);
 | 
			
		||||
    qdev_init_nofail(dev);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void parallel_hds_isa_init(ISABus *bus, int n)
 | 
			
		||||
{
 | 
			
		||||
    int i;
 | 
			
		||||
 | 
			
		||||
    assert(n <= MAX_PARALLEL_PORTS);
 | 
			
		||||
 | 
			
		||||
    for (i = 0; i < n; i++) {
 | 
			
		||||
        if (parallel_hds[i]) {
 | 
			
		||||
            parallel_init(bus, i, parallel_hds[i]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@
 | 
			
		||||
#include "hw/hw.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/serial.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "hw/block/fdc.h"
 | 
			
		||||
#include "net/net.h"
 | 
			
		||||
#include "hw/boards.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@
 | 
			
		||||
#include "hw/mips/cpudevs.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/serial.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "hw/isa/isa.h"
 | 
			
		||||
#include "hw/block/fdc.h"
 | 
			
		||||
#include "sysemu/sysemu.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@
 | 
			
		||||
#include "hw/hw.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/serial.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "hw/block/fdc.h"
 | 
			
		||||
#include "net/net.h"
 | 
			
		||||
#include "hw/boards.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,7 @@
 | 
			
		||||
#include "hw/pci-host/sabre.h"
 | 
			
		||||
#include "hw/i386/pc.h"
 | 
			
		||||
#include "hw/char/serial.h"
 | 
			
		||||
#include "hw/char/parallel.h"
 | 
			
		||||
#include "hw/timer/m48t59.h"
 | 
			
		||||
#include "hw/block/fdc.h"
 | 
			
		||||
#include "net/net.h"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								include/hw/char/parallel.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								include/hw/char/parallel.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#ifndef HW_PARALLEL_H
 | 
			
		||||
#define HW_PARALLEL_H
 | 
			
		||||
 | 
			
		||||
#include "exec/memory.h"
 | 
			
		||||
#include "hw/isa/isa.h"
 | 
			
		||||
#include "chardev/char.h"
 | 
			
		||||
 | 
			
		||||
void parallel_hds_isa_init(ISABus *bus, int n);
 | 
			
		||||
 | 
			
		||||
bool parallel_mm_init(MemoryRegion *address_space,
 | 
			
		||||
                      hwaddr base, int it_shift, qemu_irq irq,
 | 
			
		||||
                      Chardev *chr);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -152,14 +152,6 @@ struct PCMachineClass {
 | 
			
		||||
#define PC_MACHINE_CLASS(klass) \
 | 
			
		||||
    OBJECT_CLASS_CHECK(PCMachineClass, (klass), TYPE_PC_MACHINE)
 | 
			
		||||
 | 
			
		||||
/* parallel.c */
 | 
			
		||||
 | 
			
		||||
void parallel_hds_isa_init(ISABus *bus, int n);
 | 
			
		||||
 | 
			
		||||
bool parallel_mm_init(MemoryRegion *address_space,
 | 
			
		||||
                      hwaddr base, int it_shift, qemu_irq irq,
 | 
			
		||||
                      Chardev *chr);
 | 
			
		||||
 | 
			
		||||
/* i8259.c */
 | 
			
		||||
 | 
			
		||||
extern DeviceState *isa_pic;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user