[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 01/14] qdev: gpio: Don't allow name share between
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [PATCH v2 01/14] qdev: gpio: Don't allow name share between I and O |
Date: |
Thu, 14 Aug 2014 22:29:53 -0700 |
Only allow a GPIO name to be one or the other. Inputs and outputs are
functionally different and should be in different namespaces. Prepares
support for the QOMification of IRQs as Links or Child objects.
The alternative is to munge names .e.g. with "-in" or "-out" suffixes
when giving QOM names. But that reduces clarity and if there are cases
out there where users want I and O with same name they can manually add
their own suffixes.
Signed-off-by: Peter Crosthwaite <address@hidden>
---
hw/core/qdev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index da1ba48..77441aa 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -339,6 +339,7 @@ void qdev_init_gpio_in_named(DeviceState *dev,
qemu_irq_handler handler,
{
NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name);
+ assert(gpio_list->num_out == 0 || !name);
gpio_list->in = qemu_extend_irqs(gpio_list->in, gpio_list->num_in, handler,
dev, n);
gpio_list->num_in += n;
@@ -354,6 +355,7 @@ void qdev_init_gpio_out_named(DeviceState *dev, qemu_irq
*pins,
{
NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name);
+ assert(gpio_list->num_in == 0 || !name);
assert(gpio_list->num_out == 0);
gpio_list->num_out = n;
gpio_list->out = pins;
--
2.0.1.1.gfbfc394
- [Qemu-devel] [PATCH v2 00/14] GPIO/IRQ QOMification: Phase 2 - Getting rid of SYSBUS IRQs, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 01/14] qdev: gpio: Don't allow name share between I and O,
Peter Crosthwaite <=
- [Qemu-devel] [PATCH v2 02/14] qdev: gpio: Register GPIO inputs as child objects, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 03/14] qdev: gpio: Register GPIO outputs as QOM links, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 04/14] qmp: qstring: Handle NULL strings, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 05/14] qom: Allow clearing of a Link property, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 06/14] qom: Demote already-has-a-parent to a regular error, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 07/14] qdev: gpio: Re-impement qdev_connect_gpio QOM style, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 08/14] qdev: gpio: Add API for intercepting a GPIO, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 09/14] qtest/irq: Rework IRQ interception, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 10/14] irq: Remove qemu_irq_intercept_out, Peter Crosthwaite, 2014/08/15
- [Qemu-devel] [PATCH v2 11/14] qdev: gpio: delete NamedGPIOList::out, Peter Crosthwaite, 2014/08/15