svn commit: r307088 - head/sys/arm/broadcom/bcm2835

Oleksandr Tymoshenko gonzo at FreeBSD.org
Wed Oct 12 03:00:44 UTC 2016


Author: gonzo
Date: Wed Oct 12 03:00:42 2016
New Revision: 307088
URL: https://svnweb.freebsd.org/changeset/base/307088

Log:
  Add compatible strings used in upstream dts files

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
  head/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
  head/sys/arm/broadcom/bcm2835/bcm2835_spi.c

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c	Wed Oct 12 02:58:27 2016	(r307087)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c	Wed Oct 12 03:00:42 2016	(r307088)
@@ -52,6 +52,12 @@ __FBSDID("$FreeBSD$");
 
 #include "iicbus_if.h"
 
+static struct ofw_compat_data compat_data[] = {
+	{"broadcom,bcm2835-bsc",	1},
+	{"brcm,bcm2708-i2c",		1},
+	{NULL,				0}
+};
+
 static void bcm_bsc_intr(void *);
 static int bcm_bsc_detach(device_t);
 
@@ -214,7 +220,7 @@ bcm_bsc_probe(device_t dev)
 	if (!ofw_bus_status_okay(dev))
 		return (ENXIO);
 
-	if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-bsc"))
+	if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
 		return (ENXIO);
 
 	device_set_desc(dev, "BCM2708/2835 BSC controller");

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_dma.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Wed Oct 12 02:58:27 2016	(r307087)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Wed Oct 12 03:00:42 2016	(r307088)
@@ -152,6 +152,12 @@ struct bcm_dma_softc {
 static struct bcm_dma_softc *bcm_dma_sc = NULL;
 static uint32_t bcm_dma_channel_mask;
 
+static struct ofw_compat_data compat_data[] = {
+	{"broadcom,bcm2835-dma",	1},
+	{"brcm,bcm2835-dma",		1},
+	{NULL,				0}
+};
+
 static void
 bcm_dmamap_cb(void *arg, bus_dma_segment_t *segs,
 	int nseg, int err)
@@ -656,7 +662,7 @@ bcm_dma_probe(device_t dev)
 	if (!ofw_bus_status_okay(dev))
 		return (ENXIO);
 
-	if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-dma"))
+	if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
 		return (ENXIO);
 
 	device_set_desc(dev, "BCM2835 DMA Controller");

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c	Wed Oct 12 02:58:27 2016	(r307087)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c	Wed Oct 12 03:00:42 2016	(r307088)
@@ -71,6 +71,12 @@ __FBSDID("$FreeBSD$");
 static int bcm2835_sdhci_hs = 1;
 static int bcm2835_sdhci_pio_mode = 0;
 
+static struct ofw_compat_data compat_data[] = {
+	{"broadcom,bcm2835-sdhci",	1},
+	{"brcm,bcm2835-mmc",		1},
+	{NULL,				0}
+};
+
 TUNABLE_INT("hw.bcm2835.sdhci.hs", &bcm2835_sdhci_hs);
 TUNABLE_INT("hw.bcm2835.sdhci.pio_mode", &bcm2835_sdhci_pio_mode);
 
@@ -126,10 +132,11 @@ bcm_sdhci_probe(device_t dev)
 	if (!ofw_bus_status_okay(dev))
 		return (ENXIO);
 
-	if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-sdhci"))
+	if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
 		return (ENXIO);
 
 	device_set_desc(dev, "Broadcom 2708 SDHCI controller");
+
 	return (BUS_PROBE_DEFAULT);
 }
 

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_spi.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_spi.c	Wed Oct 12 02:58:27 2016	(r307087)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_spi.c	Wed Oct 12 03:00:42 2016	(r307088)
@@ -56,6 +56,12 @@ __FBSDID("$FreeBSD$");
 
 #include "spibus_if.h"
 
+static struct ofw_compat_data compat_data[] = {
+	{"broadcom,bcm2835-spi",	1},
+	{"brcm,bcm2835-spi",		1},
+	{NULL,				0}
+};
+
 static void bcm_spi_intr(void *);
 
 #ifdef	BCM_SPI_DEBUG
@@ -231,7 +237,7 @@ bcm_spi_probe(device_t dev)
 	if (!ofw_bus_status_okay(dev))
 		return (ENXIO);
 
-	if (!ofw_bus_is_compatible(dev, "broadcom,bcm2835-spi"))
+	if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
 		return (ENXIO);
 
 	device_set_desc(dev, "BCM2708/2835 SPI controller");


More information about the svn-src-head mailing list