summaryrefslogtreecommitdiffstats
path: root/sys/arm/nvidia
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-05-18 15:05:44 +0000
committerandrew <andrew@FreeBSD.org>2016-05-18 15:05:44 +0000
commit5755bcaba97673b1bb0729757de00966d600513f (patch)
tree921f2b3e3bffdc9608defc32ff12df35f90be273 /sys/arm/nvidia
parentbfac6710a1cd178cb851b70f97b616048ea6649c (diff)
downloadFreeBSD-src-5755bcaba97673b1bb0729757de00966d600513f.zip
FreeBSD-src-5755bcaba97673b1bb0729757de00966d600513f.tar.gz
Return the struct intr_pic pointer from intr_pic_register. This will be
needed in later changes where we may not be able to lock the pic list lock to perform a lookup, e.g. from within interrupt context. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/arm/nvidia')
-rw-r--r--sys/arm/nvidia/tegra_gpio.c7
-rw-r--r--sys/arm/nvidia/tegra_lic.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/arm/nvidia/tegra_gpio.c b/sys/arm/nvidia/tegra_gpio.c
index bfe093c..0f88e64 100644
--- a/sys/arm/nvidia/tegra_gpio.c
+++ b/sys/arm/nvidia/tegra_gpio.c
@@ -452,8 +452,11 @@ tegra_gpio_pic_attach(struct tegra_gpio_softc *sc)
if (error != 0)
return (error); /* XXX deregister ISRCs */
}
- return (intr_pic_register(sc->dev,
- OF_xref_from_node(ofw_bus_get_node(sc->dev))));
+ if (intr_pic_register(sc->dev,
+ OF_xref_from_node(ofw_bus_get_node(sc->dev))) == NULL)
+ return (ENXIO);
+
+ return (0);
}
static int
diff --git a/sys/arm/nvidia/tegra_lic.c b/sys/arm/nvidia/tegra_lic.c
index 6228c01..5a27a65 100644
--- a/sys/arm/nvidia/tegra_lic.c
+++ b/sys/arm/nvidia/tegra_lic.c
@@ -233,7 +233,7 @@ tegra_lic_attach(device_t dev)
}
- if (intr_pic_register(dev, OF_xref_from_node(node)) != 0) {
+ if (intr_pic_register(dev, OF_xref_from_node(node)) == NULL) {
device_printf(dev, "Cannot register PIC\n");
goto fail;
}
OpenPOWER on IntegriCloud