summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/arm/freescale/imx/imx_gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/arm/freescale/imx/imx_gpio.c')
-rw-r--r--freebsd/sys/arm/freescale/imx/imx_gpio.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/freebsd/sys/arm/freescale/imx/imx_gpio.c b/freebsd/sys/arm/freescale/imx/imx_gpio.c
index 983e4d74..f5b476d7 100644
--- a/freebsd/sys/arm/freescale/imx/imx_gpio.c
+++ b/freebsd/sys/arm/freescale/imx/imx_gpio.c
@@ -870,6 +870,15 @@ imx51_gpio_detach(device_t dev)
return(0);
}
+static phandle_t
+imx51_gpio_get_node(device_t bus, device_t dev)
+{
+ /*
+ * Share controller node with gpiobus device
+ */
+ return ofw_bus_get_node(bus);
+}
+
static device_method_t imx51_gpio_methods[] = {
DEVMETHOD(device_probe, imx51_gpio_probe),
DEVMETHOD(device_attach, imx51_gpio_attach),
@@ -887,6 +896,9 @@ static device_method_t imx51_gpio_methods[] = {
DEVMETHOD(pic_pre_ithread, gpio_pic_pre_ithread),
#endif
+ /* OFW methods */
+ DEVMETHOD(ofw_bus_get_node, imx51_gpio_get_node),
+
/* GPIO protocol */
DEVMETHOD(gpio_get_bus, imx51_gpio_get_bus),
DEVMETHOD(gpio_pin_max, imx51_gpio_pin_max),