Source-Changes archive

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

CVS commit: src/sys/dev/acpi



Module Name:    src
Committed By:   jruoho
Date:           Thu Apr 15 07:02:24 UTC 2010

Modified Files:
        src/sys/dev/acpi: acpi.c acpi_acad.c acpi_bat.c acpi_button.c
            acpi_lid.c acpi_tz.c acpivar.h asus_acpi.c dalb_acpi.c smbus_acpi.c
            sony_acpi.c thinkpad_acpi.c vald_acpi.c valz_acpi.c
        src/sys/dev/acpi/wmi: wmi_acpi.c

Log Message:
As discussed with jmcneill@, install a global "bus notification handler"
that receives all notifications and deliver notifications to drivers via it.

Besides making the code more compact, this has several benefits:

  * Minimizes the direct interaction with ACPICA and provides a
    central place that easier to audit.

  * Drivers do not need to wonder what type of notification handler
    (ACPI_SYSTEM_NOTIFY or ACPI_DEVICE_NOTIFY) is appropriate.

  * As the "bus" handles the events, individual drivers do not need to guess
    that EBUSY is the right thing to do when removal of the notify handler
    fails upon detach.

  * This catches also "bus-specific" events. While these remain to be
    unhandled, these are required for things like PCI hotplug and docking.

  * Drivers can not go and claim handles they do not own.

  * This makes it easier to catch unhandled events.


To generate a diff of this commit:
cvs rdiff -u -r1.174 -r1.175 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r1.42 -r1.43 src/sys/dev/acpi/acpi_acad.c
cvs rdiff -u -r1.99 -r1.100 src/sys/dev/acpi/acpi_bat.c
cvs rdiff -u -r1.34 -r1.35 src/sys/dev/acpi/acpi_button.c
cvs rdiff -u -r1.38 -r1.39 src/sys/dev/acpi/acpi_lid.c
cvs rdiff -u -r1.64 -r1.65 src/sys/dev/acpi/acpi_tz.c
cvs rdiff -u -r1.47 -r1.48 src/sys/dev/acpi/acpivar.h
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/acpi/asus_acpi.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/acpi/dalb_acpi.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/acpi/smbus_acpi.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/acpi/sony_acpi.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/acpi/thinkpad_acpi.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/acpi/vald_acpi.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/valz_acpi.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/acpi/wmi/wmi_acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index