Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Dec 2012 20:44:55 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 219922 for review
Message-ID:  <201212302044.qBUKitra007818@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@219922?ac=10

Change 219922 by rwatson@rwatson_zenith_cl_cam_ac_uk on 2012/12/30 20:44:42

	Update nexus parts in copied DE4LED attachment to use FDT.

Affected files ...

.. //depot/projects/ctsrd/beribsd/src/sys/dev/terasic/de4led/terasic_de4led_fdt.c#2 edit
.. //depot/projects/ctsrd/beribsd/src/sys/mips/beri/files.beri#25 edit

Differences ...

==== //depot/projects/ctsrd/beribsd/src/sys/dev/terasic/de4led/terasic_de4led_fdt.c#2 (text+ko) ====

@@ -47,6 +47,11 @@
 #include <machine/bus.h>
 #include <machine/resource.h>
 
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
 #include <dev/terasic/de4led/terasic_de4led.h>
 
 /*
@@ -54,15 +59,18 @@
  * which is hooked up to the processor via a memory-mapped Avalon bus.
  */
 static int
-terasic_de4led_nexus_probe(device_t dev)
+terasic_de4led_fdt_probe(device_t dev)
 {
 
-	device_set_desc(dev, "Terasic DE4 8-element LED");
-	return (BUS_PROBE_DEFAULT);
+	if (ofw_bus_is_compatible(dev, "cambridge,de4led")) {
+		device_set_desc(dev, "Terasic DE4 8-element LED");
+		return (BUS_PROBE_DEFAULT);
+	}
+	return (ENXIO);
 }
 
 static int
-terasic_de4led_nexus_attach(device_t dev)
+terasic_de4led_fdt_attach(device_t dev)
 {
 	struct terasic_de4led_softc *sc;
 
@@ -81,7 +89,7 @@
 }
 
 static int
-terasic_de4led_nexus_detach(device_t dev)
+terasic_de4led_fdt_detach(device_t dev)
 {
 	struct terasic_de4led_softc *sc;
 
@@ -93,20 +101,20 @@
 	return (0);
 }
 
-static device_method_t terasic_de4led_nexus_methods[] = {
-	DEVMETHOD(device_probe,		terasic_de4led_nexus_probe),
-	DEVMETHOD(device_attach,	terasic_de4led_nexus_attach),
-	DEVMETHOD(device_detach,	terasic_de4led_nexus_detach),
+static device_method_t terasic_de4led_fdt_methods[] = {
+	DEVMETHOD(device_probe,		terasic_de4led_fdt_probe),
+	DEVMETHOD(device_attach,	terasic_de4led_fdt_attach),
+	DEVMETHOD(device_detach,	terasic_de4led_fdt_detach),
 	{ 0, 0 }
 };
 
-static driver_t terasic_de4led_nexus_driver = {
+static driver_t terasic_de4led_fdt_driver = {
 	"terasic_de4led",
-	terasic_de4led_nexus_methods,
+	terasic_de4led_fdt_methods,
 	sizeof(struct terasic_de4led_softc),
 };
 
 static devclass_t terasic_de4led_devclass;
 
-DRIVER_MODULE(terasic_de4led, nexus, terasic_de4led_nexus_driver,
+DRIVER_MODULE(terasic_de4led, simplebus, terasic_de4led_fdt_driver,
     terasic_de4led_devclass, 0, 0);

==== //depot/projects/ctsrd/beribsd/src/sys/mips/beri/files.beri#25 (text+ko) ====

@@ -5,6 +5,7 @@
 dev/altera/jtag_uart/altera_jtag_uart_nexus.c	optional altera_jtag_uart
 dev/cfi/cfi_bus_nexus.c			optional cfi
 dev/terasic/de4led/terasic_de4led.c	optional terasic_de4led
+dev/terasic/de4led/terasic_de4led_fdt.c	optional terasic_de4led fdt
 dev/terasic/de4led/terasic_de4led_nexus.c	optional terasic_de4led
 dev/terasic/mtl/terasic_mtl.c		optional terasic_mtl
 dev/terasic/mtl/terasic_mtl_nexus.c	optional terasic_mtl



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212302044.qBUKitra007818>