Date: Fri, 13 Apr 2007 11:00:33 +1200 (NZST) From: Andrew Turner <andrew@fubar.geek.nz> To: FreeBSD-gnats-submit@FreeBSD.org Subject: powerpc/111522: Add support for the ofw bus interface to nexus Message-ID: <20070412230033.2CD8061FE@serv.int.fubar.geek.nz> Resent-Message-ID: <200704122310.l3CNA4Gt021125@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 111522
>Category: powerpc
>Synopsis: Add support for the ofw bus interface to nexus
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ppc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Apr 12 23:10:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Andrew Turner
>Release: FreeBSD 5.5-RC1 i386
>Organization:
>Environment:
System: FreeBSD serv.int.fubar.geek.nz 5.5-RC1 FreeBSD 5.5-RC1 #0: Mon May 15 14:09:18 NZST 2006 root@serv.int.fubar.geek.nz:/usr/obj/usr/src/sys/GENERIC i386
>Description:
The attached patch adds support for the some of the ofw bus interface to the nexus device.
>How-To-Repeat:
>Fix:
--- ppc-nexus-ofwbus.diff begins here ---
Index: sys/powerpc/powerpc/nexus.c
===================================================================
RCS file: /cvsroot/src/sys/powerpc/powerpc/nexus.c,v
retrieving revision 1.13
diff -u -u -r1.13 nexus.c
--- sys/powerpc/powerpc/nexus.c 7 Mar 2007 11:42:14 -0000 1.13
+++ sys/powerpc/powerpc/nexus.c 12 Apr 2007 10:29:35 -0000
@@ -74,6 +74,7 @@
#include <sys/rman.h>
+#include "ofw_bus_if.h"
#include "pic_if.h"
/*
@@ -124,6 +125,11 @@
static int nexus_release_resource(device_t, device_t, int, int,
struct resource *);
+static phandle_t nexus_ofw_get_node(device_t, device_t);
+static const char *nexus_ofw_get_name(device_t, device_t);
+static const char *nexus_ofw_get_type(device_t, device_t);
+static const char *nexus_ofw_get_compat(device_t, device_t);
+
/*
* Local routines
*/
@@ -151,6 +157,12 @@
DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource),
DEVMETHOD(bus_release_resource, nexus_release_resource),
+ /* OFW bus interface */
+ DEVMETHOD(ofw_bus_get_node, nexus_ofw_get_node),
+ DEVMETHOD(ofw_bus_get_name, nexus_ofw_get_name),
+ DEVMETHOD(ofw_bus_get_type, nexus_ofw_get_type),
+ DEVMETHOD(ofw_bus_get_compat, nexus_ofw_get_compat),
+
{ 0, 0 }
};
@@ -416,3 +428,47 @@
return (0);
}
+
+static const char *
+nexus_ofw_get_name(device_t bus, device_t dev)
+{
+ struct nexus_devinfo *dinfo;
+
+ if ((dinfo = device_get_ivars(dev)) == 0)
+ return NULL;
+
+ return dinfo->ndi_name;
+}
+
+static phandle_t
+nexus_ofw_get_node(device_t bus, device_t dev)
+{
+ struct nexus_devinfo *dinfo;
+
+ if ((dinfo = device_get_ivars(dev)) == 0)
+ return 0;
+
+ return dinfo->ndi_node;
+}
+
+static const char *
+nexus_ofw_get_type(device_t bus, device_t dev)
+{
+ struct nexus_devinfo *dinfo;
+
+ if ((dinfo = device_get_ivars(dev)) == 0)
+ return NULL;
+
+ return dinfo->ndi_device_type;
+}
+
+static const char *
+nexus_ofw_get_compat(device_t bus, device_t dev)
+{
+ struct nexus_devinfo *dinfo;
+
+ if ((dinfo = device_get_ivars(dev)) == 0)
+ return NULL;
+
+ return dinfo->ndi_compatible;
+}
--- ppc-nexus-ofwbus.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070412230033.2CD8061FE>
