void ibm_handle_events (acpi_handle handle, u32 event, void * context);
this method is registered as a callback with the ACPI subsystem it is called when this device has an event to notify the OS of
The events actually come from the device as two events that get synthesized into one event with data by this function. The event ID comes first and then the slot number that caused it. We report this as one event to the OS.
From section 5.6.2.2 of the ACPI 2.0 spec, I understand that the OSPM will only re-enable the interrupt that causes this event AFTER this method has returned, thereby enforcing serial access for the notification struct.