Module Name:    src
Committed By:   jruoho
Date:           Fri Aug  6 23:38:34 UTC 2010

Modified Files:
        src/sys/dev/acpi: acpi.c acpi_verbose.c acpivar.h

Log Message:
Simplify ACPIVERBOSE; we can manage just fine with the function pointers.


To generate a diff of this commit:
cvs rdiff -u -r1.210 -r1.211 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/acpi/acpi_verbose.c
cvs rdiff -u -r1.58 -r1.59 src/sys/dev/acpi/acpivar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/acpi/acpi.c
diff -u src/sys/dev/acpi/acpi.c:1.210 src/sys/dev/acpi/acpi.c:1.211
--- src/sys/dev/acpi/acpi.c:1.210	Fri Aug  6 22:45:00 2010
+++ src/sys/dev/acpi/acpi.c	Fri Aug  6 23:38:34 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpi.c,v 1.210 2010/08/06 22:45:00 jruoho Exp $	*/
+/*	$NetBSD: acpi.c,v 1.211 2010/08/06 23:38:34 jruoho Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.210 2010/08/06 22:45:00 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.211 2010/08/06 23:38:34 jruoho Exp $");
 
 #include "opt_acpi.h"
 #include "opt_pcifixup.h"
@@ -121,11 +121,13 @@
 int	acpi_active;
 int	acpi_force_load;
 int	acpi_suspended = 0;
+int	acpi_verbose_loaded = 0;
 
-struct acpi_softc *acpi_softc;
-static uint64_t acpi_root_pointer;
-extern kmutex_t acpi_interrupt_list_mtx;
-static ACPI_HANDLE acpi_scopes[4];
+struct acpi_softc	*acpi_softc;
+static uint64_t		 acpi_root_pointer;
+extern kmutex_t		 acpi_interrupt_list_mtx;
+extern struct		 cfdriver acpi_cd;
+static ACPI_HANDLE	 acpi_scopes[4];
 
 /*
  * This structure provides a context for the ACPI
@@ -197,58 +199,12 @@
 static ACPI_TABLE_HEADER *acpi_map_rsdt(void);
 static void		  acpi_unmap_rsdt(ACPI_TABLE_HEADER *);
 
-extern struct cfdriver acpi_cd;
+void			acpi_print_verbose_stub(struct acpi_softc *);
+void			acpi_print_dev_stub(const char *);
 
-/*
- * Handle routine vectors and loading for acpiverbose module.
- */
-int acpi_verbose_loaded = 0;
-
-void acpi_print_devnodes_stub(struct acpi_softc *);
-void acpi_print_tree_stub(struct acpi_devnode *, uint32_t);
-void acpi_print_dev_stub(const char *);
-
-void (*acpi_print_devnodes)(struct acpi_softc *) = acpi_print_devnodes_stub;
-void (*acpi_print_tree)(struct acpi_devnode *,uint32_t) = acpi_print_tree_stub;
+void (*acpi_print_verbose)(struct acpi_softc *) = acpi_print_verbose_stub;
 void (*acpi_print_dev)(const char *) = acpi_print_dev_stub;
 
-/*
- * Support for ACPIVERBOSE.
- */
-void
-acpi_load_verbose(void)
-{
-	if (acpi_verbose_loaded == 0) {
-		mutex_enter(&module_lock);
-		module_autoload("acpiverbose", MODULE_CLASS_MISC);
-		mutex_exit(&module_lock);
-	}
-}
-
-void
-acpi_print_devnodes_stub(struct acpi_softc *sc)
-{
-	acpi_load_verbose();
-	if (acpi_verbose_loaded)
-		acpi_print_devnodes(sc);
-}
-
-void
-acpi_print_tree_stub(struct acpi_devnode *ad, uint32_t level)
-{
-	acpi_load_verbose();
-	if (acpi_verbose_loaded)
-		acpi_print_tree(ad, level);
-}
-
-void
-acpi_print_dev_stub(const char *pnpstr)
-{
-	acpi_load_verbose();
-	if (acpi_verbose_loaded)
-		acpi_print_dev(pnpstr);
-}
-
 CFATTACH_DECL2_NEW(acpi, sizeof(struct acpi_softc),
     acpi_match, acpi_attach, acpi_detach, NULL, acpi_rescan, acpi_childdet);
 
