aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/broadcom/bcm2835/bcm2835_fb.c
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-10-15 22:49:04 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-10-15 22:49:04 +0000
commita0e610c43975ca0ec0bfc7d1df88d8b7a3cb871c (patch)
tree374ae3640c59b5e37187033550a4b9a5c18e81c1 /sys/arm/broadcom/bcm2835/bcm2835_fb.c
parent242b24828472137ec4411826b86e753d49bd2c39 (diff)
parent72f1cf0446d98bd3a87f54da039694490ced8af6 (diff)
Notes
Diffstat (limited to 'sys/arm/broadcom/bcm2835/bcm2835_fb.c')
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_fb.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_fb.c b/sys/arm/broadcom/bcm2835/bcm2835_fb.c
index cb0fc72ab0b6..58caac2cd884 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_fb.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_fb.c
@@ -111,6 +111,12 @@ struct bcmsc_softc {
static struct bcmsc_softc bcmsc;
+static struct ofw_compat_data compat_data[] = {
+ {"broadcom,bcm2835-fb", 1},
+ {"brcm,bcm2708-fb", 1},
+ {NULL, 0}
+};
+
static int bcm_fb_probe(device_t);
static int bcm_fb_attach(device_t);
static void bcmfb_update_margins(video_adapter_t *adp);
@@ -121,8 +127,9 @@ bcm_fb_probe(device_t dev)
{
int error;
- if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-fb"))
+ if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
return (ENXIO);
+
device_set_desc(dev, "BCM2835 framebuffer device");
error = sc_probe_unit(device_get_unit(dev),
device_get_flags(dev) | SC_AUTODETECT_KBD);
@@ -196,6 +203,7 @@ static driver_t bcm_fb_driver = {
};
DRIVER_MODULE(bcm2835fb, ofwbus, bcm_fb_driver, bcm_fb_devclass, 0, 0);
+DRIVER_MODULE(bcm2835fb, simplebus, bcm_fb_driver, bcm_fb_devclass, 0, 0);
/*
* Video driver routines and glue.