Index: sys/arm/versatile/pl050.c =================================================================== --- sys/arm/versatile/pl050.c +++ sys/arm/versatile/pl050.c @@ -127,6 +127,11 @@ struct thread *sc_poll_thread; }; +static struct ofw_compat_data compat_data[] = { + {"arm,pl050", 1}, + {NULL, 0}, +}; + /* Read/Write macros for Timer used as timecounter */ #define pl050_kmi_read_4(sc, reg) \ bus_read_4((sc)->sc_mem_res, (reg)) @@ -611,7 +616,7 @@ if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (ofw_bus_is_compatible(dev, "arm,pl050")) { + if (ofw_bus_compatible_lookup(dev, compat_data)) { device_set_desc(dev, "PL050 Keyboard/Mouse Interface"); return (BUS_PROBE_DEFAULT); } @@ -712,3 +717,4 @@ static devclass_t pl050_kmi_devclass; DRIVER_MODULE(pl050_kmi, simplebus, pl050_kmi_driver, pl050_kmi_devclass, 0, 0); +SIMPLEBUS_PNP_INFO(compat_data); Index: sys/arm/versatile/sp804.c =================================================================== --- sys/arm/versatile/sp804.c +++ sys/arm/versatile/sp804.c @@ -102,6 +102,11 @@ int timer_initialized; }; +static struct ofw_compat_data compat_data[] = { + {"arm,sp804", 1}, + {NULL, 0}, +}; + /* Read/Write macros for Timer used as timecounter */ #define sp804_timer_tc_read_4(reg) \ bus_space_read_4(sc->bst, sc->bsh, reg) @@ -186,7 +191,7 @@ if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (ofw_bus_is_compatible(dev, "arm,sp804")) { + if (ofw_bus_compatible_lookup(dev, compat_data)) { device_set_desc(dev, "SP804 System Timer"); return (BUS_PROBE_DEFAULT); } @@ -310,6 +315,7 @@ static devclass_t sp804_timer_devclass; DRIVER_MODULE(sp804_timer, simplebus, sp804_timer_driver, sp804_timer_devclass, 0, 0); +SIMPLEBUS_PNP_INFO(compat_data); void DELAY(int usec) Index: sys/arm/versatile/versatile_clcd.c =================================================================== --- sys/arm/versatile/versatile_clcd.c +++ sys/arm/versatile/versatile_clcd.c @@ -212,6 +212,11 @@ { -1, 0, 0 } }; +static struct ofw_compat_data compat_data[] = { + {"arm,pl110", 1}, + {NULL, 0}, +}; + static int versatilefb_configure(int); static void versatilefb_update_margins(video_adapter_t *adp); @@ -234,7 +239,7 @@ if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (ofw_bus_is_compatible(dev, "arm,pl110")) { + if (ofw_bus_compatible_lookup(dev, compat_data)) { device_set_desc(dev, "PL110 CLCD controller"); return (BUS_PROBE_DEFAULT); } @@ -383,6 +388,7 @@ static devclass_t versatile_clcdc_devclass; DRIVER_MODULE(versatile_clcdc, simplebus, versatile_clcdc_driver, versatile_clcdc_devclass, 0, 0); +SIMPLEBUS_PNP_INFO(compat_data); /* * Video driver routines and glue. Index: sys/arm/versatile/versatile_pci.c =================================================================== --- sys/arm/versatile/versatile_pci.c +++ sys/arm/versatile/versatile_pci.c @@ -142,6 +142,11 @@ { -1, 0, 0 } }; +static struct ofw_compat_data compat_data[] = { + {"versatile,pci", 1}, + {NULL, 0}, +}; + static int versatile_pci_probe(device_t dev) { @@ -149,7 +154,7 @@ if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (ofw_bus_is_compatible(dev, "versatile,pci")) { + if (ofw_bus_compatible_lookup(dev, compat_data)) { device_set_desc(dev, "Versatile PCI controller"); return (BUS_PROBE_DEFAULT); } @@ -519,3 +524,4 @@ static devclass_t versatile_pci_devclass; DRIVER_MODULE(versatile_pci, simplebus, versatile_pci_driver, versatile_pci_devclass, 0, 0); +SIMPLEBUS_PNP_INFO(compat_data); Index: sys/arm/versatile/versatile_sic.c =================================================================== --- sys/arm/versatile/versatile_sic.c +++ sys/arm/versatile/versatile_sic.c @@ -70,6 +70,11 @@ #define sic_write_4(sc, reg, val) \ bus_write_4(sc->mem_res, (reg), (val)) +static struct ofw_compat_data compat_data[] = { + {"arm,versatile-sic", 1}, + {NULL, 0}, +}; + static int versatile_sic_probe(device_t dev) { @@ -77,7 +82,7 @@ if (!ofw_bus_status_okay(dev)) return (ENXIO); - if (!ofw_bus_is_compatible(dev, "arm,versatile-sic")) + if (!ofw_bus_compatible_lookup(dev, compat_data)) return (ENXIO); device_set_desc(dev, "ARM Versatile SIC"); return (BUS_PROBE_DEFAULT); @@ -135,3 +140,4 @@ static devclass_t versatile_sic_devclass; DRIVER_MODULE(sic, simplebus, versatile_sic_driver, versatile_sic_devclass, 0, 0); +SIMPLEBUS_PNP_INFO(compat_data);