From add35ed5b81bd56b4e0f1f9db0636b785cc0c8d1 Mon Sep 17 00:00:00 2001 From: Ian Lepore Date: Sun, 2 Feb 2014 19:17:28 +0000 Subject: [PATCH] Follow r261352 by updating all drivers which are children of simplebus to check the status property in their probe routines. Simplebus used to only instantiate its children whose status="okay" but that was improper behavior, fixed in r261352. Now that it doesn't check anymore and probes all its children; the children all have to do the check because really only the children know how to properly interpret their status property strings. Right now all existing drivers only understand "okay" versus something- that's-not-okay, so they all use the new ofw_bus_status_okay() helper. --- sys/arm/allwinner/a10_clk.c | 4 ++++ sys/arm/allwinner/a10_ehci.c | 4 ++++ sys/arm/allwinner/a10_gpio.c | 4 ++++ sys/arm/allwinner/a10_wdog.c | 3 +++ sys/arm/allwinner/a20/a20_cpu_cfg.c | 3 +++ sys/arm/allwinner/aintc.c | 4 ++++ sys/arm/arm/generic_timer.c | 3 +++ sys/arm/arm/gic.c | 3 +++ sys/arm/arm/mpcore_timer.c | 4 ++++ sys/arm/arm/pl190.c | 4 ++++ sys/arm/arm/pl310.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_bsc.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_dma.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_gpio.c | 4 ++++ sys/arm/broadcom/bcm2835/bcm2835_intr.c | 4 ++++ sys/arm/broadcom/bcm2835/bcm2835_mbox.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_sdhci.c | 4 ++++ sys/arm/broadcom/bcm2835/bcm2835_spi.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_systimer.c | 3 +++ sys/arm/broadcom/bcm2835/bcm2835_wdog.c | 3 +++ sys/arm/freescale/imx/i2c.c | 3 +++ sys/arm/freescale/imx/imx51_ccm.c | 3 +++ sys/arm/freescale/imx/imx51_gpio.c | 3 +++ sys/arm/freescale/imx/imx51_iomux.c | 3 +++ sys/arm/freescale/imx/imx51_ipuv3.c | 3 +++ sys/arm/freescale/imx/imx51_ipuv3_fbd.c | 3 +++ sys/arm/freescale/imx/imx6_anatop.c | 3 +++ sys/arm/freescale/imx/imx6_ccm.c | 3 +++ sys/arm/freescale/imx/imx6_usbphy.c | 3 +++ sys/arm/freescale/imx/imx_gpt.c | 3 +++ sys/arm/freescale/imx/imx_nop_usbphy.c | 3 +++ sys/arm/freescale/imx/imx_sdhci.c | 3 +++ sys/arm/freescale/imx/imx_wdog.c | 3 +++ sys/arm/freescale/imx/tzic.c | 4 ++++ sys/arm/freescale/vybrid/vf_anadig.c | 3 +++ sys/arm/freescale/vybrid/vf_ccm.c | 3 +++ sys/arm/freescale/vybrid/vf_ehci.c | 3 +++ sys/arm/freescale/vybrid/vf_gpio.c | 3 +++ sys/arm/freescale/vybrid/vf_iomuxc.c | 3 +++ sys/arm/freescale/vybrid/vf_mscm.c | 3 +++ sys/arm/freescale/vybrid/vf_nfc.c | 3 +++ sys/arm/freescale/vybrid/vf_src.c | 3 +++ sys/arm/lpc/if_lpe.c | 3 +++ sys/arm/lpc/lpc_dmac.c | 4 ++++ sys/arm/lpc/lpc_fb.c | 4 ++++ sys/arm/lpc/lpc_gpio.c | 4 ++++ sys/arm/lpc/lpc_intc.c | 3 +++ sys/arm/lpc/lpc_mmc.c | 4 ++++ sys/arm/lpc/lpc_ohci.c | 4 ++++ sys/arm/lpc/lpc_pwr.c | 3 +++ sys/arm/lpc/lpc_rtc.c | 3 +++ sys/arm/lpc/lpc_spi.c | 4 ++++ sys/arm/lpc/lpc_timer.c | 3 +++ sys/arm/mv/gpio.c | 3 +++ sys/arm/mv/ic.c | 3 +++ sys/arm/mv/mpic.c | 3 +++ sys/arm/mv/mv_sata.c | 3 +++ sys/arm/mv/mv_ts.c | 3 +++ sys/arm/mv/rtc.c | 3 +++ sys/arm/mv/timer.c | 3 +++ sys/arm/mv/twsi.c | 3 +++ sys/arm/rockchip/rk30xx_gpio.c | 3 +++ sys/arm/rockchip/rk30xx_grf.c | 3 +++ sys/arm/rockchip/rk30xx_pmu.c | 3 +++ sys/arm/rockchip/rk30xx_wdog.c | 3 +++ sys/arm/samsung/exynos/arch_timer.c | 4 ++++ sys/arm/samsung/exynos/ehci_exynos5.c | 3 +++ sys/arm/ti/aintc.c | 4 ++++ sys/arm/ti/am335x/am335x_dmtimer.c | 3 +++ sys/arm/ti/am335x/am335x_lcd.c | 3 +++ sys/arm/ti/am335x/am335x_prcm.c | 4 ++++ sys/arm/ti/am335x/am335x_pwm.c | 4 ++++ sys/arm/ti/am335x/am335x_usbss.c | 4 ++++ sys/arm/ti/cpsw/if_cpsw.c | 3 +++ sys/arm/ti/omap4/omap4_prcm_clks.c | 4 ++++ sys/arm/ti/ti_edma3.c | 4 ++++ sys/arm/ti/ti_gpio.c | 4 ++++ sys/arm/ti/ti_i2c.c | 4 ++++ sys/arm/ti/ti_mbox.c | 4 ++++ sys/arm/ti/ti_mmchs.c | 4 ++++ sys/arm/ti/ti_pruss.c | 4 ++++ sys/arm/ti/ti_scm.c | 4 ++++ sys/arm/ti/ti_sdhci.c | 3 +++ sys/arm/ti/ti_sdma.c | 4 ++++ sys/arm/ti/usb/omap_ehci.c | 4 ++++ sys/arm/versatile/if_smc_fdt.c | 3 +++ sys/arm/versatile/pl050.c | 3 +++ sys/arm/versatile/sp804.c | 3 +++ sys/arm/versatile/versatile_clcd.c | 3 +++ sys/arm/versatile/versatile_pci.c | 3 +++ sys/arm/versatile/versatile_sic.c | 4 ++++ sys/arm/xilinx/zy7_devcfg.c | 4 ++++ sys/arm/xilinx/zy7_ehci.c | 3 +++ sys/arm/xilinx/zy7_gpio.c | 3 +++ sys/arm/xilinx/zy7_slcr.c | 4 ++++ sys/dev/altera/atse/if_atse_fdt.c | 3 +++ sys/dev/altera/avgen/altera_avgen_fdt.c | 3 +++ sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c | 3 +++ sys/dev/altera/sdcard/altera_sdcard_fdt.c | 3 +++ sys/dev/ata/chipsets/ata-fsl.c | 3 +++ sys/dev/cesa/cesa.c | 4 ++++ sys/dev/cfi/cfi_bus_fdt.c | 3 +++ sys/dev/fdt/simplebus.c | 3 +++ sys/dev/ffec/if_ffec.c | 3 +++ sys/dev/mge/if_mge.c | 3 +++ sys/dev/mvs/mvs_soc.c | 3 +++ sys/dev/quicc/quicc_bfe_fdt.c | 3 +++ sys/dev/sdhci/sdhci_fdt.c | 3 +++ sys/dev/sec/sec.c | 3 +++ sys/dev/terasic/de4led/terasic_de4led_fdt.c | 3 +++ sys/dev/terasic/mtl/terasic_mtl_fdt.c | 3 +++ sys/dev/tsec/if_tsec_fdt.c | 3 +++ sys/dev/uart/uart_bus_fdt.c | 3 +++ sys/dev/usb/controller/dwc_otg_fdt.c | 4 ++++ sys/dev/usb/controller/ehci_fsl.c | 3 +++ sys/dev/usb/controller/ehci_imx.c | 3 +++ sys/dev/usb/controller/ehci_mv.c | 3 +++ sys/mips/beri/beri_pic.c | 3 +++ sys/mips/beri/beri_simplebus.c | 3 +++ 119 files changed, 393 insertions(+) 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);