Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys Device accessors are only marginally related to autoconf...
details: https://anonhg.NetBSD.org/src/rev/bc8a03eaf00b
branches: trunk
changeset: 751313:bc8a03eaf00b
user: pooka <pooka%NetBSD.org@localhost>
date: Sun Jan 31 15:10:11 2010 +0000
description:
Device accessors are only marginally related to autoconf, so put them
into subr_device.c instead of having them in subr_autoconf.c.
Since none of the copyrights in subr_autoconf.c really match the
history of device accessors, I took the liberty of slapping (c)
2006 TNF onto subr_device.c.
diffstat:
sys/conf/files | 3 +-
sys/kern/subr_autoconf.c | 148 +--------------------------------------
sys/kern/subr_device.c | 178 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 182 insertions(+), 147 deletions(-)
diffs (truncated from 368 to 300 lines):
diff -r c04d1bc90956 -r bc8a03eaf00b sys/conf/files
--- a/sys/conf/files Sun Jan 31 15:05:49 2010 +0000
+++ b/sys/conf/files Sun Jan 31 15:10:11 2010 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files,v 1.973 2010/01/31 01:38:48 pooka Exp $
+# $NetBSD: files,v 1.974 2010/01/31 15:10:11 pooka Exp $
# @(#)files.newconf 7.5 (Berkeley) 5/10/93
version 20090313
@@ -1479,6 +1479,7 @@
file kern/subr_callback.c
file kern/subr_copy.c
file kern/subr_debug.c debug
+file kern/subr_device.c
file kern/subr_devsw.c
file kern/subr_disk.c
file kern/subr_disk_open.c
diff -r c04d1bc90956 -r bc8a03eaf00b sys/kern/subr_autoconf.c
--- a/sys/kern/subr_autoconf.c Sun Jan 31 15:05:49 2010 +0000
+++ b/sys/kern/subr_autoconf.c Sun Jan 31 15:10:11 2010 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_autoconf.c,v 1.199 2010/01/19 21:54:53 dyoung Exp $ */
+/* $NetBSD: subr_autoconf.c,v 1.200 2010/01/31 15:10:12 pooka Exp $ */
/*
* Copyright (c) 1996, 2000 Christopher G. Demetriou
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_autoconf.c,v 1.199 2010/01/19 21:54:53 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_autoconf.c,v 1.200 2010/01/31 15:10:12 pooka Exp $");
#ifdef _KERNEL_OPT
#include "opt_ddb.h"
@@ -1938,150 +1938,6 @@
}
/*
- * Accessor functions for the device_t type.
- */
-devclass_t
-device_class(device_t dev)
-{
-
- return dev->dv_class;
-}
-
-cfdata_t
-device_cfdata(device_t dev)
-{
-
- return dev->dv_cfdata;
-}
-
-cfdriver_t
-device_cfdriver(device_t dev)
-{
-
- return dev->dv_cfdriver;
-}
-
-cfattach_t
-device_cfattach(device_t dev)
-{
-
- return dev->dv_cfattach;
-}
-
-int
-device_unit(device_t dev)
-{
-
- return dev->dv_unit;
-}
-
-const char *
-device_xname(device_t dev)
-{
-
- return dev->dv_xname;
-}
-
-device_t
-device_parent(device_t dev)
-{
-
- return dev->dv_parent;
-}
-
-bool
-device_activation(device_t dev, devact_level_t level)
-{
- int active_flags;
-
- active_flags = DVF_ACTIVE;
- switch (level) {
- case DEVACT_LEVEL_FULL:
- active_flags |= DVF_CLASS_SUSPENDED;
- /*FALLTHROUGH*/
- case DEVACT_LEVEL_DRIVER:
- active_flags |= DVF_DRIVER_SUSPENDED;
- /*FALLTHROUGH*/
- case DEVACT_LEVEL_BUS:
- active_flags |= DVF_BUS_SUSPENDED;
- break;
- }
-
- return (dev->dv_flags & active_flags) == DVF_ACTIVE;
-}
-
-bool
-device_is_active(device_t dev)
-{
- int active_flags;
-
- active_flags = DVF_ACTIVE;
- active_flags |= DVF_CLASS_SUSPENDED;
- active_flags |= DVF_DRIVER_SUSPENDED;
- active_flags |= DVF_BUS_SUSPENDED;
-
- return (dev->dv_flags & active_flags) == DVF_ACTIVE;
-}
-
-bool
-device_is_enabled(device_t dev)
-{
- return (dev->dv_flags & DVF_ACTIVE) == DVF_ACTIVE;
-}
-
-bool
-device_has_power(device_t dev)
-{
- int active_flags;
-
- active_flags = DVF_ACTIVE | DVF_BUS_SUSPENDED;
-
- return (dev->dv_flags & active_flags) == DVF_ACTIVE;
-}
-
-int
-device_locator(device_t dev, u_int locnum)
-{
-
- KASSERT(dev->dv_locators != NULL);
- return dev->dv_locators[locnum];
-}
-
-void *
-device_private(device_t dev)
-{
-
- /*
- * The reason why device_private(NULL) is allowed is to simplify the
- * work of a lot of userspace request handlers (i.e., c/bdev
- * handlers) which grab cfdriver_t->cd_units[n].
- * It avoids having them test for it to be NULL and only then calling
- * device_private.
- */
- return dev == NULL ? NULL : dev->dv_private;
-}
-
-prop_dictionary_t
-device_properties(device_t dev)
-{
-
- return dev->dv_properties;
-}
-
-/*
- * device_is_a:
- *
- * Returns true if the device is an instance of the specified
- * driver.
- */
-bool
-device_is_a(device_t dev, const char *dname)
-{
-
- return strcmp(dev->dv_cfdriver->cd_name, dname) == 0;
-}
-
-/*
* device_find_by_xname:
*
* Returns the device of the given name or NULL if it doesn't exist.
diff -r c04d1bc90956 -r bc8a03eaf00b sys/kern/subr_device.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/kern/subr_device.c Sun Jan 31 15:10:11 2010 +0000
@@ -0,0 +1,178 @@
+/* $NetBSD: subr_device.c,v 1.2 2010/01/31 15:10:12 pooka Exp $ */
+
+/*
+ * Copyright (c) 2006 The NetBSD Foundation, Inc.
+ * 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``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 FOUNDATION OR CONTRIBUTORS
+ * 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: subr_device.c,v 1.2 2010/01/31 15:10:12 pooka Exp $");
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <sys/systm.h>
+
+/*
+ * Accessor functions for the device_t type.
+ */
+devclass_t
+device_class(device_t dev)
+{
+
+ return dev->dv_class;
+}
+
+cfdata_t
+device_cfdata(device_t dev)
+{
+
+ return dev->dv_cfdata;
+}
+
+cfdriver_t
+device_cfdriver(device_t dev)
+{
+
+ return dev->dv_cfdriver;
+}
+
+cfattach_t
+device_cfattach(device_t dev)
+{
+
+ return dev->dv_cfattach;
+}
+
+int
+device_unit(device_t dev)
+{
+
+ return dev->dv_unit;
+}
+
+const char *
+device_xname(device_t dev)
+{
+
+ return dev->dv_xname;
+}
+
+device_t
+device_parent(device_t dev)
+{
+
+ return dev->dv_parent;
+}
+
+bool
+device_activation(device_t dev, devact_level_t level)
+{
+ int active_flags;
+
+ active_flags = DVF_ACTIVE;
+ switch (level) {
+ case DEVACT_LEVEL_FULL:
+ active_flags |= DVF_CLASS_SUSPENDED;
+ /*FALLTHROUGH*/
+ case DEVACT_LEVEL_DRIVER:
+ active_flags |= DVF_DRIVER_SUSPENDED;
+ /*FALLTHROUGH*/
+ case DEVACT_LEVEL_BUS:
+ active_flags |= DVF_BUS_SUSPENDED;
+ break;
+ }
+
+ return (dev->dv_flags & active_flags) == DVF_ACTIVE;
+}
+
+bool
+device_is_active(device_t dev)
Home |
Main Index |
Thread Index |
Old Index