[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v1 09/25] qdev: gpio: Ignore unconnectable GPIOs
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [RFC PATCH v1 09/25] qdev: gpio: Ignore unconnectable GPIOs |
Date: |
Thu, 10 Sep 2015 22:33:19 -0700 |
Nop rather than assert if a GPIO connection cannot be made. This
allows for continuation of machine init after an error which allows
removal of error detection boilerplate and detection of subsequent
errors.
The actual error (i.e. a GPIO endpoint was not inited) will have
already been raised by other APIs.
Ideally this API should raise an error in its own right. Add a FIXME.
Signed-off-by: Peter Crosthwaite <address@hidden>
---
hw/core/qdev.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index b2f404a..52140ba 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -467,7 +467,11 @@ qemu_irq qdev_get_gpio_in_named(DeviceState *dev, const
char *name, int n)
{
NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name);
- assert(n >= 0 && n < gpio_list->num_in);
+ assert(n >= 0);
+ if (n >= gpio_list->num_in) {
+ /* FIXME: add error ** to this API */
+ return NULL;
+ }
return gpio_list->in[n];
}
@@ -491,7 +495,8 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const
char *name, int n,
"/unattached"),
"non-qdev-gpio[*]", OBJECT(pin), NULL);
}
- object_property_set_link(OBJECT(dev), OBJECT(pin), propname, &error_abort);
+ /* FIXME: add error ** to this API */
+ object_property_set_link(OBJECT(dev), OBJECT(pin), propname, NULL);
g_free(propname);
}
--
1.9.1
- [Qemu-devel] [RFC PATCH v1 00/25] error: Automatic error concatenation and prefixing, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 01/25] exec: convert error_report to error_report_err, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 02/25] s390x: virtio-ccw: Remove un-needed if guard, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 03/25] error: Factor out common error setter logic, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 04/25] error: Add support for multiple errors, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 05/25] error: Add error prefix API, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 07/25] sysbus: mmio_map+mmio_get_region: ignore range OOB errors, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 06/25] error: Add error_printf_fn(), Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 08/25] memory: nop APIs when they have NULL arguments, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 09/25] qdev: gpio: Ignore unconnectable GPIOs,
Peter Crosthwaite <=
- [Qemu-devel] [RFC PATCH v1 10/25] arm: xlnx-zynqmp: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 12/25] arm: netduino: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 11/25] arm: fsl-imx*: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 13/25] arm: allwinner: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 14/25] arm: digic: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 15/25] cpu: arm: Remove un-needed error checking, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 16/25] ppc: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 17/25] i386: pc: Update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 18/25] monitor: update error API usages, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [RFC PATCH v1 19/25] qdev: Update error API usages, Peter Crosthwaite, 2015/09/11