* [PATCH 01/22] hw/rtc/mc146818rtc: QOM'ify IRQ number
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
@ 2022-02-22 17:37 ` Bernhard Beschow
2022-02-22 17:37 ` [PATCH 02/22] hw/rtc/m48t59-isa: " Bernhard Beschow
` (20 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:37 UTC (permalink / raw)
To: qemu-devel
Cc: Michael S. Tsirkin, Philippe Mathieu-Daudé,
Hervé Poussineau, Paolo Bonzini, Bernhard Beschow,
Aurelien Jarno
Exposing the IRQ number as a QOM property not only allows it to be
configurable but also to be printed by standard QOM mechanisms. This allows
isabus_dev_print() to be retired eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/piix4.c | 2 +-
hw/rtc/mc146818rtc.c | 8 ++++++--
include/hw/rtc/mc146818rtc.h | 1 +
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
index 0fe7b69bc4..cb291d121c 100644
--- a/hw/isa/piix4.c
+++ b/hw/isa/piix4.c
@@ -197,7 +197,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) {
return;
}
- isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ);
+ isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, s->rtc.isairq);
piix4_dev = dev;
}
diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c
index e61a0cced4..f300f40257 100644
--- a/hw/rtc/mc146818rtc.c
+++ b/hw/rtc/mc146818rtc.c
@@ -956,15 +956,17 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
{
DeviceState *dev;
ISADevice *isadev;
+ RTCState *s;
isadev = isa_new(TYPE_MC146818_RTC);
dev = DEVICE(isadev);
+ s = MC146818_RTC(isadev);
qdev_prop_set_int32(dev, "base_year", base_year);
isa_realize_and_unref(isadev, bus, &error_fatal);
if (intercept_irq) {
qdev_connect_gpio_out(dev, 0, intercept_irq);
} else {
- isa_connect_gpio_out(isadev, 0, RTC_ISA_IRQ);
+ isa_connect_gpio_out(isadev, 0, s->isairq);
}
object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(isadev),
@@ -975,6 +977,7 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
static Property mc146818rtc_properties[] = {
DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
+ DEFINE_PROP_UINT32("irq", RTCState, isairq, RTC_ISA_IRQ),
DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", RTCState,
lost_tick_policy, LOST_TICK_POLICY_DISCARD),
DEFINE_PROP_END_OF_LIST(),
@@ -1010,6 +1013,7 @@ static void rtc_reset_hold(Object *obj)
static void rtc_build_aml(ISADevice *isadev, Aml *scope)
{
+ RTCState *s = MC146818_RTC(isadev);
Aml *dev;
Aml *crs;
@@ -1020,7 +1024,7 @@ static void rtc_build_aml(ISADevice *isadev, Aml *scope)
crs = aml_resource_template();
aml_append(crs, aml_io(AML_DECODE16, RTC_ISA_BASE, RTC_ISA_BASE,
0x01, 0x08));
- aml_append(crs, aml_irq_no_flags(RTC_ISA_IRQ));
+ aml_append(crs, aml_irq_no_flags(s->isairq));
dev = aml_device("RTC");
aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0B00")));
diff --git a/include/hw/rtc/mc146818rtc.h b/include/hw/rtc/mc146818rtc.h
index 5b45b22924..c7586589ad 100644
--- a/include/hw/rtc/mc146818rtc.h
+++ b/include/hw/rtc/mc146818rtc.h
@@ -26,6 +26,7 @@ struct RTCState {
uint8_t cmos_data[128];
uint8_t cmos_index;
int32_t base_year;
+ uint32_t isairq;
uint64_t base_rtc;
uint64_t last_update;
int64_t offset;
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 02/22] hw/rtc/m48t59-isa: QOM'ify IRQ number
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
2022-02-22 17:37 ` [PATCH 01/22] hw/rtc/mc146818rtc: QOM'ify IRQ number Bernhard Beschow
@ 2022-02-22 17:37 ` Bernhard Beschow
2022-02-22 17:47 ` Peter Maydell
2022-02-22 17:38 ` [PATCH 03/22] hw/input/pckbd: QOM'ify IRQ numbers Bernhard Beschow
` (19 subsequent siblings)
21 siblings, 1 reply; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:37 UTC (permalink / raw)
To: qemu-devel; +Cc: open list:PReP, Hervé Poussineau, Bernhard Beschow
Exposing the IRQ number as a QOM property not only allows it to be
configurable but also to be printed by standard QOM mechanisms. This allows
isabus_dev_print() to be retired eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/rtc/m48t59-isa.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
index dc21fb10a5..d1c1d789a5 100644
--- a/hw/rtc/m48t59-isa.c
+++ b/hw/rtc/m48t59-isa.c
@@ -42,6 +42,7 @@ struct M48txxISAState {
ISADevice parent_obj;
M48t59State state;
uint32_t io_base;
+ uint32_t isairq;
MemoryRegion io;
};
@@ -79,6 +80,7 @@ static void m48txx_isa_toggle_lock(Nvram *obj, int lock)
static Property m48t59_isa_properties[] = {
DEFINE_PROP_INT32("base-year", M48txxISAState, state.base_year, 0),
DEFINE_PROP_UINT32("iobase", M48txxISAState, io_base, 0x74),
+ DEFINE_PROP_UINT32("irq", M48txxISAState, isairq, 8),
DEFINE_PROP_END_OF_LIST(),
};
@@ -99,7 +101,7 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
s->model = u->info.model;
s->size = u->info.size;
- isa_init_irq(isadev, &s->IRQ, 8);
+ isa_init_irq(isadev, &s->IRQ, d->isairq);
m48t59_realize_common(s, errp);
memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
if (d->io_base != 0) {
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 02/22] hw/rtc/m48t59-isa: QOM'ify IRQ number
2022-02-22 17:37 ` [PATCH 02/22] hw/rtc/m48t59-isa: " Bernhard Beschow
@ 2022-02-22 17:47 ` Peter Maydell
2022-02-22 17:54 ` Bernhard Beschow
0 siblings, 1 reply; 25+ messages in thread
From: Peter Maydell @ 2022-02-22 17:47 UTC (permalink / raw)
To: Bernhard Beschow; +Cc: Hervé Poussineau, open list:PReP, qemu-devel
On Tue, 22 Feb 2022 at 17:41, Bernhard Beschow <shentey@gmail.com> wrote:
>
> Exposing the IRQ number as a QOM property not only allows it to be
> configurable but also to be printed by standard QOM mechanisms. This allows
> isabus_dev_print() to be retired eventually.
>
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
> hw/rtc/m48t59-isa.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
> index dc21fb10a5..d1c1d789a5 100644
> --- a/hw/rtc/m48t59-isa.c
> +++ b/hw/rtc/m48t59-isa.c
> @@ -42,6 +42,7 @@ struct M48txxISAState {
> ISADevice parent_obj;
> M48t59State state;
> uint32_t io_base;
> + uint32_t isairq;
> MemoryRegion io;
> };
>
> @@ -79,6 +80,7 @@ static void m48txx_isa_toggle_lock(Nvram *obj, int lock)
> static Property m48t59_isa_properties[] = {
> DEFINE_PROP_INT32("base-year", M48txxISAState, state.base_year, 0),
> DEFINE_PROP_UINT32("iobase", M48txxISAState, io_base, 0x74),
> + DEFINE_PROP_UINT32("irq", M48txxISAState, isairq, 8),
> DEFINE_PROP_END_OF_LIST(),
> };
>
> @@ -99,7 +101,7 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
>
> s->model = u->info.model;
> s->size = u->info.size;
> - isa_init_irq(isadev, &s->IRQ, 8);
> + isa_init_irq(isadev, &s->IRQ, d->isairq);
> m48t59_realize_common(s, errp);
> memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
> if (d->io_base != 0) {
> --
> 2.35.1
If the user creates the device specifying irq=16 then isa_init_irq()
will assert. Since these devices are creatable by users on the
commandline, I think the realize method should check that the
property value is in range (d->isairq < ISA_NUM_IRQS), and report
a suitable error back if not.
thanks
-- PMM
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 02/22] hw/rtc/m48t59-isa: QOM'ify IRQ number
2022-02-22 17:47 ` Peter Maydell
@ 2022-02-22 17:54 ` Bernhard Beschow
0 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:54 UTC (permalink / raw)
To: Peter Maydell; +Cc: Hervé Poussineau, open list:PReP, qemu-devel
Am 22. Februar 2022 17:47:56 UTC schrieb Peter Maydell <peter.maydell@linaro.org>:
>On Tue, 22 Feb 2022 at 17:41, Bernhard Beschow <shentey@gmail.com> wrote:
>>
>> Exposing the IRQ number as a QOM property not only allows it to be
>> configurable but also to be printed by standard QOM mechanisms. This allows
>> isabus_dev_print() to be retired eventually.
>>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>> hw/rtc/m48t59-isa.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
>> index dc21fb10a5..d1c1d789a5 100644
>> --- a/hw/rtc/m48t59-isa.c
>> +++ b/hw/rtc/m48t59-isa.c
>> @@ -42,6 +42,7 @@ struct M48txxISAState {
>> ISADevice parent_obj;
>> M48t59State state;
>> uint32_t io_base;
>> + uint32_t isairq;
>> MemoryRegion io;
>> };
>>
>> @@ -79,6 +80,7 @@ static void m48txx_isa_toggle_lock(Nvram *obj, int lock)
>> static Property m48t59_isa_properties[] = {
>> DEFINE_PROP_INT32("base-year", M48txxISAState, state.base_year, 0),
>> DEFINE_PROP_UINT32("iobase", M48txxISAState, io_base, 0x74),
>> + DEFINE_PROP_UINT32("irq", M48txxISAState, isairq, 8),
>> DEFINE_PROP_END_OF_LIST(),
>> };
>>
>> @@ -99,7 +101,7 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
>>
>> s->model = u->info.model;
>> s->size = u->info.size;
>> - isa_init_irq(isadev, &s->IRQ, 8);
>> + isa_init_irq(isadev, &s->IRQ, d->isairq);
>> m48t59_realize_common(s, errp);
>> memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
>> if (d->io_base != 0) {
>> --
>> 2.35.1
>
>If the user creates the device specifying irq=16 then isa_init_irq()
>will assert. Since these devices are creatable by users on the
>commandline, I think the realize method should check that the
>property value is in range (d->isairq < ISA_NUM_IRQS), and report
>a suitable error back if not.
Ah, I missed that! Thanks for pointing out, I will fix it.
Regards,
Bernhard
>
>thanks
>-- PMM
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 03/22] hw/input/pckbd: QOM'ify IRQ numbers
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
2022-02-22 17:37 ` [PATCH 01/22] hw/rtc/mc146818rtc: QOM'ify IRQ number Bernhard Beschow
2022-02-22 17:37 ` [PATCH 02/22] hw/rtc/m48t59-isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 04/22] hw/isa/isa-bus: Remove isabus_dev_print() Bernhard Beschow
` (18 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Bernhard Beschow, Michael S. Tsirkin
Exposing the IRQ numbers as a QOM properties not only allows them to be
configurable but also to be printed by standard QOM mechanisms. This allows
isabus_dev_print() to be retired eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/input/pckbd.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c
index baba62f357..e56bee87d2 100644
--- a/hw/input/pckbd.c
+++ b/hw/input/pckbd.c
@@ -671,6 +671,8 @@ struct ISAKBDState {
KBDState kbd;
bool kbd_throttle;
MemoryRegion io[2];
+ uint32_t kbd_irq;
+ uint32_t mouse_irq;
};
void i8042_isa_mouse_fake_event(ISAKBDState *isa)
@@ -734,8 +736,8 @@ static void i8042_realizefn(DeviceState *dev, Error **errp)
ISAKBDState *isa_s = I8042(dev);
KBDState *s = &isa_s->kbd;
- isa_init_irq(isadev, &s->irq_kbd, 1);
- isa_init_irq(isadev, &s->irq_mouse, 12);
+ isa_init_irq(isadev, &s->irq_kbd, isa_s->kbd_irq);
+ isa_init_irq(isadev, &s->irq_mouse, isa_s->mouse_irq);
isa_register_ioport(isadev, isa_s->io + 0, 0x60);
isa_register_ioport(isadev, isa_s->io + 1, 0x64);
@@ -754,6 +756,7 @@ static void i8042_realizefn(DeviceState *dev, Error **errp)
static void i8042_build_aml(ISADevice *isadev, Aml *scope)
{
+ ISAKBDState *isa_s = I8042(isadev);
Aml *kbd;
Aml *mou;
Aml *crs;
@@ -761,7 +764,7 @@ static void i8042_build_aml(ISADevice *isadev, Aml *scope)
crs = aml_resource_template();
aml_append(crs, aml_io(AML_DECODE16, 0x0060, 0x0060, 0x01, 0x01));
aml_append(crs, aml_io(AML_DECODE16, 0x0064, 0x0064, 0x01, 0x01));
- aml_append(crs, aml_irq_no_flags(1));
+ aml_append(crs, aml_irq_no_flags(isa_s->kbd_irq));
kbd = aml_device("KBD");
aml_append(kbd, aml_name_decl("_HID", aml_eisaid("PNP0303")));
@@ -769,7 +772,7 @@ static void i8042_build_aml(ISADevice *isadev, Aml *scope)
aml_append(kbd, aml_name_decl("_CRS", crs));
crs = aml_resource_template();
- aml_append(crs, aml_irq_no_flags(12));
+ aml_append(crs, aml_irq_no_flags(isa_s->mouse_irq));
mou = aml_device("MOU");
aml_append(mou, aml_name_decl("_HID", aml_eisaid("PNP0F13")));
@@ -783,6 +786,8 @@ static void i8042_build_aml(ISADevice *isadev, Aml *scope)
static Property i8042_properties[] = {
DEFINE_PROP_BOOL("extended-state", ISAKBDState, kbd.extended_state, true),
DEFINE_PROP_BOOL("kbd-throttle", ISAKBDState, kbd_throttle, false),
+ DEFINE_PROP_UINT32("kbd-irq", ISAKBDState, kbd_irq, 1),
+ DEFINE_PROP_UINT32("mouse-irq", ISAKBDState, mouse_irq, 12),
DEFINE_PROP_END_OF_LIST(),
};
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 04/22] hw/isa/isa-bus: Remove isabus_dev_print()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (2 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 03/22] hw/input/pckbd: QOM'ify IRQ numbers Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 05/22] hw/ppc/pnv: Determine ns16550's IRQ number from QOM property Bernhard Beschow
` (17 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Hanna Reitz, Bernhard Beschow,
open list:Block layer core
All isabus_dev_print() did was to print up to two IRQ numbers per
device. This is redundant if the IRQ numbers are present as QOM
properties (see e.g. the modified tests/qemu-iotests/172.out).
Now that the last devices relying on isabus_dev_print() had their IRQ
numbers QOM'ified, the contribution of this function ultimately became
redundant. Remove it.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/isa-bus.c | 16 ----------------
tests/qemu-iotests/172.out | 26 --------------------------
2 files changed, 42 deletions(-)
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index 6c31398dda..af5add6a26 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -21,21 +21,18 @@
#include "qemu/error-report.h"
#include "qemu/module.h"
#include "qapi/error.h"
-#include "monitor/monitor.h"
#include "hw/sysbus.h"
#include "sysemu/sysemu.h"
#include "hw/isa/isa.h"
static ISABus *isabus;
-static void isabus_dev_print(Monitor *mon, DeviceState *dev, int indent);
static char *isabus_get_fw_dev_path(DeviceState *dev);
static void isa_bus_class_init(ObjectClass *klass, void *data)
{
BusClass *k = BUS_CLASS(klass);
- k->print_dev = isabus_dev_print;
k->get_fw_dev_path = isabus_get_fw_dev_path;
}
@@ -222,19 +219,6 @@ void isa_build_aml(ISABus *bus, Aml *scope)
}
}
-static void isabus_dev_print(Monitor *mon, DeviceState *dev, int indent)
-{
- ISADevice *d = ISA_DEVICE(dev);
-
- if (d->isairq[1] != -1) {
- monitor_printf(mon, "%*sisa irqs %d,%d\n", indent, "",
- d->isairq[0], d->isairq[1]);
- } else if (d->isairq[0] != -1) {
- monitor_printf(mon, "%*sisa irq %d\n", indent, "",
- d->isairq[0]);
- }
-}
-
static void isabus_bridge_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
diff --git a/tests/qemu-iotests/172.out b/tests/qemu-iotests/172.out
index 4cf4d536b4..9479b92185 100644
--- a/tests/qemu-iotests/172.out
+++ b/tests/qemu-iotests/172.out
@@ -15,7 +15,6 @@ Testing:
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -43,7 +42,6 @@ Testing: -fda TEST_DIR/t.qcow2
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -81,7 +79,6 @@ Testing: -fdb TEST_DIR/t.qcow2
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -135,7 +132,6 @@ Testing: -fda TEST_DIR/t.qcow2 -fdb TEST_DIR/t.qcow2.2
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -190,7 +186,6 @@ Testing: -fdb
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -230,7 +225,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -268,7 +262,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2,index=1
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -322,7 +315,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=floppy,file=TEST_DIR/t
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -380,7 +372,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -418,7 +409,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,unit=1
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -456,7 +446,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qco
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -520,7 +509,6 @@ Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -575,7 +563,6 @@ Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -630,7 +617,6 @@ Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -685,7 +671,6 @@ Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -749,7 +734,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.q
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -804,7 +788,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.q
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -865,7 +848,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global floppy.drive=none0 -device
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -933,7 +915,6 @@ Testing: -device floppy
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -958,7 +939,6 @@ Testing: -device floppy,drive-type=120
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -983,7 +963,6 @@ Testing: -device floppy,drive-type=144
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -1008,7 +987,6 @@ Testing: -device floppy,drive-type=288
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -1036,7 +1014,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-t
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -1074,7 +1051,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-t
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -1115,7 +1091,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,logical
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
@@ -1153,7 +1128,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,physica
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
- isa irq 6
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 05/22] hw/ppc/pnv: Determine ns16550's IRQ number from QOM property
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (3 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 04/22] hw/isa/isa-bus: Remove isabus_dev_print() Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 06/22] isa: Drop unused attributes from ISADevice Bernhard Beschow
` (16 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: open list:PowerNV Non-Virt..., Bernhard Beschow,
Cédric Le Goater
Determine the IRQ number in the same way as for isa-ipmi-bt. This resolves
the last usage of ISADevice::isairq[] which allows it to be removed.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/ppc/pnv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 837146a2fb..1e9f6b0690 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -380,9 +380,12 @@ static void pnv_dt_serial(ISADevice *d, void *fdt, int lpc_off)
cpu_to_be32(io_base),
cpu_to_be32(8)
};
+ uint32_t irq;
char *name;
int node;
+ irq = object_property_get_int(OBJECT(d), "irq", &error_fatal);
+
name = g_strdup_printf("%s@i%x", qdev_fw_name(DEVICE(d)), io_base);
node = fdt_add_subnode(fdt, lpc_off, name);
_FDT(node);
@@ -394,7 +397,7 @@ static void pnv_dt_serial(ISADevice *d, void *fdt, int lpc_off)
_FDT((fdt_setprop_cell(fdt, node, "clock-frequency", 1843200)));
_FDT((fdt_setprop_cell(fdt, node, "current-speed", 115200)));
- _FDT((fdt_setprop_cell(fdt, node, "interrupts", d->isairq[0])));
+ _FDT((fdt_setprop_cell(fdt, node, "interrupts", irq)));
_FDT((fdt_setprop_cell(fdt, node, "interrupt-parent",
fdt_get_phandle(fdt, lpc_off))));
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 06/22] isa: Drop unused attributes from ISADevice
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (4 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 05/22] hw/ppc/pnv: Determine ns16550's IRQ number from QOM property Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 07/22] hw/audio/cs4231a: Disuse isa_init_irq() Bernhard Beschow
` (15 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow
Now that the last users of ISADevice::isairq[] have been resolved during the
previous commits, it can be removed for good.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/isa-bus.c | 13 -------------
include/hw/isa/isa.h | 2 --
2 files changed, 15 deletions(-)
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index af5add6a26..c64a14120b 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -87,11 +87,7 @@ qemu_irq isa_get_irq(ISADevice *dev, unsigned isairq)
void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq)
{
- assert(dev->nirqs < ARRAY_SIZE(dev->isairq));
- assert(isairq < ISA_NUM_IRQS);
- dev->isairq[dev->nirqs] = isairq;
*p = isa_get_irq(dev, isairq);
- dev->nirqs++;
}
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, unsigned isairq)
@@ -150,14 +146,6 @@ int isa_register_portio_list(ISADevice *dev,
return 0;
}
-static void isa_device_init(Object *obj)
-{
- ISADevice *dev = ISA_DEVICE(obj);
-
- dev->isairq[0] = -1;
- dev->isairq[1] = -1;
-}
-
ISADevice *isa_new(const char *name)
{
return ISA_DEVICE(qdev_new(name));
@@ -244,7 +232,6 @@ static const TypeInfo isa_device_type_info = {
.name = TYPE_ISA_DEVICE,
.parent = TYPE_DEVICE,
.instance_size = sizeof(ISADevice),
- .instance_init = isa_device_init,
.abstract = true,
.class_size = sizeof(ISADeviceClass),
.class_init = isa_device_class_init,
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index d4417b34b6..d80cab5b79 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -83,8 +83,6 @@ struct ISADevice {
DeviceState parent_obj;
/*< public >*/
- int8_t isairq[2]; /* -1 = unassigned */
- int nirqs;
int ioport_id;
};
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 07/22] hw/audio/cs4231a: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (5 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 06/22] isa: Drop unused attributes from ISADevice Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 08/22] hw/audio/gus: " Bernhard Beschow
` (14 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Gerd Hoffmann
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/audio/cs4231a.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c
index 7d60ce6f0e..0723e39430 100644
--- a/hw/audio/cs4231a.c
+++ b/hw/audio/cs4231a.c
@@ -677,7 +677,7 @@ static void cs4231a_realizefn (DeviceState *dev, Error **errp)
return;
}
- isa_init_irq(d, &s->pic, s->irq);
+ s->pic = isa_get_irq(d, s->irq);
k = ISADMA_GET_CLASS(s->isa_dma);
k->register_channel(s->isa_dma, s->dma, cs_dma_read, s);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 08/22] hw/audio/gus: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (6 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 07/22] hw/audio/cs4231a: Disuse isa_init_irq() Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 09/22] hw/audio/sb16: " Bernhard Beschow
` (13 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Gerd Hoffmann
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/audio/gus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/gus.c b/hw/audio/gus.c
index e8719ee117..42f010b671 100644
--- a/hw/audio/gus.c
+++ b/hw/audio/gus.c
@@ -282,7 +282,7 @@ static void gus_realizefn (DeviceState *dev, Error **errp)
s->emu.himemaddr = s->himem;
s->emu.gusdatapos = s->emu.himemaddr + 1024 * 1024 + 32;
s->emu.opaque = s;
- isa_init_irq (d, &s->pic, s->emu.gusirq);
+ s->pic = isa_get_irq(d, s->emu.gusirq);
AUD_set_active_out (s->voice, 1);
}
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 09/22] hw/audio/sb16: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (7 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 08/22] hw/audio/gus: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 10/22] hw/block/fdc-isa: " Bernhard Beschow
` (12 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Gerd Hoffmann
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/audio/sb16.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index 60f1f75e3a..2215386ddb 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -1408,7 +1408,7 @@ static void sb16_realizefn (DeviceState *dev, Error **errp)
return;
}
- isa_init_irq (isadev, &s->pic, s->irq);
+ s->pic = isa_get_irq(isadev, s->irq);
s->mixer_regs[0x80] = magic_of_irq (s->irq);
s->mixer_regs[0x81] = (1 << s->dma) | (1 << s->hdma);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 10/22] hw/block/fdc-isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (8 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 09/22] hw/audio/sb16: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 11/22] hw/char/parallel: " Bernhard Beschow
` (11 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, John Snow, Hanna Reitz, Bernhard Beschow,
open list:Floppy
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/block/fdc-isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/block/fdc-isa.c b/hw/block/fdc-isa.c
index ab663dce93..fa20450747 100644
--- a/hw/block/fdc-isa.c
+++ b/hw/block/fdc-isa.c
@@ -94,7 +94,7 @@ static void isabus_fdc_realize(DeviceState *dev, Error **errp)
isa->iobase, fdc_portio_list, fdctrl,
"fdc");
- isa_init_irq(isadev, &fdctrl->irq, isa->irq);
+ fdctrl->irq = isa_get_irq(isadev, isa->irq);
fdctrl->dma_chann = isa->dma;
if (fdctrl->dma_chann != -1) {
IsaDmaClass *k;
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 11/22] hw/char/parallel: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (9 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 10/22] hw/block/fdc-isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 12/22] hw/char/serial-isa: " Bernhard Beschow
` (10 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Bernhard Beschow, Marc-André Lureau,
Michael S. Tsirkin
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/char/parallel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/char/parallel.c b/hw/char/parallel.c
index b45e67bfbb..adb9bd9be3 100644
--- a/hw/char/parallel.c
+++ b/hw/char/parallel.c
@@ -553,7 +553,7 @@ static void parallel_isa_realizefn(DeviceState *dev, Error **errp)
index++;
base = isa->iobase;
- isa_init_irq(isadev, &s->irq, isa->isairq);
+ s->irq = isa_get_irq(isadev, isa->isairq);
qemu_register_reset(parallel_reset, s);
qemu_chr_fe_set_handlers(&s->chr, parallel_can_receive, NULL,
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 12/22] hw/char/serial-isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (10 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 11/22] hw/char/parallel: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 13/22] hw/ide/isa: " Bernhard Beschow
` (9 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Bernhard Beschow, Marc-André Lureau,
Michael S. Tsirkin
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/char/serial-isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c
index 1b8b303079..7a7ed239cd 100644
--- a/hw/char/serial-isa.c
+++ b/hw/char/serial-isa.c
@@ -75,7 +75,7 @@ static void serial_isa_realizefn(DeviceState *dev, Error **errp)
}
index++;
- isa_init_irq(isadev, &s->irq, isa->isairq);
+ s->irq = isa_get_irq(isadev, isa->isairq);
qdev_realize(DEVICE(s), NULL, errp);
qdev_set_legacy_instance_id(dev, isa->iobase, 3);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 13/22] hw/ide/isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (11 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 12/22] hw/char/serial-isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 14/22] hw/input/pckbd: " Bernhard Beschow
` (8 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: John Snow, Bernhard Beschow, open list:IDE
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/ide/isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index 24bbde24c2..8bedbd13f1 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -75,7 +75,7 @@ static void isa_ide_realizefn(DeviceState *dev, Error **errp)
ide_bus_init(&s->bus, sizeof(s->bus), dev, 0, 2);
ide_init_ioport(&s->bus, isadev, s->iobase, s->iobase2);
- isa_init_irq(isadev, &s->irq, s->isairq);
+ s->irq = isa_get_irq(isadev, s->isairq);
ide_init2(&s->bus, s->irq);
vmstate_register(VMSTATE_IF(dev), 0, &vmstate_ide_isa, s);
ide_register_restart_cb(&s->bus);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 14/22] hw/input/pckbd: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (12 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 13/22] hw/ide/isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 15/22] hw/ipmi/isa_ipmi_bt: " Bernhard Beschow
` (7 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Bernhard Beschow, Michael S. Tsirkin
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/input/pckbd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c
index e56bee87d2..3ee36baf2d 100644
--- a/hw/input/pckbd.c
+++ b/hw/input/pckbd.c
@@ -736,8 +736,8 @@ static void i8042_realizefn(DeviceState *dev, Error **errp)
ISAKBDState *isa_s = I8042(dev);
KBDState *s = &isa_s->kbd;
- isa_init_irq(isadev, &s->irq_kbd, isa_s->kbd_irq);
- isa_init_irq(isadev, &s->irq_mouse, isa_s->mouse_irq);
+ s->irq_kbd = isa_get_irq(isadev, isa_s->kbd_irq);
+ s->irq_mouse = isa_get_irq(isadev, isa_s->mouse_irq);
isa_register_ioport(isadev, isa_s->io + 0, 0x60);
isa_register_ioport(isadev, isa_s->io + 1, 0x64);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 15/22] hw/ipmi/isa_ipmi_bt: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (13 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 14/22] hw/input/pckbd: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 16/22] hw/ipmi/isa_ipmi_kcs: " Bernhard Beschow
` (6 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Corey Minyard
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/ipmi/isa_ipmi_bt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index 02625eb94e..88aa734e9e 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -92,7 +92,7 @@ static void isa_ipmi_bt_realize(DeviceState *dev, Error **errp)
}
if (iib->isairq > 0) {
- isa_init_irq(isadev, &iib->irq, iib->isairq);
+ iib->irq = isa_get_irq(isadev, iib->isairq);
iib->bt.use_irq = 1;
iib->bt.raise_irq = isa_ipmi_bt_raise_irq;
iib->bt.lower_irq = isa_ipmi_bt_lower_irq;
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 16/22] hw/ipmi/isa_ipmi_kcs: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (14 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 15/22] hw/ipmi/isa_ipmi_bt: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 17/22] hw/isa/piix4: " Bernhard Beschow
` (5 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Corey Minyard
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/ipmi/isa_ipmi_kcs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c
index 3b23ad08b3..afabb95ebe 100644
--- a/hw/ipmi/isa_ipmi_kcs.c
+++ b/hw/ipmi/isa_ipmi_kcs.c
@@ -91,7 +91,7 @@ static void ipmi_isa_realize(DeviceState *dev, Error **errp)
}
if (iik->isairq > 0) {
- isa_init_irq(isadev, &iik->irq, iik->isairq);
+ iik->irq = isa_get_irq(isadev, iik->isairq);
iik->kcs.use_irq = 1;
iik->kcs.raise_irq = isa_ipmi_kcs_raise_irq;
iik->kcs.lower_irq = isa_ipmi_kcs_lower_irq;
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 17/22] hw/isa/piix4: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (15 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 16/22] hw/ipmi/isa_ipmi_kcs: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 18/22] hw/net/ne2000-isa: " Bernhard Beschow
` (4 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel
Cc: Hervé Poussineau, Bernhard Beschow,
Philippe Mathieu-Daudé, Aurelien Jarno
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/piix4.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
index cb291d121c..0fd6756dcf 100644
--- a/hw/isa/piix4.c
+++ b/hw/isa/piix4.c
@@ -197,7 +197,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) {
return;
}
- isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, s->rtc.isairq);
+ s->rtc.irq = isa_get_irq(ISA_DEVICE(&s->rtc), s->rtc.isairq);
piix4_dev = dev;
}
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 18/22] hw/net/ne2000-isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (16 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 17/22] hw/isa/piix4: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 19/22] hw/rtc/m48t59-isa: " Bernhard Beschow
` (3 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Jason Wang, Bernhard Beschow
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/net/ne2000-isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index dd6f6e34d3..6ced6775ff 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -68,7 +68,7 @@ static void isa_ne2000_realizefn(DeviceState *dev, Error **errp)
ne2000_setup_io(s, DEVICE(isadev), 0x20);
isa_register_ioport(isadev, &s->io, isa->iobase);
- isa_init_irq(isadev, &s->irq, isa->isairq);
+ s->irq = isa_get_irq(isadev, isa->isairq);
qemu_macaddr_default_if_unset(&s->c.macaddr);
ne2000_reset(s);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 19/22] hw/rtc/m48t59-isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (17 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 18/22] hw/net/ne2000-isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 20/22] hw/tpm/tpm_tis_isa: " Bernhard Beschow
` (2 subsequent siblings)
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: open list:PReP, Hervé Poussineau, Bernhard Beschow
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/rtc/m48t59-isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
index d1c1d789a5..31918c416f 100644
--- a/hw/rtc/m48t59-isa.c
+++ b/hw/rtc/m48t59-isa.c
@@ -101,7 +101,7 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
s->model = u->info.model;
s->size = u->info.size;
- isa_init_irq(isadev, &s->IRQ, d->isairq);
+ s->IRQ = isa_get_irq(isadev, d->isairq);
m48t59_realize_common(s, errp);
memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
if (d->io_base != 0) {
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 20/22] hw/tpm/tpm_tis_isa: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (18 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 19/22] hw/rtc/m48t59-isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 21/22] hw/isa/isa-bus: " Bernhard Beschow
2022-02-22 17:38 ` [PATCH 22/22] isa: Remove unused isa_init_irq() Bernhard Beschow
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow, Stefan Berger
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/tpm/tpm_tis_isa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/tpm/tpm_tis_isa.c b/hw/tpm/tpm_tis_isa.c
index 10d8a14f19..3477afd735 100644
--- a/hw/tpm/tpm_tis_isa.c
+++ b/hw/tpm/tpm_tis_isa.c
@@ -127,7 +127,7 @@ static void tpm_tis_isa_realizefn(DeviceState *dev, Error **errp)
return;
}
- isa_init_irq(ISA_DEVICE(dev), &s->irq, s->irq_num);
+ s->irq = isa_get_irq(ISA_DEVICE(dev), s->irq_num);
memory_region_add_subregion(isa_address_space(ISA_DEVICE(dev)),
TPM_TIS_ADDR_BASE, &s->mmio);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 21/22] hw/isa/isa-bus: Disuse isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (19 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 20/22] hw/tpm/tpm_tis_isa: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
2022-02-22 17:38 ` [PATCH 22/22] isa: Remove unused isa_init_irq() Bernhard Beschow
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow
isa_init_irq() has become a trivial one-line wrapper for isa_get_irq().
Use the original instead such that isa_init_irq() can be removed
eventually.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/isa-bus.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index c64a14120b..1e8c102177 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -92,8 +92,7 @@ void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq)
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, unsigned isairq)
{
- qemu_irq irq;
- isa_init_irq(isadev, &irq, isairq);
+ qemu_irq irq = isa_get_irq(isadev, isairq);
qdev_connect_gpio_out(DEVICE(isadev), gpioirq, irq);
}
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 22/22] isa: Remove unused isa_init_irq()
2022-02-22 17:37 [PATCH 00/22] isa: Resolve unneeded IRQ attributes from ISADevice Bernhard Beschow
` (20 preceding siblings ...)
2022-02-22 17:38 ` [PATCH 21/22] hw/isa/isa-bus: " Bernhard Beschow
@ 2022-02-22 17:38 ` Bernhard Beschow
21 siblings, 0 replies; 25+ messages in thread
From: Bernhard Beschow @ 2022-02-22 17:38 UTC (permalink / raw)
To: qemu-devel; +Cc: Bernhard Beschow
isa_init_irq() had become a trivial one-line wrapper for isa_get_irq().
The previous commits resolved all usages in favor of isa_get_irq().
isa_init_irq() can therefore be removed.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/isa-bus.c | 5 -----
include/hw/isa/isa.h | 1 -
2 files changed, 6 deletions(-)
diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c
index 1e8c102177..0ad1c5fd65 100644
--- a/hw/isa/isa-bus.c
+++ b/hw/isa/isa-bus.c
@@ -85,11 +85,6 @@ qemu_irq isa_get_irq(ISADevice *dev, unsigned isairq)
return isabus->irqs[isairq];
}
-void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq)
-{
- *p = isa_get_irq(dev, isairq);
-}
-
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, unsigned isairq)
{
qemu_irq irq = isa_get_irq(isadev, isairq);
diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h
index d80cab5b79..034d706ba1 100644
--- a/include/hw/isa/isa.h
+++ b/include/hw/isa/isa.h
@@ -90,7 +90,6 @@ ISABus *isa_bus_new(DeviceState *dev, MemoryRegion *address_space,
MemoryRegion *address_space_io, Error **errp);
void isa_bus_irqs(ISABus *bus, qemu_irq *irqs);
qemu_irq isa_get_irq(ISADevice *dev, unsigned isairq);
-void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq);
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, unsigned isairq);
void isa_bus_dma(ISABus *bus, IsaDma *dma8, IsaDma *dma16);
IsaDma *isa_get_dma(ISABus *bus, int nchan);
--
2.35.1
^ permalink raw reply related [flat|nested] 25+ messages in thread