@@ -533,11 +489,14 @@
 	acpi_debug_init();
 #endif
 
+	/*
+	 * Print debug information.
+	 */
+	acpi_print_verbose(sc);
+
 	return;
 
 fail:
-	KASSERT(rv != AE_OK);
-
 	aprint_error("%s: failed to initialize ACPI: %s\n",
 	    __func__, AcpiFormatException(rv));
 }
@@ -662,9 +621,6 @@
 	acpi_rescan_capabilities(sc);
 
 	(void)acpi_pcidev_scan(sc->sc_root);
-
-	acpi_print_devnodes(sc);
-	acpi_print_tree(sc->sc_root, 0);
 }
 
 static ACPI_STATUS
@@ -1732,3 +1688,37 @@
 
 	AcpiOsUnmapMemory(rsdt, sizeof(ACPI_TABLE_HEADER));
 }
+
+/*
+ * ACPIVERBOSE.
+ */
+void
+acpi_load_verbose(void)
+{
+
+	if (acpi_verbose_loaded == 0) {
+		mutex_enter(&module_lock);
+		module_autoload("acpiverbose", MODULE_CLASS_MISC);
+		mutex_exit(&module_lock);
+	}
+}
+
+void
+acpi_print_verbose_stub(struct acpi_softc *sc)
+{
+
+	acpi_load_verbose();
+
+	if (acpi_verbose_loaded != 0)
+		acpi_print_verbose(sc);
+}
+
+void
+acpi_print_dev_stub(const char *pnpstr)
+{
+
+	acpi_load_verbose();
+
+	if (acpi_verbose_loaded != 0)
+		acpi_print_dev(pnpstr);
+}

