From: Efimov Vasily Date: Wed, 22 Jun 2016 12:24:57 +0000 (+0300) Subject: MC146818 RTC: add GPIO access to output IRQ X-Git-Tag: v2.7.0-rc0~75^2~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3638439d541835f20fb76346f14549800046af76;p=thirdparty%2Fqemu.git MC146818 RTC: add GPIO access to output IRQ The MC146818 RTC device has output IRQ line. Currently the corresponding field is only accessible through direct access. Such access violates Qemu model. The patch makes the field accessible through GPIO. It also updates the setting of the IRQ during initialization. Signed-off-by: Efimov Vasily Signed-off-by: Paolo Bonzini --- diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c index f4e333eb8fb..ea625f25ce1 100644 --- a/hw/timer/mc146818rtc.c +++ b/hw/timer/mc146818rtc.c @@ -906,6 +906,8 @@ static void rtc_realizefn(DeviceState *dev, Error **errp) object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(s), "date", NULL); + + qdev_init_gpio_out(dev, &s->irq, 1); } ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq) @@ -920,9 +922,9 @@ ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq) qdev_prop_set_int32(dev, "base_year", base_year); qdev_init_nofail(dev); if (intercept_irq) { - s->irq = intercept_irq; + qdev_connect_gpio_out(dev, 0, intercept_irq); } else { - isa_init_irq(isadev, &s->irq, RTC_ISA_IRQ); + isa_connect_gpio_out(isadev, 0, RTC_ISA_IRQ); } QLIST_INSERT_HEAD(&rtc_devices, s, link);