Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys Remove simplebus driver and allow fdtbus to attach direc...
details: https://anonhg.NetBSD.org/src/rev/463df4f36e89
branches: trunk
changeset: 352927:463df4f36e89
user: jmcneill <jmcneill%NetBSD.org@localhost>
date: Fri Apr 14 22:55:06 2017 +0000
description:
Remove simplebus driver and allow fdtbus to attach directly to itself.
diffstat:
sys/arch/evbarm/conf/EXYNOS | 6 +--
sys/arch/evbarm/conf/TEGRA | 6 +--
sys/dev/fdt/fdtbus.c | 12 ++++-
sys/dev/fdt/files.fdt | 8 +---
sys/dev/fdt/simplebus.c | 86 ---------------------------------------------
5 files changed, 15 insertions(+), 103 deletions(-)
diffs (194 lines):
diff -r 13405edb4b7a -r 463df4f36e89 sys/arch/evbarm/conf/EXYNOS
--- a/sys/arch/evbarm/conf/EXYNOS Fri Apr 14 22:35:05 2017 +0000
+++ b/sys/arch/evbarm/conf/EXYNOS Fri Apr 14 22:55:06 2017 +0000
@@ -1,5 +1,5 @@
#
-# $NetBSD: EXYNOS,v 1.12 2017/02/19 07:47:00 rin Exp $
+# $NetBSD: EXYNOS,v 1.13 2017/04/14 22:55:06 jmcneill Exp $
#
# ODROID-XU -- ODROID-XU4 Exynos5422 based kernel
#
@@ -203,9 +203,7 @@
# On-board I/O
exynosfdt0 at mainbus?
-fdt0 at exynosfdt0
-simplebus* at fdt?
-fdt* at simplebus?
+fdt? at fdtbus?
fregulator* at fdt?
diff -r 13405edb4b7a -r 463df4f36e89 sys/arch/evbarm/conf/TEGRA
--- a/sys/arch/evbarm/conf/TEGRA Fri Apr 14 22:35:05 2017 +0000
+++ b/sys/arch/evbarm/conf/TEGRA Fri Apr 14 22:55:06 2017 +0000
@@ -1,5 +1,5 @@
#
-# $NetBSD: TEGRA,v 1.12 2017/03/28 15:09:29 skrll Exp $
+# $NetBSD: TEGRA,v 1.13 2017/04/14 22:55:06 jmcneill Exp $
#
# NVIDIA Tegra K1 (T124)
#
@@ -34,9 +34,7 @@
# On-board I/O
tegrafdt0 at mainbus?
-fdt0 at tegrafdt0
-simplebus* at fdt?
-fdt* at simplebus?
+fdt* at fdtbus?
fregulator* at fdt?
gpiokeys* at fdt?
diff -r 13405edb4b7a -r 463df4f36e89 sys/dev/fdt/fdtbus.c
--- a/sys/dev/fdt/fdtbus.c Fri Apr 14 22:35:05 2017 +0000
+++ b/sys/dev/fdt/fdtbus.c Fri Apr 14 22:55:06 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: fdtbus.c,v 1.5 2017/04/13 22:27:07 jmcneill Exp $ */
+/* $NetBSD: fdtbus.c,v 1.6 2017/04/14 22:55:06 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdtbus.c,v 1.5 2017/04/13 22:27:07 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdtbus.c,v 1.6 2017/04/14 22:55:06 jmcneill Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -56,11 +56,17 @@
fdt_match(device_t parent, cfdata_t cf, void *aux)
{
const struct fdt_attach_args *faa = aux;
+ const char * const compatible[] = { "simple-bus", NULL };
+ int match;
if (!OF_child(faa->faa_phandle))
return 0;
- return 1;
+ match = of_match_compatible(faa->faa_phandle, compatible);
+ if (match)
+ return match;
+
+ return OF_finddevice("/") == faa->faa_phandle;
}
static void
diff -r 13405edb4b7a -r 463df4f36e89 sys/dev/fdt/files.fdt
--- a/sys/dev/fdt/files.fdt Fri Apr 14 22:35:05 2017 +0000
+++ b/sys/dev/fdt/files.fdt Fri Apr 14 22:55:06 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files.fdt,v 1.7 2015/12/30 04:23:39 marty Exp $
+# $NetBSD: files.fdt,v 1.8 2017/04/14 22:55:06 jmcneill Exp $
include "external/bsd/libfdt/conf/files.libfdt"
@@ -6,14 +6,10 @@
define fdtbus { } : clk
-device fdt { }
+device fdt { } : fdtbus
attach fdt at fdtbus
file dev/fdt/fdtbus.c fdt
-device simplebus : fdtbus
-attach simplebus at fdt
-file dev/fdt/simplebus.c simplebus
-
device fregulator
attach fregulator at fdt
file dev/fdt/fixedregulator.c fregulator
diff -r 13405edb4b7a -r 463df4f36e89 sys/dev/fdt/simplebus.c
--- a/sys/dev/fdt/simplebus.c Fri Apr 14 22:35:05 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/* $NetBSD: simplebus.c,v 1.1 2015/12/13 17:30:40 jmcneill Exp $ */
-
-/*-
- * Copyright (c) 2015 Jared D. McNeill <jmcneill%invisible.ca@localhost>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: simplebus.c,v 1.1 2015/12/13 17:30:40 jmcneill Exp $");
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-#include <sys/kmem.h>
-
-#include <sys/bus.h>
-
-#include <dev/fdt/fdtvar.h>
-
-static int simplebus_match(device_t, cfdata_t, void *);
-static void simplebus_attach(device_t, device_t, void *);
-
-CFATTACH_DECL_NEW(simplebus, 0,
- simplebus_match, simplebus_attach, NULL, NULL);
-
-static int
-simplebus_match(device_t parent, cfdata_t cf, void *aux)
-{
- const char * const compatible[] = { "simple-bus", NULL };
- const struct fdt_attach_args *faa = aux;
-
- return of_match_compatible(faa->faa_phandle, compatible);
-}
-
-static void
-simplebus_attach(device_t parent, device_t self, void *aux)
-{
- const struct fdt_attach_args *faa = aux;
- const int phandle = faa->faa_phandle;
- char *name;
- int len;
-
- aprint_naive("\n");
-
- len = OF_getproplen(phandle, "name");
- if (len > 0) {
- name = kmem_zalloc(len, KM_SLEEP);
- if (OF_getprop(phandle, "name", name, len) == len) {
- aprint_normal(": %s\n", name);
- } else {
- aprint_normal("\n");
- }
- kmem_free(name, len);
- } else {
- aprint_normal("\n");
- }
-
- struct fdt_attach_args nfaa = *faa;
- nfaa.faa_name = "simple-bus";
- nfaa.faa_init = NULL;
- nfaa.faa_ninit = 0;
- nfaa.faa_phandle = phandle;
-
- config_found(self, &nfaa, NULL);
-}
Home |
Main Index |
Thread Index |
Old Index