acpica: Remove CTLFLAG_NEEDGIANT from most sysctls.

MFC after:	2 weeks
This commit is contained in:
Alexander Motin
2021-12-26 19:17:52 -05:00
parent a82907ed13
commit 3e68d2c52b
7 changed files with 80 additions and 93 deletions
+9 -9
View File
@@ -281,7 +281,7 @@ TUNABLE_STR("hw.acpi.remove_interface", acpi_remove_interface,
static int acpi_debug_objects; static int acpi_debug_objects;
TUNABLE_INT("debug.acpi.enable_debug_objects", &acpi_debug_objects); TUNABLE_INT("debug.acpi.enable_debug_objects", &acpi_debug_objects);
SYSCTL_PROC(_debug_acpi, OID_AUTO, enable_debug_objects, SYSCTL_PROC(_debug_acpi, OID_AUTO, enable_debug_objects,
CTLFLAG_RW | CTLTYPE_INT | CTLFLAG_NEEDGIANT, NULL, 0, CTLFLAG_RW | CTLTYPE_INT | CTLFLAG_MPSAFE, NULL, 0,
acpi_debug_objects_sysctl, "I", acpi_debug_objects_sysctl, "I",
"Enable Debug objects"); "Enable Debug objects");
@@ -576,31 +576,31 @@ acpi_attach(device_t dev)
CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "supported_sleep_state", OID_AUTO, "supported_sleep_state",
CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
0, 0, acpi_supported_sleep_state_sysctl, "A", 0, 0, acpi_supported_sleep_state_sysctl, "A",
"List supported ACPI sleep states."); "List supported ACPI sleep states.");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "power_button_state", OID_AUTO, "power_button_state",
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
&sc->acpi_power_button_sx, 0, acpi_sleep_state_sysctl, "A", &sc->acpi_power_button_sx, 0, acpi_sleep_state_sysctl, "A",
"Power button ACPI sleep state."); "Power button ACPI sleep state.");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "sleep_button_state", OID_AUTO, "sleep_button_state",
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
&sc->acpi_sleep_button_sx, 0, acpi_sleep_state_sysctl, "A", &sc->acpi_sleep_button_sx, 0, acpi_sleep_state_sysctl, "A",
"Sleep button ACPI sleep state."); "Sleep button ACPI sleep state.");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "lid_switch_state", OID_AUTO, "lid_switch_state",
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
&sc->acpi_lid_switch_sx, 0, acpi_sleep_state_sysctl, "A", &sc->acpi_lid_switch_sx, 0, acpi_sleep_state_sysctl, "A",
"Lid ACPI sleep state. Set to S3 if you want to suspend your laptop when close the Lid."); "Lid ACPI sleep state. Set to S3 if you want to suspend your laptop when close the Lid.");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "standby_state", OID_AUTO, "standby_state",
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
&sc->acpi_standby_sx, 0, acpi_sleep_state_sysctl, "A", ""); &sc->acpi_standby_sx, 0, acpi_sleep_state_sysctl, "A", "");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "suspend_state", OID_AUTO, "suspend_state",
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
&sc->acpi_suspend_sx, 0, acpi_sleep_state_sysctl, "A", ""); &sc->acpi_suspend_sx, 0, acpi_sleep_state_sysctl, "A", "");
SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "sleep_delay", CTLFLAG_RW, &sc->acpi_sleep_delay, 0, OID_AUTO, "sleep_delay", CTLFLAG_RW, &sc->acpi_sleep_delay, 0,
@@ -4329,11 +4329,11 @@ acpi_debug_sysctl(SYSCTL_HANDLER_ARGS)
} }
SYSCTL_PROC(_debug_acpi, OID_AUTO, layer, SYSCTL_PROC(_debug_acpi, OID_AUTO, layer,
CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_NEEDGIANT, "debug.acpi.layer", 0, CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_MPSAFE, "debug.acpi.layer", 0,
acpi_debug_sysctl, "A", acpi_debug_sysctl, "A",
""); "");
SYSCTL_PROC(_debug_acpi, OID_AUTO, level, SYSCTL_PROC(_debug_acpi, OID_AUTO, level,
CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_NEEDGIANT, "debug.acpi.level", 0, CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_MPSAFE, "debug.acpi.level", 0,
acpi_debug_sysctl, "A", acpi_debug_sysctl, "A",
""); "");
#endif /* ACPI_DEBUG */ #endif /* ACPI_DEBUG */
+7 -8
View File
@@ -173,7 +173,7 @@ acpi_acad_attach(device_t dev)
acpi_sc = acpi_device_get_parent_softc(dev); acpi_sc = acpi_device_get_parent_softc(dev);
SYSCTL_ADD_PROC(&acpi_sc->acpi_sysctl_ctx, SYSCTL_ADD_PROC(&acpi_sc->acpi_sysctl_ctx,
SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree), OID_AUTO, "acline", SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree), OID_AUTO, "acline",
CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, &sc->status, 0, CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, dev, 0,
acpi_acad_sysctl, "I", ""); acpi_acad_sysctl, "I", "");
} }
@@ -219,14 +219,13 @@ acpi_acad_ioctl(u_long cmd, caddr_t addr, void *arg)
static int static int
acpi_acad_sysctl(SYSCTL_HANDLER_ARGS) acpi_acad_sysctl(SYSCTL_HANDLER_ARGS)
{ {
int val, error; device_t dev = oidp->oid_arg1;
struct acpi_acad_softc *sc = device_get_softc(dev);
int val;
if (acpi_acad_get_acline(&val) != 0) acpi_acad_get_status(dev);
return (ENXIO); val = sc->status;
return (sysctl_handle_int(oidp, &val, 0, req));
val = *(u_int *)oidp->oid_arg1;
error = sysctl_handle_int(oidp, &val, 0, req);
return (error);
} }
static void static void
+47 -59
View File
@@ -973,7 +973,7 @@ acpi_cpu_startup(void *arg)
/* Add a sysctl handler to handle global Cx lowest setting */ /* Add a sysctl handler to handle global Cx lowest setting */
SYSCTL_ADD_PROC(&cpu_sysctl_ctx, SYSCTL_CHILDREN(cpu_sysctl_tree), SYSCTL_ADD_PROC(&cpu_sysctl_ctx, SYSCTL_CHILDREN(cpu_sysctl_tree),
OID_AUTO, "cx_lowest", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, OID_AUTO, "cx_lowest", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
NULL, 0, acpi_cpu_global_cx_lowest_sysctl, "A", NULL, 0, acpi_cpu_global_cx_lowest_sysctl, "A",
"Global lowest Cx sleep state to use"); "Global lowest Cx sleep state to use");
@@ -1018,23 +1018,23 @@ acpi_cpu_startup_cx(struct acpi_cpu_softc *sc)
"Cx/microsecond values for supported Cx states"); "Cx/microsecond values for supported Cx states");
SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx, SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx,
SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO, SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO,
"cx_lowest", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, "cx_lowest", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE,
(void *)sc, 0, acpi_cpu_cx_lowest_sysctl, "A", (void *)sc, 0, acpi_cpu_cx_lowest_sysctl, "A",
"lowest Cx sleep state to use"); "lowest Cx sleep state to use");
SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx, SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx,
SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO, SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO,
"cx_usage", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, "cx_usage", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
(void *)sc, 0, acpi_cpu_usage_sysctl, "A", (void *)sc, 0, acpi_cpu_usage_sysctl, "A",
"percent usage for each Cx state"); "percent usage for each Cx state");
SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx, SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx,
SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO, SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO,
"cx_usage_counters", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, "cx_usage_counters", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
(void *)sc, 0, acpi_cpu_usage_counters_sysctl, "A", (void *)sc, 0, acpi_cpu_usage_counters_sysctl, "A",
"Cx sleep state counters"); "Cx sleep state counters");
#if defined(__i386__) || defined(__amd64__) #if defined(__i386__) || defined(__amd64__)
SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx, SYSCTL_ADD_PROC(&sc->cpu_sysctl_ctx,
SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO, SYSCTL_CHILDREN(device_get_sysctl_tree(sc->cpu_dev)), OID_AUTO,
"cx_method", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, "cx_method", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
(void *)sc, 0, acpi_cpu_method_sysctl, "A", "Cx entrance methods"); (void *)sc, 0, acpi_cpu_method_sysctl, "A", "Cx entrance methods");
#endif #endif
@@ -1339,33 +1339,29 @@ acpi_cpu_quirks_piix4(void)
static int static int
acpi_cpu_usage_sysctl(SYSCTL_HANDLER_ARGS) acpi_cpu_usage_sysctl(SYSCTL_HANDLER_ARGS)
{ {
struct acpi_cpu_softc *sc; struct acpi_cpu_softc *sc = (struct acpi_cpu_softc *)arg1;
struct sbuf sb; struct sbuf sb;
char buf[128]; char buf[128];
int i; int error, i;
uintmax_t fract, sum, whole; uintmax_t fract, sum, whole;
sc = (struct acpi_cpu_softc *) arg1; sbuf_new_for_sysctl(&sb, buf, sizeof(buf), req);
sum = 0; sum = 0;
for (i = 0; i < sc->cpu_cx_count; i++) for (i = 0; i < sc->cpu_cx_count; i++)
sum += sc->cpu_cx_stats[i]; sum += sc->cpu_cx_stats[i];
sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); for (i = 0; i < sc->cpu_cx_count; i++) {
for (i = 0; i < sc->cpu_cx_count; i++) { if (sum > 0) {
if (sum > 0) { whole = (uintmax_t)sc->cpu_cx_stats[i] * 100;
whole = (uintmax_t)sc->cpu_cx_stats[i] * 100; fract = (whole % sum) * 100;
fract = (whole % sum) * 100; sbuf_printf(&sb, "%u.%02u%% ", (u_int)(whole / sum),
sbuf_printf(&sb, "%u.%02u%% ", (u_int)(whole / sum), (u_int)(fract / sum));
(u_int)(fract / sum)); } else
} else sbuf_printf(&sb, "0.00%% ");
sbuf_printf(&sb, "0.00%% "); }
} sbuf_printf(&sb, "last %dus", sc->cpu_prev_sleep);
sbuf_printf(&sb, "last %dus", sc->cpu_prev_sleep); error = sbuf_finish(&sb);
sbuf_trim(&sb); sbuf_delete(&sb);
sbuf_finish(&sb); return (error);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
sbuf_delete(&sb);
return (0);
} }
/* /*
@@ -1375,42 +1371,37 @@ acpi_cpu_usage_sysctl(SYSCTL_HANDLER_ARGS)
static int static int
acpi_cpu_usage_counters_sysctl(SYSCTL_HANDLER_ARGS) acpi_cpu_usage_counters_sysctl(SYSCTL_HANDLER_ARGS)
{ {
struct acpi_cpu_softc *sc; struct acpi_cpu_softc *sc = (struct acpi_cpu_softc *)arg1;
struct sbuf sb; struct sbuf sb;
char buf[128]; char buf[128];
int i; int error, i;
sc = (struct acpi_cpu_softc *) arg1; sbuf_new_for_sysctl(&sb, buf, sizeof(buf), req);
for (i = 0; i < sc->cpu_cx_count; i++) {
/* Print out the raw counters */ if (i > 0)
sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); sbuf_putc(&sb, ' ');
sbuf_printf(&sb, "%u", sc->cpu_cx_stats[i]);
for (i = 0; i < sc->cpu_cx_count; i++) { }
sbuf_printf(&sb, "%u ", sc->cpu_cx_stats[i]); error = sbuf_finish(&sb);
} sbuf_delete(&sb);
return (error);
sbuf_trim(&sb);
sbuf_finish(&sb);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
sbuf_delete(&sb);
return (0);
} }
#if defined(__i386__) || defined(__amd64__) #if defined(__i386__) || defined(__amd64__)
static int static int
acpi_cpu_method_sysctl(SYSCTL_HANDLER_ARGS) acpi_cpu_method_sysctl(SYSCTL_HANDLER_ARGS)
{ {
struct acpi_cpu_softc *sc; struct acpi_cpu_softc *sc = (struct acpi_cpu_softc *)arg1;
struct acpi_cx *cx; struct acpi_cx *cx;
struct sbuf sb; struct sbuf sb;
char buf[128]; char buf[128];
int i; int error, i;
sc = (struct acpi_cpu_softc *)arg1; sbuf_new_for_sysctl(&sb, buf, sizeof(buf), req);
sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN);
for (i = 0; i < sc->cpu_cx_count; i++) { for (i = 0; i < sc->cpu_cx_count; i++) {
cx = &sc->cpu_cx_states[i]; cx = &sc->cpu_cx_states[i];
if (i > 0)
sbuf_putc(&sb, ' ');
sbuf_printf(&sb, "C%d/", i + 1); sbuf_printf(&sb, "C%d/", i + 1);
if (cx->do_mwait) { if (cx->do_mwait) {
sbuf_cat(&sb, "mwait"); sbuf_cat(&sb, "mwait");
@@ -1425,13 +1416,10 @@ acpi_cpu_method_sysctl(SYSCTL_HANDLER_ARGS)
} }
if (cx->type == ACPI_STATE_C1 && cx->p_lvlx != NULL) if (cx->type == ACPI_STATE_C1 && cx->p_lvlx != NULL)
sbuf_cat(&sb, "/iohlt"); sbuf_cat(&sb, "/iohlt");
sbuf_putc(&sb, ' ');
} }
sbuf_trim(&sb); error = sbuf_finish(&sb);
sbuf_finish(&sb);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
sbuf_delete(&sb); sbuf_delete(&sb);
return (0); return (error);
} }
#endif #endif
+1 -1
View File
@@ -517,7 +517,7 @@ acpi_dock_attach(device_t dev)
SYSCTL_ADD_PROC(sc->sysctl_ctx, SYSCTL_ADD_PROC(sc->sysctl_ctx,
SYSCTL_CHILDREN(sc->sysctl_tree), SYSCTL_CHILDREN(sc->sysctl_tree),
OID_AUTO, "status", OID_AUTO, "status",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, dev, 0, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, dev, 0,
acpi_dock_status_sysctl, "I", acpi_dock_status_sysctl, "I",
"Dock/Undock operation"); "Dock/Undock operation");
+10 -10
View File
@@ -263,15 +263,15 @@ acpi_tz_attach(device_t dev)
SYSCTL_CHILDREN(acpi_tz_sysctl_tree), OID_AUTO, oidname, SYSCTL_CHILDREN(acpi_tz_sysctl_tree), OID_AUTO, oidname,
CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "", "thermal_zone"); CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "", "thermal_zone");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE,
&sc->tz_temperature, 0, sysctl_handle_int, "IK", &sc->tz_temperature, 0, sysctl_handle_int, "IK",
"current thermal zone temperature"); "current thermal zone temperature");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "active", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "active", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
0, acpi_tz_active_sysctl, "I", "cooling is active"); 0, acpi_tz_active_sysctl, "I", "cooling is active");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "passive_cooling", OID_AUTO, "passive_cooling",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, 0, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, 0,
acpi_tz_cooling_sysctl, "I", acpi_tz_cooling_sysctl, "I",
"enable passive (speed reduction) cooling"); "enable passive (speed reduction) cooling");
@@ -279,31 +279,31 @@ acpi_tz_attach(device_t dev)
OID_AUTO, "thermal_flags", CTLFLAG_RD, OID_AUTO, "thermal_flags", CTLFLAG_RD,
&sc->tz_thflags, 0, "thermal zone flags"); &sc->tz_thflags, 0, "thermal zone flags");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_PSV", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_PSV", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.psv), acpi_tz_temp_sysctl, "IK", offsetof(struct acpi_tz_softc, tz_zone.psv), acpi_tz_temp_sysctl, "IK",
"passive cooling temp setpoint"); "passive cooling temp setpoint");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_HOT", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_HOT", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.hot), acpi_tz_temp_sysctl, "IK", offsetof(struct acpi_tz_softc, tz_zone.hot), acpi_tz_temp_sysctl, "IK",
"too hot temp setpoint (suspend now)"); "too hot temp setpoint (suspend now)");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_CRT", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_CRT", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.crt), acpi_tz_temp_sysctl, "IK", offsetof(struct acpi_tz_softc, tz_zone.crt), acpi_tz_temp_sysctl, "IK",
"critical temp setpoint (shutdown now)"); "critical temp setpoint (shutdown now)");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_ACx", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, OID_AUTO, "_ACx", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE,
&sc->tz_zone.ac, sizeof(sc->tz_zone.ac), sysctl_handle_opaque, "IK", &sc->tz_zone.ac, sizeof(sc->tz_zone.ac), sysctl_handle_opaque, "IK",
""); "");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_TC1", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_TC1", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.tc1), acpi_tz_passive_sysctl, offsetof(struct acpi_tz_softc, tz_zone.tc1), acpi_tz_passive_sysctl,
"I", "thermal constant 1 for passive cooling"); "I", "thermal constant 1 for passive cooling");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_TC2", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_TC2", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.tc2), acpi_tz_passive_sysctl, offsetof(struct acpi_tz_softc, tz_zone.tc2), acpi_tz_passive_sysctl,
"I", "thermal constant 2 for passive cooling"); "I", "thermal constant 2 for passive cooling");
SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree),
OID_AUTO, "_TSP", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, OID_AUTO, "_TSP", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc,
offsetof(struct acpi_tz_softc, tz_zone.tsp), acpi_tz_passive_sysctl, offsetof(struct acpi_tz_softc, tz_zone.tsp), acpi_tz_passive_sysctl,
"I", "thermal sampling period for passive cooling"); "I", "thermal sampling period for passive cooling");
+1 -1
View File
@@ -370,7 +370,7 @@ acpi_timer_sysctl_freq(SYSCTL_HANDLER_ARGS)
} }
SYSCTL_PROC(_machdep, OID_AUTO, acpi_timer_freq, SYSCTL_PROC(_machdep, OID_AUTO, acpi_timer_freq,
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, 0, sizeof(u_int), CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0,
acpi_timer_sysctl_freq, "I", acpi_timer_sysctl_freq, "I",
"ACPI timer frequency"); "ACPI timer frequency");
+5 -5
View File
@@ -650,33 +650,33 @@ acpi_video_vo_init(UINT32 adr)
SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx, SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx,
SYSCTL_CHILDREN(vo->vo_sysctl_tree), SYSCTL_CHILDREN(vo->vo_sysctl_tree),
OID_AUTO, "active", OID_AUTO, "active",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, vo, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, vo,
0, acpi_video_vo_active_sysctl, "I", 0, acpi_video_vo_active_sysctl, "I",
"current activity of this device"); "current activity of this device");
SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx, SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx,
SYSCTL_CHILDREN(vo->vo_sysctl_tree), SYSCTL_CHILDREN(vo->vo_sysctl_tree),
OID_AUTO, "brightness", OID_AUTO, "brightness",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, vo, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, vo,
0, acpi_video_vo_bright_sysctl, "I", 0, acpi_video_vo_bright_sysctl, "I",
"current brightness level"); "current brightness level");
SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx, SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx,
SYSCTL_CHILDREN(vo->vo_sysctl_tree), SYSCTL_CHILDREN(vo->vo_sysctl_tree),
OID_AUTO, "fullpower", OID_AUTO, "fullpower",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, vo, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, vo,
POWER_PROFILE_PERFORMANCE, POWER_PROFILE_PERFORMANCE,
acpi_video_vo_presets_sysctl, "I", acpi_video_vo_presets_sysctl, "I",
"preset level for full power mode"); "preset level for full power mode");
SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx, SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx,
SYSCTL_CHILDREN(vo->vo_sysctl_tree), SYSCTL_CHILDREN(vo->vo_sysctl_tree),
OID_AUTO, "economy", OID_AUTO, "economy",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, vo, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, vo,
POWER_PROFILE_ECONOMY, POWER_PROFILE_ECONOMY,
acpi_video_vo_presets_sysctl, "I", acpi_video_vo_presets_sysctl, "I",
"preset level for economy mode"); "preset level for economy mode");
SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx, SYSCTL_ADD_PROC(&vo->vo_sysctl_ctx,
SYSCTL_CHILDREN(vo->vo_sysctl_tree), SYSCTL_CHILDREN(vo->vo_sysctl_tree),
OID_AUTO, "levels", OID_AUTO, "levels",
CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, vo, CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, vo,
0, acpi_video_vo_levels_sysctl, "I", 0, acpi_video_vo_levels_sysctl, "I",
"supported brightness levels"); "supported brightness levels");
} else } else