Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/acpi_support/acpi_ibm.c
Show All 12 Lines | |||||
/* Hook up proc nodes */ | /* Hook up proc nodes */ | ||||
for (int i = 0; acpi_ibm_sysctls[i].name != NULL; i++) { | for (int i = 0; acpi_ibm_sysctls[i].name != NULL; i++) { | ||||
if (!acpi_ibm_sysctl_init(sc, acpi_ibm_sysctls[i].method)) | if (!acpi_ibm_sysctl_init(sc, acpi_ibm_sysctls[i].method)) | ||||
continue; | continue; | ||||
if (acpi_ibm_sysctls[i].flag_rdonly != 0) { | if (acpi_ibm_sysctls[i].flag_rdonly != 0) { | ||||
SYSCTL_ADD_PROC(sc->sysctl_ctx, | SYSCTL_ADD_PROC(sc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | ||||
acpi_ibm_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RD, | acpi_ibm_sysctls[i].name, | ||||
CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | |||||
sc, i, acpi_ibm_sysctl, "I", | sc, i, acpi_ibm_sysctl, "I", | ||||
acpi_ibm_sysctls[i].description); | acpi_ibm_sysctls[i].description); | ||||
} else { | } else { | ||||
SYSCTL_ADD_PROC(sc->sysctl_ctx, | SYSCTL_ADD_PROC(sc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | ||||
acpi_ibm_sysctls[i].name, CTLTYPE_INT | CTLFLAG_RW, | acpi_ibm_sysctls[i].name, | ||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
sc, i, acpi_ibm_sysctl, "I", | sc, i, acpi_ibm_sysctl, "I", | ||||
acpi_ibm_sysctls[i].description); | acpi_ibm_sysctls[i].description); | ||||
} | } | ||||
} | } | ||||
/* Hook up thermal node */ | /* Hook up thermal node */ | ||||
if (acpi_ibm_sysctl_init(sc, ACPI_IBM_METHOD_THERMAL)) { | if (acpi_ibm_sysctl_init(sc, ACPI_IBM_METHOD_THERMAL)) { | ||||
SYSCTL_ADD_PROC(sc->sysctl_ctx, | SYSCTL_ADD_PROC(sc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | ||||
"thermal", CTLTYPE_INT | CTLFLAG_RD, | "thermal", | ||||
CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, | |||||
sc, 0, acpi_ibm_thermal_sysctl, "I", | sc, 0, acpi_ibm_thermal_sysctl, "I", | ||||
"Thermal zones"); | "Thermal zones"); | ||||
} | } | ||||
/* Hook up handlerevents node */ | /* Hook up handlerevents node */ | ||||
if (acpi_ibm_sysctl_init(sc, ACPI_IBM_METHOD_HANDLEREVENTS)) { | if (acpi_ibm_sysctl_init(sc, ACPI_IBM_METHOD_HANDLEREVENTS)) { | ||||
SYSCTL_ADD_PROC(sc->sysctl_ctx, | SYSCTL_ADD_PROC(sc->sysctl_ctx, | ||||
SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, | ||||
"handlerevents", CTLTYPE_STRING | CTLFLAG_RW, | "handlerevents", | ||||
CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, | |||||
sc, 0, acpi_ibm_handlerevents_sysctl, "I", | sc, 0, acpi_ibm_handlerevents_sysctl, "I", | ||||
"devd(8) events handled by acpi_ibm"); | "devd(8) events handled by acpi_ibm"); | ||||
} | } | ||||
/* Handle notifies */ | /* Handle notifies */ | ||||
AcpiInstallNotifyHandler(sc->handle, ACPI_DEVICE_NOTIFY, | AcpiInstallNotifyHandler(sc->handle, ACPI_DEVICE_NOTIFY, | ||||
acpi_ibm_notify, dev); | acpi_ibm_notify, dev); | ||||
Show All 12 Lines |