[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/7] isa: Resolve unneeded IRQ attributes from ISADevice
From: |
Bernhard Beschow |
Subject: |
[PATCH v3 0/7] isa: Resolve unneeded IRQ attributes from ISADevice |
Date: |
Tue, 1 Mar 2022 23:00:30 +0100 |
v3:
* Use DEFINE_PROP_UINT8 / uint8_t for new IRQ properties. (Philippe)
* Use "%u" format when printing maximum allowed IRQ number in error messages.
(Philippe)
* Use object_property_get_uint() in pnv.c. (Philippe)
* Squash cleanup patches (7-22) into
"Inline and remove one-line isa_init_irq()" (Philippe)
* Mention in the commit message of patch 1 that mc146818rtc has its IRQ number
now displayed in the human monitor. Since the IRQ numbers of the other
"QOM'ified" devices were already displayed I've only adapted this commit
message. (Philippe)
v2:
* The newly QOM'ified devices now report an error to the user in their realize
functions if the configured IRQ number is greater than 15. (PMM)
v1:
The IRQ attributes of ISADevice are hardcoded to support up to two IRQs per
device which creates an artificial limit. By not having the attributes in the
first place, this limitation can be avoided altogether.
The IRQ attributes are mostly used for printing ('info qtree') and there is one
user, hw/ppc/pnv, to use the attributes directly. As it turns out, the printing
is redundant if the IRQ numbers are exposed as QOM properties and hw/ppc/pnv
can be easily ported away.
The patch series is structured as follows: Patch 1-3 QOM'ify the last devices
which rely on printing their IRQ numbers via the ISADevice attributes. Patch
4 and 5 remove the last users of the ISADevice attributes such that they can be
removed in patch 6. The remainder of the patch series is cleanup.
Patch 6 turns isa_init_irq() into a trivial wrapper for isa_get_irq(). That is,
the former function becomes redundant. All users are therefore converted to use
isa_get_irq() directly. Finally, the last patch removes the now unused
isa_init_irq().
Bernhard Beschow (7):
hw/rtc/mc146818rtc: QOM'ify IRQ number
hw/rtc/m48t59-isa: QOM'ify IRQ number
hw/input/pckbd: QOM'ify IRQ numbers
hw/isa/isa-bus: Remove isabus_dev_print()
hw/ppc/pnv: Determine ns16550's IRQ number from QOM property
isa: Drop unused attributes from ISADevice
isa: Inline and remove one-line isa_init_irq()
hw/audio/cs4231a.c | 2 +-
hw/audio/gus.c | 2 +-
hw/audio/sb16.c | 2 +-
hw/block/fdc-isa.c | 2 +-
hw/char/parallel.c | 2 +-
hw/char/serial-isa.c | 2 +-
hw/ide/isa.c | 2 +-
hw/input/pckbd.c | 26 +++++++++++++++++++++----
hw/ipmi/isa_ipmi_bt.c | 2 +-
hw/ipmi/isa_ipmi_kcs.c | 2 +-
hw/isa/isa-bus.c | 37 +-----------------------------------
hw/isa/piix4.c | 2 +-
hw/net/ne2000-isa.c | 2 +-
hw/ppc/pnv.c | 5 ++++-
hw/rtc/m48t59-isa.c | 9 ++++++++-
hw/rtc/mc146818rtc.c | 13 +++++++++++--
hw/tpm/tpm_tis_isa.c | 2 +-
include/hw/isa/isa.h | 3 ---
include/hw/rtc/mc146818rtc.h | 1 +
tests/qemu-iotests/172.out | 26 -------------------------
20 files changed, 59 insertions(+), 85 deletions(-)
--
2.35.1
- [PATCH v3 0/7] isa: Resolve unneeded IRQ attributes from ISADevice,
Bernhard Beschow <=
- [PATCH v3 1/7] hw/rtc/mc146818rtc: QOM'ify IRQ number, Bernhard Beschow, 2022/03/01
- [PATCH v3 4/7] hw/isa/isa-bus: Remove isabus_dev_print(), Bernhard Beschow, 2022/03/01
- [PATCH v3 5/7] hw/ppc/pnv: Determine ns16550's IRQ number from QOM property, Bernhard Beschow, 2022/03/01
- [PATCH v3 2/7] hw/rtc/m48t59-isa: QOM'ify IRQ number, Bernhard Beschow, 2022/03/01
- [PATCH v3 3/7] hw/input/pckbd: QOM'ify IRQ numbers, Bernhard Beschow, 2022/03/01
- [PATCH v3 7/7] isa: Inline and remove one-line isa_init_irq(), Bernhard Beschow, 2022/03/01
- [PATCH v3 6/7] isa: Drop unused attributes from ISADevice, Bernhard Beschow, 2022/03/01
- Re: [PATCH v3 0/7] isa: Resolve unneeded IRQ attributes from ISADevice, Philippe Mathieu-Daudé, 2022/03/06