Index: sys/arm/broadcom/bcm2835/bcm2835_ft5406.c =================================================================== --- sys/arm/broadcom/bcm2835/bcm2835_ft5406.c +++ sys/arm/broadcom/bcm2835/bcm2835_ft5406.c @@ -134,6 +134,12 @@ .ev_close = &ft5406ts_ev_close, }; +static const struct ofw_compat_data ft5406_compat_data[] = { + {"rpi,rpi-ft5406", 1}, + {"raspberrypi,firmware-ts", 1}, + {NULL, 0} +}; + static void ft5406ts_callout(void *data) { @@ -270,7 +276,7 @@ ft5406ts_probe(device_t dev) { - if (!ofw_bus_is_compatible(dev, "rpi,rpi-ft5406")) + if (ofw_bus_search_compatible(dev, ft5406_compat_data)->ocd_data == 0) return (ENXIO); device_set_desc(dev, "FT5406 touchscreen (VC memory interface)"); @@ -332,5 +338,5 @@ sizeof(struct ft5406ts_softc), }; -DRIVER_MODULE(ft5406ts, ofwbus, ft5406ts_driver, ft5406ts_devclass, 0, 0); +DRIVER_MODULE(ft5406ts, simplebus, ft5406ts_driver, ft5406ts_devclass, 0, 0); MODULE_DEPEND(ft5406ts, evdev, 1, 1, 1);