Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys Move the ACPI sleep-specific sysctl variables to hw.acpi...



details:   https://anonhg.NetBSD.org/src/rev/b4306e3aeec9
branches:  trunk
changeset: 760217:b4306e3aeec9
user:      jruoho <jruoho%NetBSD.org@localhost>
date:      Fri Dec 31 09:19:43 2010 +0000

description:
Move the ACPI sleep-specific sysctl variables to hw.acpi.sleep. The old
machdep-variables are provided for backwards compatibility (eventually these
should be removed). All ACPI sysctl variables are now under hw.acpi.

diffstat:

 sys/arch/x86/acpi/acpi_wakeup.c |  75 +++++++++++++++++++++++++++++++---------
 sys/dev/acpi/acpi.c             |  29 +++++++++++++--
 2 files changed, 81 insertions(+), 23 deletions(-)

diffs (174 lines):

diff -r 02128316bf81 -r b4306e3aeec9 sys/arch/x86/acpi/acpi_wakeup.c
--- a/sys/arch/x86/acpi/acpi_wakeup.c   Fri Dec 31 08:52:32 2010 +0000
+++ b/sys/arch/x86/acpi/acpi_wakeup.c   Fri Dec 31 09:19:43 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi_wakeup.c,v 1.25 2010/07/29 11:40:08 jruoho Exp $  */
+/*     $NetBSD: acpi_wakeup.c,v 1.26 2010/12/31 09:19:43 jruoho Exp $  */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_wakeup.c,v 1.25 2010/07/29 11:40:08 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_wakeup.c,v 1.26 2010/12/31 09:19:43 jruoho Exp $");
 
 /*-
  * Copyright (c) 2001 Takanori Watanabe <takawata%jp.freebsd.org@localhost>
@@ -111,7 +111,6 @@
 static paddr_t acpi_wakeup_paddr = 3 * PAGE_SIZE;
 static vaddr_t acpi_wakeup_vaddr;
 
-static int acpi_md_node = CTL_EOL;
 int acpi_md_vbios_reset = 1; /* Referenced by dev/pci/vga_pci.c */
 int acpi_md_vesa_modenum = 0; /* Referenced by arch/x86/x86/genfb_machdep.c */
 static int acpi_md_beep_on_reset = 0;
@@ -396,23 +395,63 @@
 
 SYSCTL_SETUP(sysctl_md_acpi_setup, "acpi x86 sysctl setup")
 {
-       const struct sysctlnode *node;
-       const struct sysctlnode *ssnode;
+       const struct sysctlnode *rnode, *mnode;
+       int err;
+
+       err = sysctl_createv(clog, 0, NULL, &rnode,
+           CTLFLAG_PERMANENT, CTLTYPE_NODE, "hw",
+           NULL, NULL, 0, NULL, 0, CTL_HW, CTL_EOL);
+
+       if (err != 0)
+               goto out;
+
+       err = sysctl_createv(clog, 0, &rnode, &rnode,
+           CTLFLAG_PERMANENT, CTLTYPE_NODE, "acpi", NULL,
+           NULL, 0, NULL, 0, CTL_CREATE, CTL_EOL);
+
+       if (err != 0)
+               goto out;
+
+       err = sysctl_createv(clog, 0, &rnode, &rnode,
+           CTLFLAG_PERMANENT, CTLTYPE_NODE,
+           "sleep", SYSCTL_DESCR("ACPI sleep"),
+           NULL, 0, NULL, 0, CTL_CREATE, CTL_EOL);
 
-       if (sysctl_createv(NULL, 0, NULL, &node, CTLFLAG_PERMANENT,
-           CTLTYPE_NODE, "machdep", NULL, NULL, 0, NULL, 0, CTL_MACHDEP,
-           CTL_EOL) != 0)
-               return;
-       if (sysctl_createv(NULL, 0, &node, &ssnode, CTLFLAG_READWRITE,
-           CTLTYPE_INT, "acpi_vbios_reset", NULL, sysctl_md_acpi_vbios_reset,
-           0, NULL, 0, CTL_CREATE, CTL_EOL) != 0)
-               return;
-       if (sysctl_createv(NULL, 0, &node, &ssnode, CTLFLAG_READWRITE,
-           CTLTYPE_BOOL, "acpi_beep_on_reset", NULL, sysctl_md_acpi_beep_on_reset,
-           0, NULL, 0, CTL_CREATE, CTL_EOL) != 0)
+       if (err != 0)
+               goto out;
+
+       (void)sysctl_createv(NULL, 0, &rnode, NULL,
+           CTLFLAG_READWRITE, CTLTYPE_BOOL, "beep",
+           NULL, sysctl_md_acpi_beep_on_reset,
+           0, NULL, 0, CTL_CREATE, CTL_EOL);
+
+       (void)sysctl_createv(NULL, 0, &rnode, NULL,
+           CTLFLAG_READWRITE, CTLTYPE_INT, "vbios",
+           NULL, sysctl_md_acpi_vbios_reset,
+           0, NULL, 0, CTL_CREATE, CTL_EOL);
+
+       /*
+        * All ACPI-specific sysctl(9) nodes are centralized
+        * under hw.acpi. The two variables below are provided
+        * for backwards compatibility.
+        */
+out:
+       err = sysctl_createv(NULL, 0, NULL, &mnode,
+           CTLFLAG_PERMANENT, CTLTYPE_NODE, "machdep",
+           NULL, NULL, 0, NULL, 0, CTL_MACHDEP, CTL_EOL);
+
+       if (err != 0)
                return;
 
-       acpi_md_node = node->sysctl_num;
+       (void)sysctl_createv(NULL, 0, &mnode, NULL,
+           CTLFLAG_READWRITE, CTLTYPE_INT, "acpi_vbios_reset",
+           NULL, sysctl_md_acpi_vbios_reset,
+           0, NULL, 0, CTL_CREATE, CTL_EOL);
+
+       (void)sysctl_createv(NULL, 0, &mnode, NULL,
+           CTLFLAG_READWRITE, CTLTYPE_BOOL, "acpi_beep_on_reset",
+           NULL, sysctl_md_acpi_beep_on_reset,
+           0, NULL, 0, CTL_CREATE, CTL_EOL);
 }
 
 static int
