diff options
author | njl <njl@FreeBSD.org> | 2004-08-13 06:22:29 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2004-08-13 06:22:29 +0000 |
commit | 8fcef8f7661660d67b96e2be3cdb356dfdfba8d5 (patch) | |
tree | ae3f1ac5fa16faecd6908b8559bf3edc60520e83 /sys/i386/acpica | |
parent | e7ca6bbdad9a517758918085ca7d1b3dcac949fb (diff) | |
download | FreeBSD-src-8fcef8f7661660d67b96e2be3cdb356dfdfba8d5.zip FreeBSD-src-8fcef8f7661660d67b96e2be3cdb356dfdfba8d5.tar.gz |
MPSAFE locking
* Serialize access to the sysctl routines and the notify handler.
Diffstat (limited to 'sys/i386/acpica')
-rw-r--r-- | sys/i386/acpica/acpi_asus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/i386/acpica/acpi_asus.c b/sys/i386/acpica/acpi_asus.c index ae50f43..49623e1 100644 --- a/sys/i386/acpica/acpi_asus.c +++ b/sys/i386/acpica/acpi_asus.c @@ -175,6 +175,8 @@ static struct acpi_asus_model acpi_asus_models[] = { { .name = NULL } }; +ACPI_SERIAL_DECL(asus, "ACPI ASUS extras"); + /* Function prototypes */ static int acpi_asus_probe(device_t dev); static int acpi_asus_attach(device_t dev); @@ -455,6 +457,7 @@ acpi_asus_sysctl_brn(SYSCTL_HANDLER_ARGS) ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = (struct acpi_asus_softc *)oidp->oid_arg1; + ACPI_SERIAL_BEGIN(asus); /* Sanity check */ brn = sc->s_brn; @@ -485,6 +488,7 @@ acpi_asus_sysctl_brn(SYSCTL_HANDLER_ARGS) } out: + ACPI_SERIAL_END(asus); return (err); } @@ -497,6 +501,7 @@ acpi_asus_sysctl_lcd(SYSCTL_HANDLER_ARGS) ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = (struct acpi_asus_softc *)oidp->oid_arg1; + ACPI_SERIAL_BEGIN(asus); /* Sanity check */ lcd = sc->s_lcd; @@ -520,6 +525,7 @@ acpi_asus_sysctl_lcd(SYSCTL_HANDLER_ARGS) acpi_SetInteger(sc->handle, sc->model->lcd_set, 0x7); out: + ACPI_SERIAL_END(asus); return (err); } @@ -534,6 +540,7 @@ acpi_asus_sysctl_disp(SYSCTL_HANDLER_ARGS) sc = (struct acpi_asus_softc *)oidp->oid_arg1; /* Sanity check */ + ACPI_SERIAL_BEGIN(asus); disp = sc->s_disp; err = sysctl_handle_int(oidp, &disp, 0, req); @@ -550,6 +557,7 @@ acpi_asus_sysctl_disp(SYSCTL_HANDLER_ARGS) acpi_SetInteger(sc->handle, sc->model->disp_set, disp); out: + ACPI_SERIAL_END(asus); return (err); } @@ -564,6 +572,7 @@ acpi_asus_notify(ACPI_HANDLE h, UINT32 notify, void *context) sc = device_get_softc((device_t)context); acpi_sc = acpi_device_get_parent_softc(sc->dev); + ACPI_SERIAL_BEGIN(asus); if ((notify & ~0x10) <= 15) { sc->s_brn = notify & ~0x10; ACPI_VPRINT(sc->dev, acpi_sc, "Brightness increased\n"); @@ -580,4 +589,5 @@ acpi_asus_notify(ACPI_HANDLE h, UINT32 notify, void *context) /* Notify devd(8) */ acpi_UserNotify("ASUS", h, notify); } + ACPI_SERIAL_END(asus); } |