Lines Matching +full:parallel +full:- +full:in
4 * Copyright (c) 2010-2012 Herve Poussineau
5 * Copyright (c) 2011-2012 Andreas Färber
6 * Copyright (c) 2018 Philippe Mathieu-Daudé
9 * See the COPYING file in the top-level directory.
10 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include "qemu/error-report.h"
19 #include "hw/char/parallel.h"
22 #include "hw/qdev-properties.h"
24 #include "hw/char/parallel-isa.h"
25 #include "hw/char/serial-isa.h"
40 /* Parallel port */ in isa_superio_realize()
41 for (i = 0; i < k->parallel.count; i++) { in isa_superio_realize()
42 if (i >= ARRAY_SIZE(sio->parallel)) { in isa_superio_realize()
43 warn_report("superio: ignoring %td parallel controllers", in isa_superio_realize()
44 k->parallel.count - ARRAY_SIZE(sio->parallel)); in isa_superio_realize()
47 if (!k->parallel.is_enabled || k->parallel.is_enabled(sio, i)) { in isa_superio_realize()
51 name = g_strdup_printf("discarding-parallel%d", i); in isa_superio_realize()
54 name = g_strdup_printf("parallel%d", i); in isa_superio_realize()
59 if (k->parallel.get_iobase) { in isa_superio_realize()
61 k->parallel.get_iobase(sio, i)); in isa_superio_realize()
63 if (k->parallel.get_irq) { in isa_superio_realize()
64 qdev_prop_set_uint32(d, "irq", k->parallel.get_irq(sio, i)); in isa_superio_realize()
69 sio->parallel[i] = isa; in isa_superio_realize()
71 k->parallel.get_iobase ? in isa_superio_realize()
72 k->parallel.get_iobase(sio, i) : -1, in isa_superio_realize()
73 k->parallel.get_irq ? in isa_superio_realize()
74 k->parallel.get_irq(sio, i) : -1); in isa_superio_realize()
80 for (i = 0; i < k->serial.count; i++) { in isa_superio_realize()
81 if (i >= ARRAY_SIZE(sio->serial)) { in isa_superio_realize()
83 k->serial.count - ARRAY_SIZE(sio->serial)); in isa_superio_realize()
86 if (!k->serial.is_enabled || k->serial.is_enabled(sio, i)) { in isa_superio_realize()
90 name = g_strdup_printf("discarding-serial%d", i); in isa_superio_realize()
98 if (k->serial.get_iobase) { in isa_superio_realize()
100 k->serial.get_iobase(sio, i)); in isa_superio_realize()
102 if (k->serial.get_irq) { in isa_superio_realize()
103 qdev_prop_set_uint32(d, "irq", k->serial.get_irq(sio, i)); in isa_superio_realize()
108 sio->serial[i] = isa; in isa_superio_realize()
110 k->serial.get_iobase ? in isa_superio_realize()
111 k->serial.get_iobase(sio, i) : -1, in isa_superio_realize()
112 k->serial.get_irq ? in isa_superio_realize()
113 k->serial.get_irq(sio, i) : -1); in isa_superio_realize()
119 assert(k->floppy.count <= 1); in isa_superio_realize()
120 if (k->floppy.count && in isa_superio_realize()
121 (!k->floppy.is_enabled || k->floppy.is_enabled(sio, 0))) { in isa_superio_realize()
124 if (k->floppy.get_iobase) { in isa_superio_realize()
125 qdev_prop_set_uint32(d, "iobase", k->floppy.get_iobase(sio, 0)); in isa_superio_realize()
127 if (k->floppy.get_irq) { in isa_superio_realize()
128 qdev_prop_set_uint32(d, "irq", k->floppy.get_irq(sio, 0)); in isa_superio_realize()
134 object_property_add_child(OBJECT(sio), "isa-fdc", OBJECT(isa)); in isa_superio_realize()
137 sio->floppy = isa; in isa_superio_realize()
139 k->floppy.get_iobase ? in isa_superio_realize()
140 k->floppy.get_iobase(sio, 0) : -1, in isa_superio_realize()
141 k->floppy.get_irq ? in isa_superio_realize()
142 k->floppy.get_irq(sio, 0) : -1); in isa_superio_realize()
149 sio->kbc = isa; in isa_superio_realize()
152 if (k->ide.count && (!k->ide.is_enabled || k->ide.is_enabled(sio, 0))) { in isa_superio_realize()
153 isa = isa_new("isa-ide"); in isa_superio_realize()
155 if (k->ide.get_iobase) { in isa_superio_realize()
156 qdev_prop_set_uint32(d, "iobase", k->ide.get_iobase(sio, 0)); in isa_superio_realize()
158 if (k->ide.get_iobase) { in isa_superio_realize()
159 qdev_prop_set_uint32(d, "iobase2", k->ide.get_iobase(sio, 1)); in isa_superio_realize()
161 if (k->ide.get_irq) { in isa_superio_realize()
162 qdev_prop_set_uint32(d, "irq", k->ide.get_irq(sio, 0)); in isa_superio_realize()
164 object_property_add_child(OBJECT(sio), "isa-ide", OBJECT(isa)); in isa_superio_realize()
166 sio->ide = isa; in isa_superio_realize()
168 k->ide.get_iobase ? in isa_superio_realize()
169 k->ide.get_iobase(sio, 0) : -1, in isa_superio_realize()
170 k->ide.get_irq ? in isa_superio_realize()
171 k->ide.get_irq(sio, 0) : -1); in isa_superio_realize()
179 dc->realize = isa_superio_realize; in isa_superio_class_init()
180 /* Reason: Uses parallel_hds[0] in realize(), so it can't be used twice */ in isa_superio_class_init()
181 dc->user_creatable = false; in isa_superio_class_init()