diff --git a/sys/arm/allwinner/a10_clk.c b/sys/arm/allwinner/a10_clk.c index 8518c742b78d..aca137d2a2a6 100644 --- a/sys/arm/allwinner/a10_clk.c +++ b/sys/arm/allwinner/a10_clk.c @@ -69,6 +69,10 @@ static struct a10_ccm_softc *a10_ccm_sc = NULL; static int a10_ccm_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "allwinner,sun4i-ccm")) { device_set_desc(dev, "Allwinner Clock Control Module"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/allwinner/a10_ehci.c b/sys/arm/allwinner/a10_ehci.c index 4145a5c3a750..657a5f592f41 100644 --- a/sys/arm/allwinner/a10_ehci.c +++ b/sys/arm/allwinner/a10_ehci.c @@ -93,6 +93,10 @@ bs_w_1_proto(reversed); static int a10_ehci_probe(device_t self) { + + if (!ofw_bus_status_okay(self)) + return (ENXIO); + if (!ofw_bus_is_compatible(self, "allwinner,usb-ehci")) return (ENXIO); diff --git a/sys/arm/allwinner/a10_gpio.c b/sys/arm/allwinner/a10_gpio.c index c14f22845460..1ecb27bd9582 100644 --- a/sys/arm/allwinner/a10_gpio.c +++ b/sys/arm/allwinner/a10_gpio.c @@ -410,6 +410,10 @@ a10_gpio_pin_toggle(device_t dev, uint32_t pin) static int a10_gpio_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "allwinner,sun4i-gpio")) return (ENXIO); diff --git a/sys/arm/allwinner/a10_wdog.c b/sys/arm/allwinner/a10_wdog.c index f9519361dd3c..af7365b4abe3 100644 --- a/sys/arm/allwinner/a10_wdog.c +++ b/sys/arm/allwinner/a10_wdog.c @@ -93,6 +93,9 @@ static int a10wd_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "allwinner,sun4i-wdt")) { device_set_desc(dev, "Allwinner A10 Watchdog"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/allwinner/a20/a20_cpu_cfg.c b/sys/arm/allwinner/a20/a20_cpu_cfg.c index 4e6395b2681d..dd560f8e2d05 100644 --- a/sys/arm/allwinner/a20/a20_cpu_cfg.c +++ b/sys/arm/allwinner/a20/a20_cpu_cfg.c @@ -70,6 +70,9 @@ static int a20_cpu_cfg_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "allwinner,sun7i-cpu-cfg")) { device_set_desc(dev, "A20 CPU Configuration Module"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/allwinner/aintc.c b/sys/arm/allwinner/aintc.c index bfa35f5bb54d..ca537eb31e61 100644 --- a/sys/arm/allwinner/aintc.c +++ b/sys/arm/allwinner/aintc.c @@ -97,6 +97,10 @@ static struct a10_aintc_softc *a10_aintc_sc = NULL; static int a10_aintc_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "allwinner,sun4i-ic")) return (ENXIO); device_set_desc(dev, "A10 AINTC Interrupt Controller"); diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 1b8fd1f718af..8de31bf0b612 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -244,6 +244,9 @@ static int arm_tmr_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,armv7-timer")) return (ENXIO); diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index a6acc9635ba7..9472edb92a78 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -129,6 +129,9 @@ static int arm_gic_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,gic")) return (ENXIO); device_set_desc(dev, "ARM Generic Interrupt Controller"); diff --git a/sys/arm/arm/mpcore_timer.c b/sys/arm/arm/mpcore_timer.c index e2f6fbd4e820..5024efe1254a 100644 --- a/sys/arm/arm/mpcore_timer.c +++ b/sys/arm/arm/mpcore_timer.c @@ -247,6 +247,10 @@ arm_tmr_intr(void *arg) static int arm_tmr_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,mpcore-timers")) return (ENXIO); diff --git a/sys/arm/arm/pl190.c b/sys/arm/arm/pl190.c index 3e0671c97584..01cd84a193f5 100644 --- a/sys/arm/arm/pl190.c +++ b/sys/arm/arm/pl190.c @@ -78,6 +78,10 @@ static struct pl190_intc_softc *pl190_intc_sc = NULL; static int pl190_intc_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,versatile-vic")) return (ENXIO); device_set_desc(dev, "ARM PL190 VIC"); diff --git a/sys/arm/arm/pl310.c b/sys/arm/arm/pl310.c index 11ea5c7f2140..64e98b6373bf 100644 --- a/sys/arm/arm/pl310.c +++ b/sys/arm/arm/pl310.c @@ -281,6 +281,9 @@ static int pl310_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,pl310")) return (ENXIO); device_set_desc(dev, "PL310 L2 cache controller"); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c index 9ee97b7416ca..33e4769e1735 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c @@ -222,6 +222,9 @@ static int bcm_bsc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-bsc")) return (ENXIO); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_dma.c b/sys/arm/broadcom/bcm2835/bcm2835_dma.c index e86cc11d2b94..6a2967ab7fe7 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_dma.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_dma.c @@ -637,6 +637,9 @@ static int bcm_dma_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-dma")) return (ENXIO); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_gpio.c b/sys/arm/broadcom/bcm2835/bcm2835_gpio.c index 6da218a7380f..80e110e2c5e2 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_gpio.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_gpio.c @@ -674,6 +674,10 @@ bcm_gpio_get_reserved_pins(struct bcm_gpio_softc *sc) static int bcm_gpio_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-gpio")) return (ENXIO); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_intr.c b/sys/arm/broadcom/bcm2835/bcm2835_intr.c index 09092a0873a5..4a94c699d371 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_intr.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_intr.c @@ -90,6 +90,10 @@ static struct bcm_intc_softc *bcm_intc_sc = NULL; static int bcm_intc_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-armctrl-ic")) return (ENXIO); device_set_desc(dev, "BCM2835 Interrupt Controller"); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_mbox.c b/sys/arm/broadcom/bcm2835/bcm2835_mbox.c index b94a030dd260..6667b2c3d873 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_mbox.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_mbox.c @@ -128,6 +128,9 @@ static int bcm_mbox_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "broadcom,bcm2835-mbox")) { device_set_desc(dev, "BCM2835 VideoCore Mailbox"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c index eb8df2a406dd..82d30268359d 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c @@ -151,6 +151,10 @@ bcm_dmamap_cb(void *arg, bus_dma_segment_t *segs, static int bcm_sdhci_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-sdhci")) return (ENXIO); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_spi.c b/sys/arm/broadcom/bcm2835/bcm2835_spi.c index 47a7d9804dcd..c9f6d335a163 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_spi.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_spi.c @@ -231,6 +231,9 @@ static int bcm_spi_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-spi")) return (ENXIO); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_systimer.c b/sys/arm/broadcom/bcm2835/bcm2835_systimer.c index a72736654ed1..1dc8d5d9dbc6 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_systimer.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_systimer.c @@ -186,6 +186,9 @@ static int bcm_systimer_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "broadcom,bcm2835-system-timer")) { device_set_desc(dev, "BCM2835 System Timer"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_wdog.c b/sys/arm/broadcom/bcm2835/bcm2835_wdog.c index fbe3beded63a..53ec234c392c 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_wdog.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_wdog.c @@ -85,6 +85,9 @@ static int bcmwd_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "broadcom,bcm2835-wdt")) { device_set_desc(dev, "BCM2708/2835 Watchdog"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/freescale/imx/i2c.c b/sys/arm/freescale/imx/i2c.c index a452c6da57d8..dd74a7dd847f 100644 --- a/sys/arm/freescale/imx/i2c.c +++ b/sys/arm/freescale/imx/i2c.c @@ -224,6 +224,9 @@ i2c_probe(device_t dev) { struct i2c_softc *sc; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,imx-i2c")) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx51_ccm.c b/sys/arm/freescale/imx/imx51_ccm.c index 86cf87ab22c4..61fdfdc75b39 100644 --- a/sys/arm/freescale/imx/imx51_ccm.c +++ b/sys/arm/freescale/imx/imx51_ccm.c @@ -141,6 +141,9 @@ static int imxccm_match(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,imx51-ccm") && !ofw_bus_is_compatible(dev, "fsl,imx53-ccm")) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx51_gpio.c b/sys/arm/freescale/imx/imx51_gpio.c index f9890a83b148..1c1eed188753 100644 --- a/sys/arm/freescale/imx/imx51_gpio.c +++ b/sys/arm/freescale/imx/imx51_gpio.c @@ -370,6 +370,9 @@ static int imx51_gpio_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio") || ofw_bus_is_compatible(dev, "fsl,imx53-gpio")) { device_set_desc(dev, "i.MX515 GPIO Controller"); diff --git a/sys/arm/freescale/imx/imx51_iomux.c b/sys/arm/freescale/imx/imx51_iomux.c index 5096f2c2ff81..18738a1d7eee 100644 --- a/sys/arm/freescale/imx/imx51_iomux.c +++ b/sys/arm/freescale/imx/imx51_iomux.c @@ -106,6 +106,9 @@ static int iomux_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,imx51-iomux") && !ofw_bus_is_compatible(dev, "fsl,imx53-iomux")) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx51_ipuv3.c b/sys/arm/freescale/imx/imx51_ipuv3.c index a7781f39b4f7..c86b7aa494c3 100644 --- a/sys/arm/freescale/imx/imx51_ipuv3.c +++ b/sys/arm/freescale/imx/imx51_ipuv3.c @@ -254,6 +254,9 @@ ipu3_fb_probe(device_t dev) { int error; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,ipu3")) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx51_ipuv3_fbd.c b/sys/arm/freescale/imx/imx51_ipuv3_fbd.c index 8756ba326a6f..3bb72183bd79 100644 --- a/sys/arm/freescale/imx/imx51_ipuv3_fbd.c +++ b/sys/arm/freescale/imx/imx51_ipuv3_fbd.c @@ -184,6 +184,9 @@ static int ipu3_fb_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,ipu3")) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx6_anatop.c b/sys/arm/freescale/imx/imx6_anatop.c index d50bab2bef08..893fb1807930 100644 --- a/sys/arm/freescale/imx/imx6_anatop.c +++ b/sys/arm/freescale/imx/imx6_anatop.c @@ -126,6 +126,9 @@ static int imx6_anatop_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,imx6q-anatop") == 0) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx6_ccm.c b/sys/arm/freescale/imx/imx6_ccm.c index 0f1c610d0ae2..e42335a0b9bf 100644 --- a/sys/arm/freescale/imx/imx6_ccm.c +++ b/sys/arm/freescale/imx/imx6_ccm.c @@ -121,6 +121,9 @@ static int ccm_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,imx6q-ccm") == 0) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx6_usbphy.c b/sys/arm/freescale/imx/imx6_usbphy.c index a1841909a3d6..7f3e362a5631 100644 --- a/sys/arm/freescale/imx/imx6_usbphy.c +++ b/sys/arm/freescale/imx/imx6_usbphy.c @@ -160,6 +160,9 @@ static int usbphy_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,imx6q-usbphy") == 0) return (ENXIO); diff --git a/sys/arm/freescale/imx/imx_gpt.c b/sys/arm/freescale/imx/imx_gpt.c index 9b4f6a5190aa..0e32bc934bec 100644 --- a/sys/arm/freescale/imx/imx_gpt.c +++ b/sys/arm/freescale/imx/imx_gpt.c @@ -121,6 +121,9 @@ static int imx_gpt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data != 0) { device_set_desc(dev, "Freescale i.MX GPT timer"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/freescale/imx/imx_nop_usbphy.c b/sys/arm/freescale/imx/imx_nop_usbphy.c index 50d9f59a0ec0..38473dd7696b 100644 --- a/sys/arm/freescale/imx/imx_nop_usbphy.c +++ b/sys/arm/freescale/imx/imx_nop_usbphy.c @@ -89,6 +89,9 @@ static int usbphy_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data != 0) { device_set_desc(dev, "Freescale USB PHY"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/freescale/imx/imx_sdhci.c b/sys/arm/freescale/imx/imx_sdhci.c index ff30d14801ea..baa9162bee3d 100644 --- a/sys/arm/freescale/imx/imx_sdhci.c +++ b/sys/arm/freescale/imx/imx_sdhci.c @@ -643,6 +643,9 @@ static int imx_sdhci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + switch (ofw_bus_search_compatible(dev, compat_data)->ocd_data) { case HWTYPE_ESDHC: device_set_desc(dev, "Freescale eSDHC controller"); diff --git a/sys/arm/freescale/imx/imx_wdog.c b/sys/arm/freescale/imx/imx_wdog.c index 02c454e65a99..cadd1d774284 100644 --- a/sys/arm/freescale/imx/imx_wdog.c +++ b/sys/arm/freescale/imx/imx_wdog.c @@ -130,6 +130,9 @@ static int imx_wdog_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,imx51-wdt") && !ofw_bus_is_compatible(dev, "fsl,imx53-wdt")) return (ENXIO); diff --git a/sys/arm/freescale/imx/tzic.c b/sys/arm/freescale/imx/tzic.c index b1a3b07f18a8..39548dc5bfd2 100644 --- a/sys/arm/freescale/imx/tzic.c +++ b/sys/arm/freescale/imx/tzic.c @@ -76,6 +76,10 @@ static void tzic_post_filter(void *); static int tzic_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,tzic")) { device_set_desc(dev, "TrustZone Interrupt Controller"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/freescale/vybrid/vf_anadig.c b/sys/arm/freescale/vybrid/vf_anadig.c index 49964bcc3538..34dd63db79de 100644 --- a/sys/arm/freescale/vybrid/vf_anadig.c +++ b/sys/arm/freescale/vybrid/vf_anadig.c @@ -114,6 +114,9 @@ static int anadig_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-anadig")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_ccm.c b/sys/arm/freescale/vybrid/vf_ccm.c index ce3e0bc546c3..6466b43f0bfd 100644 --- a/sys/arm/freescale/vybrid/vf_ccm.c +++ b/sys/arm/freescale/vybrid/vf_ccm.c @@ -339,6 +339,9 @@ static int ccm_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-ccm")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_ehci.c b/sys/arm/freescale/vybrid/vf_ehci.c index 47639db73449..c78be01490b2 100644 --- a/sys/arm/freescale/vybrid/vf_ehci.c +++ b/sys/arm/freescale/vybrid/vf_ehci.c @@ -176,6 +176,9 @@ static int vybrid_ehci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "fsl,mvf600-usb-ehci") == 0) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_gpio.c b/sys/arm/freescale/vybrid/vf_gpio.c index 8a7b9b197dc1..3b8afc2c5e85 100644 --- a/sys/arm/freescale/vybrid/vf_gpio.c +++ b/sys/arm/freescale/vybrid/vf_gpio.c @@ -123,6 +123,9 @@ static int vf_gpio_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-gpio")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_iomuxc.c b/sys/arm/freescale/vybrid/vf_iomuxc.c index 20b1fd17547f..8bfaa8dd9a10 100644 --- a/sys/arm/freescale/vybrid/vf_iomuxc.c +++ b/sys/arm/freescale/vybrid/vf_iomuxc.c @@ -90,6 +90,9 @@ static int iomuxc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-iomuxc")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_mscm.c b/sys/arm/freescale/vybrid/vf_mscm.c index 574162762374..b07181e37575 100644 --- a/sys/arm/freescale/vybrid/vf_mscm.c +++ b/sys/arm/freescale/vybrid/vf_mscm.c @@ -75,6 +75,9 @@ static int mscm_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-mscm")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_nfc.c b/sys/arm/freescale/vybrid/vf_nfc.c index 8132200c16dc..28db4c683074 100644 --- a/sys/arm/freescale/vybrid/vf_nfc.c +++ b/sys/arm/freescale/vybrid/vf_nfc.c @@ -171,6 +171,9 @@ static int vf_nand_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-nand")) return (ENXIO); diff --git a/sys/arm/freescale/vybrid/vf_src.c b/sys/arm/freescale/vybrid/vf_src.c index 0fe6f3b3f15a..ac9b23bae58a 100644 --- a/sys/arm/freescale/vybrid/vf_src.c +++ b/sys/arm/freescale/vybrid/vf_src.c @@ -102,6 +102,9 @@ static int src_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,mvf600-src")) return (ENXIO); diff --git a/sys/arm/lpc/if_lpe.c b/sys/arm/lpc/if_lpe.c index f8a8659ec119..50f5f37f7b3f 100644 --- a/sys/arm/lpc/if_lpe.c +++ b/sys/arm/lpc/if_lpe.c @@ -190,6 +190,9 @@ static int lpe_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,ethernet")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_dmac.c b/sys/arm/lpc/lpc_dmac.c index 6c872ae9a093..a4c64c678176 100644 --- a/sys/arm/lpc/lpc_dmac.c +++ b/sys/arm/lpc/lpc_dmac.c @@ -90,6 +90,10 @@ static void lpc_dmac_intr(void *); static int lpc_dmac_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,dmac")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_fb.c b/sys/arm/lpc/lpc_fb.c index 0cc92b5f82fb..5385d30bee6f 100644 --- a/sys/arm/lpc/lpc_fb.c +++ b/sys/arm/lpc/lpc_fb.c @@ -138,6 +138,10 @@ static struct cdevsw lpc_fb_cdevsw = { static int lpc_fb_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,fb")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_gpio.c b/sys/arm/lpc/lpc_gpio.c index 33b32ee35ef4..9c13d62598be 100644 --- a/sys/arm/lpc/lpc_gpio.c +++ b/sys/arm/lpc/lpc_gpio.c @@ -160,6 +160,10 @@ static struct lpc_gpio_softc *lpc_gpio_sc = NULL; static int lpc_gpio_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,gpio")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_intc.c b/sys/arm/lpc/lpc_intc.c index b39704d62428..3137e89c5727 100644 --- a/sys/arm/lpc/lpc_intc.c +++ b/sys/arm/lpc/lpc_intc.c @@ -68,6 +68,9 @@ static int lpc_intc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,pic")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_mmc.c b/sys/arm/lpc/lpc_mmc.c index 257487d70d71..5dc6722b48b2 100644 --- a/sys/arm/lpc/lpc_mmc.c +++ b/sys/arm/lpc/lpc_mmc.c @@ -166,6 +166,10 @@ static struct lpc_dmac_channel_config lpc_mmc_dma_txconf = { static int lpc_mmc_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,mmc")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_ohci.c b/sys/arm/lpc/lpc_ohci.c index c6ebef9d2d5b..d05b3a3afaf9 100644 --- a/sys/arm/lpc/lpc_ohci.c +++ b/sys/arm/lpc/lpc_ohci.c @@ -98,6 +98,10 @@ static void lpc_isp3101_configure(device_t dev, struct ohci_softc *); static int lpc_ohci_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,usb-ohci")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_pwr.c b/sys/arm/lpc/lpc_pwr.c index 53127f9726f3..2b56e8cf6444 100644 --- a/sys/arm/lpc/lpc_pwr.c +++ b/sys/arm/lpc/lpc_pwr.c @@ -65,6 +65,9 @@ static int lpc_pwr_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,pwr")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_rtc.c b/sys/arm/lpc/lpc_rtc.c index d2812482f061..80c378d3ddb9 100644 --- a/sys/arm/lpc/lpc_rtc.c +++ b/sys/arm/lpc/lpc_rtc.c @@ -63,6 +63,9 @@ static int lpc_rtc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,rtc")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_spi.c b/sys/arm/lpc/lpc_spi.c index 96a0e2673ed6..5bf8f7dad1be 100644 --- a/sys/arm/lpc/lpc_spi.c +++ b/sys/arm/lpc/lpc_spi.c @@ -85,6 +85,10 @@ static int lpc_spi_transfer(device_t, device_t, struct spi_command *); static int lpc_spi_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,spi")) return (ENXIO); diff --git a/sys/arm/lpc/lpc_timer.c b/sys/arm/lpc/lpc_timer.c index 0ceee9e3a0e1..5769435d3757 100644 --- a/sys/arm/lpc/lpc_timer.c +++ b/sys/arm/lpc/lpc_timer.c @@ -111,6 +111,9 @@ static int lpc_timer_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "lpc,timer")) return (ENXIO); diff --git a/sys/arm/mv/gpio.c b/sys/arm/mv/gpio.c index 5f79bef5a15a..1bdb81b588fd 100644 --- a/sys/arm/mv/gpio.c +++ b/sys/arm/mv/gpio.c @@ -125,6 +125,9 @@ static int mv_gpio_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,gpio")) return (ENXIO); diff --git a/sys/arm/mv/ic.c b/sys/arm/mv/ic.c index 96159a775bce..244b3fd54748 100644 --- a/sys/arm/mv/ic.c +++ b/sys/arm/mv/ic.c @@ -80,6 +80,9 @@ static int mv_ic_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,pic")) return (ENXIO); diff --git a/sys/arm/mv/mpic.c b/sys/arm/mv/mpic.c index 0a1be1dae5ed..813caf48fa0f 100644 --- a/sys/arm/mv/mpic.c +++ b/sys/arm/mv/mpic.c @@ -127,6 +127,9 @@ static int mv_mpic_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,mpic")) return (ENXIO); diff --git a/sys/arm/mv/mv_sata.c b/sys/arm/mv/mv_sata.c index 87b3823857c5..3c6d0d56f163 100644 --- a/sys/arm/mv/mv_sata.c +++ b/sys/arm/mv/mv_sata.c @@ -185,6 +185,9 @@ sata_probe(device_t dev) struct sata_softc *sc; uint32_t d, r; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,sata")) return (ENXIO); diff --git a/sys/arm/mv/mv_ts.c b/sys/arm/mv/mv_ts.c index ec4ee4fb986d..7c2a11338e52 100644 --- a/sys/arm/mv/mv_ts.c +++ b/sys/arm/mv/mv_ts.c @@ -59,6 +59,9 @@ ts_probe(device_t dev) { uint32_t d, r; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,ts")) return (ENXIO); soc_id(&d, &r); diff --git a/sys/arm/mv/rtc.c b/sys/arm/mv/rtc.c index 1605187fa759..caa28fe2f1cf 100644 --- a/sys/arm/mv/rtc.c +++ b/sys/arm/mv/rtc.c @@ -97,6 +97,9 @@ static int mv_rtc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,rtc")) return (ENXIO); diff --git a/sys/arm/mv/timer.c b/sys/arm/mv/timer.c index 91305b084824..3c6f1497d9c6 100644 --- a/sys/arm/mv/timer.c +++ b/sys/arm/mv/timer.c @@ -108,6 +108,9 @@ static int mv_timer_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,timer")) return (ENXIO); diff --git a/sys/arm/mv/twsi.c b/sys/arm/mv/twsi.c index 7b284ae87c54..fa6f5d70a81f 100644 --- a/sys/arm/mv/twsi.c +++ b/sys/arm/mv/twsi.c @@ -305,6 +305,9 @@ static int mv_twsi_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,twsi")) return (ENXIO); diff --git a/sys/arm/rockchip/rk30xx_gpio.c b/sys/arm/rockchip/rk30xx_gpio.c index fd8223ad9206..a393e242d7a4 100644 --- a/sys/arm/rockchip/rk30xx_gpio.c +++ b/sys/arm/rockchip/rk30xx_gpio.c @@ -441,6 +441,9 @@ static int rk30_gpio_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "rockchip,rk30xx-gpio")) return (ENXIO); diff --git a/sys/arm/rockchip/rk30xx_grf.c b/sys/arm/rockchip/rk30xx_grf.c index a2ff38a0603e..1b1f6d9d6af0 100644 --- a/sys/arm/rockchip/rk30xx_grf.c +++ b/sys/arm/rockchip/rk30xx_grf.c @@ -70,6 +70,9 @@ static int rk30_grf_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "rockchip,rk30xx-grf")) { device_set_desc(dev, "RK30XX General Register File"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/rockchip/rk30xx_pmu.c b/sys/arm/rockchip/rk30xx_pmu.c index 72f104dc27bf..9e264b9b9335 100644 --- a/sys/arm/rockchip/rk30xx_pmu.c +++ b/sys/arm/rockchip/rk30xx_pmu.c @@ -70,6 +70,9 @@ static int rk30_pmu_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "rockchip,rk30xx-pmu")) { device_set_desc(dev, "RK30XX PMU"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/rockchip/rk30xx_wdog.c b/sys/arm/rockchip/rk30xx_wdog.c index f5761c97d585..d6c60929cb6f 100644 --- a/sys/arm/rockchip/rk30xx_wdog.c +++ b/sys/arm/rockchip/rk30xx_wdog.c @@ -84,6 +84,9 @@ static int rk30_wd_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "rockchip,rk30xx-wdt")) { device_set_desc(dev, "Rockchip RK30XX Watchdog"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/samsung/exynos/arch_timer.c b/sys/arm/samsung/exynos/arch_timer.c index 86bb6f337386..9408df52d3cd 100644 --- a/sys/arm/samsung/exynos/arch_timer.c +++ b/sys/arm/samsung/exynos/arch_timer.c @@ -71,6 +71,10 @@ static struct resource_spec arm_tmr_spec[] = { static int arm_tmr_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "exynos,mct")) return (ENXIO); diff --git a/sys/arm/samsung/exynos/ehci_exynos5.c b/sys/arm/samsung/exynos/ehci_exynos5.c index 71c43d8b6119..7022d46e9864 100644 --- a/sys/arm/samsung/exynos/ehci_exynos5.c +++ b/sys/arm/samsung/exynos/ehci_exynos5.c @@ -147,6 +147,9 @@ static int exynos_ehci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "exynos,usb-ehci") == 0) return (ENXIO); diff --git a/sys/arm/ti/aintc.c b/sys/arm/ti/aintc.c index a8887d32aef8..659db15c820f 100644 --- a/sys/arm/ti/aintc.c +++ b/sys/arm/ti/aintc.c @@ -81,6 +81,10 @@ static struct ti_aintc_softc *ti_aintc_sc = NULL; static int ti_aintc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (!ofw_bus_is_compatible(dev, "ti,aintc")) return (ENXIO); device_set_desc(dev, "TI AINTC Interrupt Controller"); diff --git a/sys/arm/ti/am335x/am335x_dmtimer.c b/sys/arm/ti/am335x/am335x_dmtimer.c index 8007ca14c3e7..a01cf6a23566 100644 --- a/sys/arm/ti/am335x/am335x_dmtimer.c +++ b/sys/arm/ti/am335x/am335x_dmtimer.c @@ -528,6 +528,9 @@ static int am335x_dmtimer_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "ti,am335x-dmtimer")) { device_set_desc(dev, "AM335x DMTimer"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/ti/am335x/am335x_lcd.c b/sys/arm/ti/am335x/am335x_lcd.c index b23600273418..0f36513733f9 100644 --- a/sys/arm/ti/am335x/am335x_lcd.c +++ b/sys/arm/ti/am335x/am335x_lcd.c @@ -404,6 +404,9 @@ am335x_lcd_probe(device_t dev) { int err; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,am335x-lcd")) return (ENXIO); diff --git a/sys/arm/ti/am335x/am335x_prcm.c b/sys/arm/ti/am335x/am335x_prcm.c index a62b2e103065..a146b7674fc6 100644 --- a/sys/arm/ti/am335x/am335x_prcm.c +++ b/sys/arm/ti/am335x/am335x_prcm.c @@ -370,6 +370,10 @@ void am335x_prcm_setup_dmtimer(int); static int am335x_prcm_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "am335x,prcm")) { device_set_desc(dev, "AM335x Power and Clock Management"); return(BUS_PROBE_DEFAULT); diff --git a/sys/arm/ti/am335x/am335x_pwm.c b/sys/arm/ti/am335x/am335x_pwm.c index d64e08fb7c99..bf9f7c5b4b81 100644 --- a/sys/arm/ti/am335x/am335x_pwm.c +++ b/sys/arm/ti/am335x/am335x_pwm.c @@ -309,6 +309,10 @@ am335x_pwm_sysctl_period(SYSCTL_HANDLER_ARGS) static int am335x_pwm_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,am335x-pwm")) return (ENXIO); diff --git a/sys/arm/ti/am335x/am335x_usbss.c b/sys/arm/ti/am335x/am335x_usbss.c index 75b92ba69ee8..f1204f35e960 100644 --- a/sys/arm/ti/am335x/am335x_usbss.c +++ b/sys/arm/ti/am335x/am335x_usbss.c @@ -250,6 +250,10 @@ musbotg_wrapper_interrupt(void *arg) static int musbotg_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,musb-am33xx")) return (ENXIO); diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c index cb322a66eee3..ab0824e40950 100644 --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -445,6 +445,9 @@ static int cpsw_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,cpsw")) return (ENXIO); diff --git a/sys/arm/ti/omap4/omap4_prcm_clks.c b/sys/arm/ti/omap4/omap4_prcm_clks.c index 034e61554912..5d8f49ac98c6 100644 --- a/sys/arm/ti/omap4/omap4_prcm_clks.c +++ b/sys/arm/ti/omap4/omap4_prcm_clks.c @@ -1363,6 +1363,10 @@ omap4_prcm_reset(void) static int omap4_prcm_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,omap4_prcm")) return (ENXIO); diff --git a/sys/arm/ti/ti_edma3.c b/sys/arm/ti/ti_edma3.c index ea1ee28ca1e1..1489ff7c9452 100644 --- a/sys/arm/ti/ti_edma3.c +++ b/sys/arm/ti/ti_edma3.c @@ -142,6 +142,10 @@ static struct { static int ti_edma3_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,edma3")) return (ENXIO); diff --git a/sys/arm/ti/ti_gpio.c b/sys/arm/ti/ti_gpio.c index 5469d8b6fadf..33c13dcb2e9f 100644 --- a/sys/arm/ti/ti_gpio.c +++ b/sys/arm/ti/ti_gpio.c @@ -627,6 +627,10 @@ ti_gpio_intr(void *arg) static int ti_gpio_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,gpio")) return (ENXIO); diff --git a/sys/arm/ti/ti_i2c.c b/sys/arm/ti/ti_i2c.c index f23a8ea9b66a..089c2def1921 100644 --- a/sys/arm/ti/ti_i2c.c +++ b/sys/arm/ti/ti_i2c.c @@ -1020,6 +1020,10 @@ ti_i2c_deactivate(device_t dev) static int ti_i2c_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,i2c")) return (ENXIO); diff --git a/sys/arm/ti/ti_mbox.c b/sys/arm/ti/ti_mbox.c index da007267397d..994b0a087834 100644 --- a/sys/arm/ti/ti_mbox.c +++ b/sys/arm/ti/ti_mbox.c @@ -119,6 +119,10 @@ ti_mbox_reg_write(struct ti_mbox_softc *sc, uint16_t reg, uint32_t val) static int ti_mbox_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "ti,system-mbox")) { device_set_desc(dev, "TI System Mailbox"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/ti/ti_mmchs.c b/sys/arm/ti/ti_mmchs.c index 281d1cd771db..f6ef6f663642 100644 --- a/sys/arm/ti/ti_mmchs.c +++ b/sys/arm/ti/ti_mmchs.c @@ -1656,6 +1656,10 @@ ti_mmchs_activate(device_t dev) static int ti_mmchs_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,mmchs")) return (ENXIO); diff --git a/sys/arm/ti/ti_pruss.c b/sys/arm/ti/ti_pruss.c index 8b9ab4b201b0..f7f7fbd10269 100644 --- a/sys/arm/ti/ti_pruss.c +++ b/sys/arm/ti/ti_pruss.c @@ -145,6 +145,10 @@ ti_pruss_reg_write(struct ti_pruss_softc *sc, uint32_t reg, uint32_t val) static int ti_pruss_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "ti,pruss-v1") || ofw_bus_is_compatible(dev, "ti,pruss-v2")) { device_set_desc(dev, "TI Programmable Realtime Unit Subsystem"); diff --git a/sys/arm/ti/ti_scm.c b/sys/arm/ti/ti_scm.c index aafcf2dfe099..4c20d96ce786 100644 --- a/sys/arm/ti/ti_scm.c +++ b/sys/arm/ti/ti_scm.c @@ -418,6 +418,10 @@ ti_scm_padconf_init_from_fdt(struct ti_scm_softc *sc) static int ti_scm_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,scm")) return (ENXIO); diff --git a/sys/arm/ti/ti_sdhci.c b/sys/arm/ti/ti_sdhci.c index 218983bac86f..ee044f5d5e3c 100644 --- a/sys/arm/ti/ti_sdhci.c +++ b/sys/arm/ti/ti_sdhci.c @@ -582,6 +582,9 @@ static int ti_sdhci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data != 0) { device_set_desc(dev, "TI MMCHS (SDHCI 2.0)"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/ti/ti_sdma.c b/sys/arm/ti/ti_sdma.c index 4c55c41e31c5..4e9dbfe7cfcf 100644 --- a/sys/arm/ti/ti_sdma.c +++ b/sys/arm/ti/ti_sdma.c @@ -1127,6 +1127,10 @@ ti_sdma_set_addr_mode(unsigned int ch, unsigned int src_mode, static int ti_sdma_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,sdma")) return (ENXIO); diff --git a/sys/arm/ti/usb/omap_ehci.c b/sys/arm/ti/usb/omap_ehci.c index 1f34f1276192..c7a80a066eae 100644 --- a/sys/arm/ti/usb/omap_ehci.c +++ b/sys/arm/ti/usb/omap_ehci.c @@ -736,6 +736,10 @@ omap_ehci_shutdown(device_t dev) static int omap_ehci_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "ti,usb-ehci")) return (ENXIO); diff --git a/sys/arm/versatile/if_smc_fdt.c b/sys/arm/versatile/if_smc_fdt.c index 8334c27103c4..d010f93723ce 100644 --- a/sys/arm/versatile/if_smc_fdt.c +++ b/sys/arm/versatile/if_smc_fdt.c @@ -64,6 +64,9 @@ smc_fdt_probe(device_t dev) { struct smc_softc *sc; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "smsc,lan91c111")) { sc = device_get_softc(dev); sc->smc_usemem = 1; diff --git a/sys/arm/versatile/pl050.c b/sys/arm/versatile/pl050.c index 72569dce01a7..ec26f2a9064a 100644 --- a/sys/arm/versatile/pl050.c +++ b/sys/arm/versatile/pl050.c @@ -609,6 +609,9 @@ static int pl050_kmi_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "arm,pl050")) { device_set_desc(dev, "PL050 Keyboard/Mouse Interface"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/versatile/sp804.c b/sys/arm/versatile/sp804.c index 16db30dec890..5f986b116f17 100644 --- a/sys/arm/versatile/sp804.c +++ b/sys/arm/versatile/sp804.c @@ -184,6 +184,9 @@ static int sp804_timer_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "arm,sp804")) { device_set_desc(dev, "SP804 System Timer"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/versatile/versatile_clcd.c b/sys/arm/versatile/versatile_clcd.c index daa09e75b01a..1dd777821b09 100644 --- a/sys/arm/versatile/versatile_clcd.c +++ b/sys/arm/versatile/versatile_clcd.c @@ -232,6 +232,9 @@ static int versatile_clcdc_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "arm,pl110")) { device_set_desc(dev, "PL110 CLCD controller"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/versatile/versatile_pci.c b/sys/arm/versatile/versatile_pci.c index bc5424513bb7..0e4849682879 100644 --- a/sys/arm/versatile/versatile_pci.c +++ b/sys/arm/versatile/versatile_pci.c @@ -144,6 +144,9 @@ static int versatile_pci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "versatile,pci")) { device_set_desc(dev, "Versatile PCI controller"); return (BUS_PROBE_DEFAULT); diff --git a/sys/arm/versatile/versatile_sic.c b/sys/arm/versatile/versatile_sic.c index f401c3005c76..99ffb27a72d6 100644 --- a/sys/arm/versatile/versatile_sic.c +++ b/sys/arm/versatile/versatile_sic.c @@ -73,6 +73,10 @@ struct versatile_sic_softc { static int versatile_sic_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "arm,versatile-sic")) return (ENXIO); device_set_desc(dev, "ARM Versatile SIC"); diff --git a/sys/arm/xilinx/zy7_devcfg.c b/sys/arm/xilinx/zy7_devcfg.c index 9b49e85b5ddd..ae96dd36671e 100644 --- a/sys/arm/xilinx/zy7_devcfg.c +++ b/sys/arm/xilinx/zy7_devcfg.c @@ -519,6 +519,10 @@ zy7_devcfg_sysctl_pl_done(SYSCTL_HANDLER_ARGS) static int zy7_devcfg_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "xlnx,zy7_devcfg")) return (ENXIO); diff --git a/sys/arm/xilinx/zy7_ehci.c b/sys/arm/xilinx/zy7_ehci.c index cfe6dd42d712..c2ac818b4efd 100644 --- a/sys/arm/xilinx/zy7_ehci.c +++ b/sys/arm/xilinx/zy7_ehci.c @@ -193,6 +193,9 @@ static int zy7_ehci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "xlnx,zy7_ehci")) return (ENXIO); diff --git a/sys/arm/xilinx/zy7_gpio.c b/sys/arm/xilinx/zy7_gpio.c index 65dcc67dc2be..77dc640b0b26 100644 --- a/sys/arm/xilinx/zy7_gpio.c +++ b/sys/arm/xilinx/zy7_gpio.c @@ -276,6 +276,9 @@ static int zy7_gpio_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "xlnx,zy7_gpio")) return (ENXIO); diff --git a/sys/arm/xilinx/zy7_slcr.c b/sys/arm/xilinx/zy7_slcr.c index c6c88664e9f4..e448d76edb61 100644 --- a/sys/arm/xilinx/zy7_slcr.c +++ b/sys/arm/xilinx/zy7_slcr.c @@ -192,6 +192,10 @@ zy7_slcr_postload_pl(int en_level_shifters) static int zy7_slcr_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "xlnx,zy7_slcr")) return (ENXIO); diff --git a/sys/dev/altera/atse/if_atse_fdt.c b/sys/dev/altera/atse/if_atse_fdt.c index af5531da6e98..64d5b290b114 100644 --- a/sys/dev/altera/atse/if_atse_fdt.c +++ b/sys/dev/altera/atse/if_atse_fdt.c @@ -65,6 +65,9 @@ static int atse_probe_fdt(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "altera,atse")) { device_set_desc(dev, "Altera Triple-Speed Ethernet MegaCore"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/altera/avgen/altera_avgen_fdt.c b/sys/dev/altera/avgen/altera_avgen_fdt.c index 2762ff484cb9..d87027d2effd 100644 --- a/sys/dev/altera/avgen/altera_avgen_fdt.c +++ b/sys/dev/altera/avgen/altera_avgen_fdt.c @@ -62,6 +62,9 @@ static int altera_avgen_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "sri-cambridge,avgen")) { device_set_desc(dev, "Generic Altera Avalon device attachment"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c b/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c index 47f39a441cd7..c4ee8de14ad5 100644 --- a/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c +++ b/sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c @@ -64,6 +64,9 @@ static int altera_jtag_uart_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "altera,jtag_uart-11_0")) { device_set_desc(dev, "Altera JTAG UART"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/altera/sdcard/altera_sdcard_fdt.c b/sys/dev/altera/sdcard/altera_sdcard_fdt.c index 027ca2d4ba9b..da77aefb347e 100644 --- a/sys/dev/altera/sdcard/altera_sdcard_fdt.c +++ b/sys/dev/altera/sdcard/altera_sdcard_fdt.c @@ -64,6 +64,9 @@ static int altera_sdcard_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "altera,sdcard_11_2011")) { device_set_desc(dev, "Altera Secure Data Card IP Core"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/ata/chipsets/ata-fsl.c b/sys/dev/ata/chipsets/ata-fsl.c index 17c91daa414b..794802e38939 100644 --- a/sys/dev/ata/chipsets/ata-fsl.c +++ b/sys/dev/ata/chipsets/ata-fsl.c @@ -69,6 +69,9 @@ imx_ata_probe(device_t dev) { struct ata_pci_controller *ctrl; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,imx51-ata")) return (ENXIO); diff --git a/sys/dev/cesa/cesa.c b/sys/dev/cesa/cesa.c index 899211cbe477..c14f944d84ea 100644 --- a/sys/dev/cesa/cesa.c +++ b/sys/dev/cesa/cesa.c @@ -972,6 +972,10 @@ cesa_setup_sram(struct cesa_softc *sc) static int cesa_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,cesa")) return (ENXIO); diff --git a/sys/dev/cfi/cfi_bus_fdt.c b/sys/dev/cfi/cfi_bus_fdt.c index 4a4f9052cfa0..ad0632626506 100644 --- a/sys/dev/cfi/cfi_bus_fdt.c +++ b/sys/dev/cfi/cfi_bus_fdt.c @@ -67,6 +67,9 @@ static int cfi_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "cfi-flash")) return (ENXIO); diff --git a/sys/dev/fdt/simplebus.c b/sys/dev/fdt/simplebus.c index 5661d81a8328..ee968aecbbe9 100644 --- a/sys/dev/fdt/simplebus.c +++ b/sys/dev/fdt/simplebus.c @@ -128,6 +128,9 @@ static int simplebus_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "simple-bus") && (ofw_bus_get_type(dev) == NULL || strcmp(ofw_bus_get_type(dev), "soc") != 0)) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index 01974ffa8cf8..05a6c99dc502 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -1713,6 +1713,9 @@ ffec_probe(device_t dev) { uintptr_t fectype; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + fectype = ofw_bus_search_compatible(dev, compat_data)->ocd_data; if (fectype == FECTYPE_NONE) return (ENXIO); diff --git a/sys/dev/mge/if_mge.c b/sys/dev/mge/if_mge.c index 88c4f0d2cffa..860e3734be28 100644 --- a/sys/dev/mge/if_mge.c +++ b/sys/dev/mge/if_mge.c @@ -1387,6 +1387,9 @@ static int mge_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,ge")) return (ENXIO); diff --git a/sys/dev/mvs/mvs_soc.c b/sys/dev/mvs/mvs_soc.c index ca3699361a70..14579d0c3640 100644 --- a/sys/dev/mvs/mvs_soc.c +++ b/sys/dev/mvs/mvs_soc.c @@ -78,6 +78,9 @@ mvs_probe(device_t dev) int i; uint32_t devid, revid; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "mrvl,sata")) return (ENXIO); diff --git a/sys/dev/quicc/quicc_bfe_fdt.c b/sys/dev/quicc/quicc_bfe_fdt.c index 382b2a10c6d5..a7cd35424bea 100644 --- a/sys/dev/quicc/quicc_bfe_fdt.c +++ b/sys/dev/quicc/quicc_bfe_fdt.c @@ -75,6 +75,9 @@ quicc_fdt_probe(device_t dev) phandle_t par; pcell_t clock; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,cpm2")) return (ENXIO); diff --git a/sys/dev/sdhci/sdhci_fdt.c b/sys/dev/sdhci/sdhci_fdt.c index e92b15823153..65eac6df8b6a 100644 --- a/sys/dev/sdhci/sdhci_fdt.c +++ b/sys/dev/sdhci/sdhci_fdt.c @@ -157,6 +157,9 @@ sdhci_fdt_probe(device_t dev) sc->quirks = 0; sc->num_slots = 1; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "sdhci_generic")) { device_set_desc(dev, "generic fdt SDHCI controller"); } else if (ofw_bus_is_compatible(dev, "xlnx,zy7_sdhci")) { diff --git a/sys/dev/sec/sec.c b/sys/dev/sec/sec.c index 1f684d05b40b..3b99a3e326a0 100644 --- a/sys/dev/sec/sec.c +++ b/sys/dev/sec/sec.c @@ -199,6 +199,9 @@ sec_probe(device_t dev) struct sec_softc *sc; uint64_t id; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "fsl,sec2.0")) return (ENXIO); diff --git a/sys/dev/terasic/de4led/terasic_de4led_fdt.c b/sys/dev/terasic/de4led/terasic_de4led_fdt.c index 0888d6d57b4d..feab93342d7d 100644 --- a/sys/dev/terasic/de4led/terasic_de4led_fdt.c +++ b/sys/dev/terasic/de4led/terasic_de4led_fdt.c @@ -62,6 +62,9 @@ static int terasic_de4led_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "sri-cambridge,de4led")) { device_set_desc(dev, "Terasic DE4 8-element LED"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/terasic/mtl/terasic_mtl_fdt.c b/sys/dev/terasic/mtl/terasic_mtl_fdt.c index 7ffffb24f976..0a9b2688c0bb 100644 --- a/sys/dev/terasic/mtl/terasic_mtl_fdt.c +++ b/sys/dev/terasic/mtl/terasic_mtl_fdt.c @@ -59,6 +59,9 @@ static int terasic_mtl_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_is_compatible(dev, "sri-cambridge,mtl")) { device_set_desc(dev, "Terasic Multi-touch LCD (MTL)"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/tsec/if_tsec_fdt.c b/sys/dev/tsec/if_tsec_fdt.c index 76080bdd949f..a4fe3d8c87ce 100644 --- a/sys/dev/tsec/if_tsec_fdt.c +++ b/sys/dev/tsec/if_tsec_fdt.c @@ -110,6 +110,9 @@ tsec_fdt_probe(device_t dev) struct tsec_softc *sc; uint32_t id; + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_get_type(dev) == NULL || strcmp(ofw_bus_get_type(dev), "network") != 0) return (ENXIO); diff --git a/sys/dev/uart/uart_bus_fdt.c b/sys/dev/uart/uart_bus_fdt.c index 3630b9c557ec..f434f4f4fc01 100644 --- a/sys/dev/uart/uart_bus_fdt.c +++ b/sys/dev/uart/uart_bus_fdt.c @@ -134,6 +134,9 @@ uart_fdt_probe(device_t dev) sc = device_get_softc(dev); + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + cd = ofw_bus_search_compatible(dev, compat_data); if (cd->ocd_data == (uintptr_t)NULL) return (ENXIO); diff --git a/sys/dev/usb/controller/dwc_otg_fdt.c b/sys/dev/usb/controller/dwc_otg_fdt.c index ac7a18d6cb27..0f932867fc00 100644 --- a/sys/dev/usb/controller/dwc_otg_fdt.c +++ b/sys/dev/usb/controller/dwc_otg_fdt.c @@ -75,6 +75,10 @@ struct dwc_otg_super_softc { static int dwc_otg_probe(device_t dev) { + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "synopsys,designware-hs-otg2")) return (ENXIO); diff --git a/sys/dev/usb/controller/ehci_fsl.c b/sys/dev/usb/controller/ehci_fsl.c index 6b485b59baa2..7e728d23d10b 100644 --- a/sys/dev/usb/controller/ehci_fsl.c +++ b/sys/dev/usb/controller/ehci_fsl.c @@ -212,6 +212,9 @@ static int fsl_ehci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (((ofw_bus_is_compatible(dev, "fsl-usb2-dr")) == 0) && ((ofw_bus_is_compatible(dev, "fsl-usb2-mph")) == 0)) return (ENXIO); diff --git a/sys/dev/usb/controller/ehci_imx.c b/sys/dev/usb/controller/ehci_imx.c index 6d91b7be1c89..d40f18d8c426 100644 --- a/sys/dev/usb/controller/ehci_imx.c +++ b/sys/dev/usb/controller/ehci_imx.c @@ -161,6 +161,9 @@ static int imx_ehci_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data != 0) { device_set_desc(dev, "Freescale i.MX integrated USB controller"); return (BUS_PROBE_DEFAULT); diff --git a/sys/dev/usb/controller/ehci_mv.c b/sys/dev/usb/controller/ehci_mv.c index a47e253841c6..32a24b542f63 100644 --- a/sys/dev/usb/controller/ehci_mv.c +++ b/sys/dev/usb/controller/ehci_mv.c @@ -103,6 +103,9 @@ static int mv_ehci_probe(device_t self) { + if (!ofw_bus_status_okay(self)) + return (ENXIO); + if (!ofw_bus_is_compatible(self, "mrvl,usb-ehci")) return (ENXIO); diff --git a/sys/mips/beri/beri_pic.c b/sys/mips/beri/beri_pic.c index f13f144bc991..008732fb66e4 100644 --- a/sys/mips/beri/beri_pic.c +++ b/sys/mips/beri/beri_pic.c @@ -254,6 +254,9 @@ static int beripic_fdt_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "sri-cambridge,beri-pic")) return (ENXIO); diff --git a/sys/mips/beri/beri_simplebus.c b/sys/mips/beri/beri_simplebus.c index 58927f9417f2..55b3149b50f9 100644 --- a/sys/mips/beri/beri_simplebus.c +++ b/sys/mips/beri/beri_simplebus.c @@ -144,6 +144,9 @@ static int simplebus_probe(device_t dev) { + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "simple-bus")) return (ENXIO);