@@ -433,7 +472,7 @@
 
 #ifndef VGA_POST
        if (t == 2) {
-               aprint_error("WARNING: machdep.acpi_vbios_reset=2 "
+               aprint_error("WARNING: hw.acpi.sleep.vbios=2 "
                    "unsupported (no option VGA_POST in kernel config)\n");
                return EINVAL;
        }
diff -r 02128316bf81 -r b4306e3aeec9 sys/dev/acpi/acpi.c
--- a/sys/dev/acpi/acpi.c       Fri Dec 31 08:52:32 2010 +0000
+++ b/sys/dev/acpi/acpi.c       Fri Dec 31 09:19:43 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi.c,v 1.222 2010/10/24 07:53:04 jruoho Exp $        */
+/*     $NetBSD: acpi.c,v 1.223 2010/12/31 09:19:43 jruoho Exp $        */
 
 /*-
  * Copyright (c) 2003, 2007 The NetBSD Foundation, Inc.
@@ -100,7 +100,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.222 2010/10/24 07:53:04 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.223 2010/12/31 09:19:43 jruoho Exp $");
 
 #include "opt_acpi.h"
 #include "opt_pcifixup.h"
@@ -1495,7 +1495,7 @@
  */
 SYSCTL_SETUP(sysctl_acpi_setup, "sysctl hw.acpi subtree setup")
 {
-       const struct sysctlnode *mnode, *rnode;
+       const struct sysctlnode *mnode, *rnode, *snode;
        int err;
 
        err = sysctl_createv(clog, 0, NULL, &rnode,
@@ -1521,12 +1521,31 @@
            NULL, 0, &acpi_root_pointer, sizeof(acpi_root_pointer),
            CTL_CREATE, CTL_EOL);
 
-       (void)sysctl_createv(NULL, 0, &rnode, NULL,
+       err = sysctl_createv(clog, 0, &rnode, &snode,
+           CTLFLAG_PERMANENT, CTLTYPE_NODE,
+           "sleep", SYSCTL_DESCR("ACPI sleep"),
+           NULL, 0, NULL, 0,
+           CTL_CREATE, CTL_EOL);
+
+       if (err != 0)
+               return;
+
+       (void)sysctl_createv(NULL, 0, &snode, NULL,
+           CTLFLAG_PERMANENT | CTLFLAG_READWRITE, CTLTYPE_INT,
+           "state", SYSCTL_DESCR("System sleep state"),
+           sysctl_hw_acpi_sleepstate, 0, NULL, 0,
+           CTL_CREATE, CTL_EOL);
+
+       (void)sysctl_createv(NULL, 0, &snode, NULL,
            CTLFLAG_PERMANENT | CTLFLAG_READONLY, CTLTYPE_STRING,
-           "supported_states", SYSCTL_DESCR("Supported system states"),
+           "states", SYSCTL_DESCR("Supported sleep states"),
            sysctl_hw_acpi_sleepstates, 0, NULL, 0,
            CTL_CREATE, CTL_EOL);
 
+       /*
+        * For the time being, machdep.sleep_state
+        * is provided for backwards compatibility.
+        */
        err = sysctl_createv(NULL, 0, NULL, &mnode,
            CTLFLAG_PERMANENT, CTLTYPE_NODE, "machdep",
            NULL, NULL, 0, NULL, 0,



Home | Main Index | Thread Index | Old Index