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