Index: src/sys/dev/acpi/acpi_verbose.c
diff -u src/sys/dev/acpi/acpi_verbose.c:1.5 src/sys/dev/acpi/acpi_verbose.c:1.6
--- src/sys/dev/acpi/acpi_verbose.c:1.5	Fri Aug  6 22:45:00 2010
+++ src/sys/dev/acpi/acpi_verbose.c	Fri Aug  6 23:38:34 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpi_verbose.c,v 1.5 2010/08/06 22:45:00 jruoho Exp $ */
+/*	$NetBSD: acpi_verbose.c,v 1.6 2010/08/06 23:38:34 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_verbose.c,v 1.5 2010/08/06 22:45:00 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_verbose.c,v 1.6 2010/08/06 23:38:34 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -77,44 +77,62 @@
 #include <dev/acpi/acpivar.h>
 #include <dev/acpi/acpidevs_data.h>
 
-void	acpi_print_devnodes_real(struct acpi_softc *);
-void	acpi_print_tree_real(struct acpi_devnode *, uint32_t);
-void	acpi_print_dev_real(const char *);
-
-extern int acpi_verbose_loaded;
+void		acpi_print_verbose_real(struct acpi_softc *);
+void		acpi_print_dev_real(const char *);
+static void	acpi_print_devnodes(struct acpi_softc *);
+static void	acpi_print_tree(struct acpi_devnode *, uint32_t);
 
 MODULE(MODULE_CLASS_MISC, acpiverbose, NULL);
 
 static int
 acpiverbose_modcmd(modcmd_t cmd, void *arg)
 {
-	static void	(*saved_print_devnodes)(struct acpi_softc *);
-	static void	(*saved_print_tree)(struct acpi_devnode *, uint32_t);
+	static void	(*saved_print_verbose)(struct acpi_softc *);
 	static void	(*saved_print_dev)(const char *);
 
 	switch (cmd) {
+
 	case MODULE_CMD_INIT:
-		saved_print_devnodes = acpi_print_devnodes;
-		saved_print_tree = acpi_print_tree;
+		saved_print_verbose = acpi_print_verbose;
 		saved_print_dev = acpi_print_dev;
-		acpi_print_devnodes = acpi_print_devnodes_real;
-		acpi_print_tree = acpi_print_tree_real;
+		acpi_print_verbose = acpi_print_verbose_real;
 		acpi_print_dev = acpi_print_dev_real;
 		acpi_verbose_loaded = 1;
 		return 0;
+
 	case MODULE_CMD_FINI:
-		acpi_print_devnodes = saved_print_devnodes;
-		acpi_print_tree = saved_print_tree;
+		acpi_print_verbose = saved_print_verbose;
 		acpi_print_dev = saved_print_dev;
 		acpi_verbose_loaded = 0;
 		return 0;
+
 	default:
 		return ENOTTY;
 	}
 }
 
 void
-acpi_print_devnodes_real(struct acpi_softc *sc)
+acpi_print_verbose_real(struct acpi_softc *sc)
+{
+
+	acpi_print_devnodes(sc);
+	acpi_print_tree(sc->sc_root, 0);
+}
+
+void
+acpi_print_dev_real(const char *pnpstr)
+{
+	int i;
+
+	for (i = 0; i < __arraycount(acpi_knowndevs); i++) {
+
+		if (strcmp(acpi_knowndevs[i].pnp, pnpstr) == 0)
+			aprint_normal("[%s] ", acpi_knowndevs[i].str);
+	}
+}
+
+static void
+acpi_print_devnodes(struct acpi_softc *sc)
 {
 	struct acpi_devnode *ad;
 	ACPI_DEVICE_INFO *di;
@@ -147,8 +165,8 @@
 	aprint_normal("\n");
 }
 
-void
-acpi_print_tree_real(struct acpi_devnode *ad, uint32_t level)
+static void
+acpi_print_tree(struct acpi_devnode *ad, uint32_t level)
 {
 	struct acpi_devnode *child;
 	uint32_t i;
@@ -179,14 +197,3 @@
 	SIMPLEQ_FOREACH(child, &ad->ad_child_head, ad_child_list)
 	    acpi_print_tree(child, level + 1);
 }
-
-void acpi_print_dev_real(const char *pnpstr)
-{
-	int i;
-
-	for (i = 0; i < __arraycount(acpi_knowndevs); i++) {
-		if (strcmp(acpi_knowndevs[i].pnp, pnpstr) == 0) {
-			aprint_normal("[%s] ", acpi_knowndevs[i].str);
-		}
-	}
-}

Index: src/sys/dev/acpi/acpivar.h
diff -u src/sys/dev/acpi/acpivar.h:1.58 src/sys/dev/acpi/acpivar.h:1.59
--- src/sys/dev/acpi/acpivar.h:1.58	Fri Aug  6 22:45:00 2010
+++ src/sys/dev/acpi/acpivar.h	Fri Aug  6 23:38:34 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpivar.h,v 1.58 2010/08/06 22:45:00 jruoho Exp $	*/
+/*	$NetBSD: acpivar.h,v 1.59 2010/08/06 23:38:34 jruoho Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -325,12 +325,9 @@
 /*
  * Misc routines with vectors updated by acpiverbose module.
  */
-extern void	(*acpi_print_devnodes)(struct acpi_softc *);
-extern void	(*acpi_print_tree)(struct acpi_devnode *, uint32_t);
+extern void	(*acpi_print_verbose)(struct acpi_softc *);
 extern void	(*acpi_print_dev)(const char *);
 
-void		acpi_null(void);
-
 void		acpi_load_verbose(void);
 extern int	acpi_verbose_loaded;
 

Reply via email to