• Toshi Kani's avatar
    ACPI: Add acpi_handle_<level>() interfaces · fbfddae6
    Toshi Kani authored
    This patch introduces acpi_handle_<level>(), where <level> is
    a kernel message level such as err/warn/info, to support improved
    logging messages for ACPI, esp. hot-plug operations.
    acpi_handle_<level>() appends "ACPI" prefix and ACPI object path
    to the messages.  This improves diagnosis of hotplug operations
    since an error message in a log file identifies an object that
    caused an issue.  This interface acquires the global namespace
    mutex to obtain an object path.  In interrupt context, it shows
    the object path as <n/a>.
    
    acpi_handle_<level>() takes acpi_handle as an argument, which is
    passed to ACPI hotplug notify handlers from the ACPICA.  Therefore,
    it is always available unlike other kernel objects, such as device.
    
    For example:
      acpi_handle_err(handle, "Device don't exist, dropping EJECT\n");
    logs an error message like this at KERN_ERR.
      ACPI: \_SB_.SCK4.CPU4: Device don't exist, dropping EJECT
    
    ACPI hot-plug drivers can use acpi_handle_<level>() when they need
    to identify a target ACPI object path in their messages, such as
    error cases.  The usage model is similar to dev_<level>().
    acpi_handle_<level>() can be used when a device is not created or
    is invalid during hot-plug operations.  ACPI object path is also
    consistent on the platform, unlike device name that gets incremented
    over hotplug operations.
    
    ACPI drivers should use dev_<level>() when a device object is valid.
    Device name provides more user friendly information, and avoids
    acquiring the global ACPI namespace mutex.  ACPI drivers also
    continue to use pr_<level>() when they do not need to specify device
    information, such as boot-up messages.
    
    Note: ACPI_[WARNING|INFO|ERROR]() are intended for the ACPICA and
    are not associated with the kernel message level.
    Signed-off-by: default avatarToshi Kani <toshi.kani@hp.com>
    Tested-by: default avatarVijay Mohan Pandarathil <vijaymohan.pandarathil@hp.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    fbfddae6
utils.c 12.2 KB