From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXNuF-0005Mz-AO for qemu-devel@nongnu.org; Fri, 26 Sep 2014 01:17:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XXNu7-0004Io-QJ for qemu-devel@nongnu.org; Fri, 26 Sep 2014 01:17:23 -0400 Received: from mail-pd0-f178.google.com ([209.85.192.178]:50318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXNu7-0004IY-Ka for qemu-devel@nongnu.org; Fri, 26 Sep 2014 01:17:15 -0400 Received: by mail-pd0-f178.google.com with SMTP id ft15so12107561pdb.9 for ; Thu, 25 Sep 2014 22:17:07 -0700 (PDT) Sender: Peter Crosthwaite From: Peter Crosthwaite Date: Thu, 25 Sep 2014 22:16:31 -0700 Message-Id: Subject: [Qemu-devel] [PATCH qom v3 00/14] GPIO/IRQ QOMification: Phase 2 - Getting rid of SYSBUS IRQs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, pbonzini@redhat.com, agraf@suse.de, afaerber@suse.de Hi All, So phase one was the QOMification of qemu_irq. This is the next step. We start to setup GPIOs as proper QOM objects. Inputs are child objects of their device. Outputs are settable Links and connection is made via proper setting of a QOM link. We then cleanup Sysbus to simply re-use device level GPIOs and get rid of it's special IRQ handling code. CHanged since v2: Remove num_irq from sysbus (P14) Removed out of tree deps. Changed since v1: Addressed Alex review Dropped IRQ g_new0 changes Peter Crosthwaite (14): qdev: gpio: Don't allow name share between I and O qdev: gpio: Register GPIO inputs as child objects qdev: gpio: Register GPIO outputs as QOM links qmp: qstring: Handle NULL strings qom: Allow clearing of a Link property qom: Demote already-has-a-parent to a regular error qdev: gpio: Re-impement qdev_connect_gpio QOM style qdev: gpio: Add API for intercepting a GPIO qtest/irq: Rework IRQ interception irq: Remove qemu_irq_intercept_out qdev: gpio: delete NamedGPIOList::out qdev: gpio: Remove qdev_init_gpio_out x1 restriction qdev: gpio: Define qdev_pass_gpios() sysbus: Use TYPE_DEVICE GPIO functionality hw/core/irq.c | 8 +---- hw/core/qdev.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++---- hw/core/sysbus.c | 20 ++--------- include/hw/irq.h | 1 - include/hw/qdev-core.h | 6 +++- include/hw/sysbus.h | 7 ++-- qobject/qstring.c | 12 ++++--- qom/object.c | 10 ++++-- qtest.c | 15 ++++++--- 9 files changed, 120 insertions(+), 49 deletions(-) -- 2.1.0.1.g27b9230