Module Name:    src
Committed By:   jmcneill
Date:           Sun Aug 23 15:16:16 UTC 2009

Modified Files:
        src/sys/dev/acpi: acpi.c acpi_osd.h
        src/sys/dev/acpi/acpica: OsdEnvironment.c OsdSchedule.c

Log Message:
When ACPI is not present, free any resources used by the ACPICA. Also,
no need to complain (unless we're debugging) that ACPI is not present.


To generate a diff of this commit:
cvs rdiff -u -r1.129 -r1.130 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/acpi_osd.h
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/acpi/acpica/OsdEnvironment.c
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/acpi/acpica/OsdSchedule.c

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.129 src/sys/dev/acpi/acpi.c:1.130
--- src/sys/dev/acpi/acpi.c:1.129	Tue Aug 18 21:38:41 2009
+++ src/sys/dev/acpi/acpi.c	Sun Aug 23 15:16:16 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpi.c,v 1.129 2009/08/18 21:38:41 cegger Exp $	*/
+/*	$NetBSD: acpi.c,v 1.130 2009/08/23 15:16:16 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.129 2009/08/18 21:38:41 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.130 2009/08/23 15:16:16 jmcneill Exp $");
 
 #include "opt_acpi.h"
 #include "opt_pcifixup.h"
@@ -244,8 +244,11 @@
 
 	rv = AcpiInitializeTables(acpi_initial_tables, 128, 0);
 	if (ACPI_FAILURE(rv)) {
+#ifdef ACPI_DEBUG
 		printf("ACPI: unable to initialize ACPI tables: %s\n",
 		    AcpiFormatException(rv));
+#endif
+		AcpiTerminate();
 		return 0;
 	}
 
@@ -253,6 +256,7 @@
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unable to reallocate root table: %s\n",
 		    AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 
@@ -265,12 +269,14 @@
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unable to load tables: %s\n",
 		    AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 
 	rsdt = acpi_map_rsdt();
 	if (rsdt == NULL) {
 		printf("ACPI: unable to map RSDT\n");
+		AcpiTerminate();
 		return 0;
 	}
 
@@ -284,6 +290,7 @@
 		        rsdt->AslCompilerRevision);
 		printf("ACPI: not used. set acpi_force_load to use anyway.\n");
 		acpi_unmap_rsdt(rsdt);
+		AcpiTerminate();
 		return 0;
 	}
 
@@ -296,6 +303,7 @@
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unable to initialise SystemMemory handler: %s\n",
 		    AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 	rv = AcpiInstallAddressSpaceHandler(ACPI_ROOT_OBJECT,
@@ -303,6 +311,7 @@
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unable to initialise SystemIO handler: %s\n",
 		     AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 	rv = AcpiInstallAddressSpaceHandler(ACPI_ROOT_OBJECT,
@@ -310,6 +319,7 @@
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unabled to initialise PciConfig handler: %s\n",
 		    AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 #endif
@@ -317,6 +327,7 @@
 	rv = AcpiEnableSubsystem(~(ACPI_NO_HARDWARE_INIT|ACPI_NO_ACPI_ENABLE));
 	if (ACPI_FAILURE(rv)) {
 		printf("ACPI: unable to enable: %s\n", AcpiFormatException(rv));
+		AcpiTerminate();
 		return 0;
 	}
 

Index: src/sys/dev/acpi/acpi_osd.h
diff -u src/sys/dev/acpi/acpi_osd.h:1.1 src/sys/dev/acpi/acpi_osd.h:1.2
--- src/sys/dev/acpi/acpi_osd.h:1.1	Fri Sep 28 02:09:23 2001
+++ src/sys/dev/acpi/acpi_osd.h	Sun Aug 23 15:16:16 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpi_osd.h,v 1.1 2001/09/28 02:09:23 thorpej Exp $	*/
+/*	$NetBSD: acpi_osd.h,v 1.2 2009/08/23 15:16:16 jmcneill Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -45,4 +45,3 @@
 
 /* Osd/OsdSchedule.c */
 void	acpi_osd_sched_init(void);
-void	acpi_osd_sched_fini(void);

Index: src/sys/dev/acpi/acpica/OsdEnvironment.c
diff -u src/sys/dev/acpi/acpica/OsdEnvironment.c:1.4 src/sys/dev/acpi/acpica/OsdEnvironment.c:1.5
--- src/sys/dev/acpi/acpica/OsdEnvironment.c:1.4	Tue Aug 18 16:41:02 2009
+++ src/sys/dev/acpi/acpica/OsdEnvironment.c	Sun Aug 23 15:16:16 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: OsdEnvironment.c,v 1.4 2009/08/18 16:41:02 jmcneill Exp $	*/
+/*	$NetBSD: OsdEnvironment.c,v 1.5 2009/08/23 15:16:16 jmcneill Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: OsdEnvironment.c,v 1.4 2009/08/18 16:41:02 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: OsdEnvironment.c,v 1.5 2009/08/23 15:16:16 jmcneill Exp $");
 
 #include <sys/types.h>
 
@@ -77,9 +77,6 @@
 ACPI_STATUS
 AcpiOsTerminate(void)
 {
-	/* Tear down the Osd Scheduler. */
-	acpi_osd_sched_fini();
-
 	return acpi_md_OsTerminate();
 }
 

Index: src/sys/dev/acpi/acpica/OsdSchedule.c
diff -u src/sys/dev/acpi/acpica/OsdSchedule.c:1.11 src/sys/dev/acpi/acpica/OsdSchedule.c:1.12
--- src/sys/dev/acpi/acpica/OsdSchedule.c:1.11	Tue Aug 18 16:41:02 2009
+++ src/sys/dev/acpi/acpica/OsdSchedule.c	Sun Aug 23 15:16:16 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: OsdSchedule.c,v 1.11 2009/08/18 16:41:02 jmcneill Exp $	*/
+/*	$NetBSD: OsdSchedule.c,v 1.12 2009/08/23 15:16:16 jmcneill Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: OsdSchedule.c,v 1.11 2009/08/18 16:41:02 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: OsdSchedule.c,v 1.12 2009/08/23 15:16:16 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -80,17 +80,6 @@
 }
 
 /*
- * acpi_osd_sched_fini:
- *
- *	Clean up the ACPICA Osd scheduler.  Called from AcpiOsdTerminate().
- */
-void
-acpi_osd_sched_fini(void)
-{
-	sysmon_task_queue_fini();
-}
-
-/*
  * AcpiOsGetThreadId:
  *
  *	Obtain the ID of the currently executing thread.

Reply via email to