Merge branch 'acpi-messages'

* acpi-messages:
  ACPI: OSL: Clean up printing messages
  ACPI: OSL: Rework acpi_check_resource_conflict()
  ACPI: thermal: Clean up printing messages
  ACPI: video: Clean up printing messages
  ACPI: button: Clean up printing messages
  ACPI: battery: Clean up printing messages
  ACPI: AC: Clean up printing messages
  ACPI: bus: Drop ACPI_BUS_COMPONENT which is not used any more
  ACPI: utils: Clean up printing messages
  ACPI: scan: Clean up printing messages
  ACPI: bus: Clean up printing messages
  ACPI: PM: Clean up printing messages
  ACPI: power: Clean up printing messages
This commit is contained in:
Rafael J. Wysocki 2021-02-15 17:04:53 +01:00
commit 2d4eb33172
14 changed files with 241 additions and 331 deletions

View file

@ -52,19 +52,12 @@ shows the supported mask values, currently these::
ACPI_CA_DISASSEMBLER 0x00000800 ACPI_CA_DISASSEMBLER 0x00000800
ACPI_COMPILER 0x00001000 ACPI_COMPILER 0x00001000
ACPI_TOOLS 0x00002000 ACPI_TOOLS 0x00002000
ACPI_BUS_COMPONENT 0x00010000
ACPI_AC_COMPONENT 0x00020000
ACPI_BATTERY_COMPONENT 0x00040000
ACPI_BUTTON_COMPONENT 0x00080000
ACPI_SBS_COMPONENT 0x00100000 ACPI_SBS_COMPONENT 0x00100000
ACPI_FAN_COMPONENT 0x00200000 ACPI_FAN_COMPONENT 0x00200000
ACPI_PCI_COMPONENT 0x00400000 ACPI_PCI_COMPONENT 0x00400000
ACPI_POWER_COMPONENT 0x00800000
ACPI_CONTAINER_COMPONENT 0x01000000 ACPI_CONTAINER_COMPONENT 0x01000000
ACPI_SYSTEM_COMPONENT 0x02000000 ACPI_SYSTEM_COMPONENT 0x02000000
ACPI_THERMAL_COMPONENT 0x04000000
ACPI_MEMORY_DEVICE_COMPONENT 0x08000000 ACPI_MEMORY_DEVICE_COMPONENT 0x08000000
ACPI_VIDEO_COMPONENT 0x10000000
ACPI_PROCESSOR_COMPONENT 0x20000000 ACPI_PROCESSOR_COMPONENT 0x20000000
debug_level debug_level
@ -118,15 +111,15 @@ currently these::
Examples Examples
======== ========
For example, drivers/acpi/bus.c contains this:: For example, drivers/acpi/acpica/evxfevnt.c contains this::
#define _COMPONENT ACPI_BUS_COMPONENT #define _COMPONENT ACPI_EVENTS
... ...
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device insertion detected\n")); ACPI_DEBUG_PRINT((ACPI_DB_INIT, "ACPI mode disabled\n"));
To turn on this message, set the ACPI_BUS_COMPONENT bit in acpi.debug_layer To turn on this message, set the ACPI_EVENTS bit in acpi.debug_layer
and the ACPI_LV_INFO bit in acpi.debug_level. (The ACPI_DEBUG_PRINT and the ACPI_LV_INIT bit in acpi.debug_level. (The ACPI_DEBUG_PRINT
statement uses ACPI_DB_INFO, which is macro based on the ACPI_LV_INFO statement uses ACPI_DB_INIT, which is a macro based on the ACPI_LV_INIT
definition.) definition.)
Enable all AML "Debug" output (stores to the Debug object while interpreting Enable all AML "Debug" output (stores to the Debug object while interpreting

View file

@ -6,6 +6,8 @@
* Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
*/ */
#define pr_fmt(fmt) "ACPI: AC: " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/slab.h> #include <linux/slab.h>
@ -18,8 +20,6 @@
#include <linux/acpi.h> #include <linux/acpi.h>
#include <acpi/battery.h> #include <acpi/battery.h>
#define PREFIX "ACPI: "
#define ACPI_AC_CLASS "ac_adapter" #define ACPI_AC_CLASS "ac_adapter"
#define ACPI_AC_DEVICE_NAME "AC Adapter" #define ACPI_AC_DEVICE_NAME "AC Adapter"
#define ACPI_AC_FILE_STATE "state" #define ACPI_AC_FILE_STATE "state"
@ -28,9 +28,6 @@
#define ACPI_AC_STATUS_ONLINE 0x01 #define ACPI_AC_STATUS_ONLINE 0x01
#define ACPI_AC_STATUS_UNKNOWN 0xFF #define ACPI_AC_STATUS_UNKNOWN 0xFF
#define _COMPONENT ACPI_AC_COMPONENT
ACPI_MODULE_NAME("ac");
MODULE_AUTHOR("Paul Diefenbaugh"); MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION("ACPI AC Adapter Driver"); MODULE_DESCRIPTION("ACPI AC Adapter Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -102,8 +99,9 @@ static int acpi_ac_get_state(struct acpi_ac *ac)
status = acpi_evaluate_integer(ac->device->handle, "_PSR", NULL, status = acpi_evaluate_integer(ac->device->handle, "_PSR", NULL,
&ac->state); &ac->state);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status, acpi_handle_info(ac->device->handle,
"Error reading AC Adapter state")); "Error reading AC Adapter state: %s\n",
acpi_format_exception(status));
ac->state = ACPI_AC_STATUS_UNKNOWN; ac->state = ACPI_AC_STATUS_UNKNOWN;
return -ENODEV; return -ENODEV;
} }
@ -153,8 +151,8 @@ static void acpi_ac_notify(struct acpi_device *device, u32 event)
switch (event) { switch (event) {
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(device->handle, "Unsupported event [0x%x]\n",
"Unsupported event [0x%x]\n", event)); event);
fallthrough; fallthrough;
case ACPI_AC_NOTIFY_STATUS: case ACPI_AC_NOTIFY_STATUS:
case ACPI_NOTIFY_BUS_CHECK: case ACPI_NOTIFY_BUS_CHECK:
@ -278,9 +276,8 @@ static int acpi_ac_add(struct acpi_device *device)
goto end; goto end;
} }
printk(KERN_INFO PREFIX "%s [%s] (%s)\n", pr_info("%s [%s] (%s)\n", acpi_device_name(device),
acpi_device_name(device), acpi_device_bid(device), acpi_device_bid(device), ac->state ? "on-line" : "off-line");
ac->state ? "on-line" : "off-line");
ac->battery_nb.notifier_call = acpi_ac_battery_notify; ac->battery_nb.notifier_call = acpi_ac_battery_notify;
register_acpi_notifier(&ac->battery_nb); register_acpi_notifier(&ac->battery_nb);
@ -348,7 +345,7 @@ static int __init acpi_ac_init(void)
for (i = 0; i < ARRAY_SIZE(acpi_ac_blacklist); i++) for (i = 0; i < ARRAY_SIZE(acpi_ac_blacklist); i++)
if (acpi_dev_present(acpi_ac_blacklist[i].hid, "1", if (acpi_dev_present(acpi_ac_blacklist[i].hid, "1",
acpi_ac_blacklist[i].hrv)) { acpi_ac_blacklist[i].hrv)) {
pr_info(PREFIX "AC: found native %s PMIC, not loading\n", pr_info("found native %s PMIC, not loading\n",
acpi_ac_blacklist[i].hid); acpi_ac_blacklist[i].hid);
return -ENODEV; return -ENODEV;
} }

View file

@ -7,6 +7,8 @@
* Copyright (C) 2006 Thomas Tuttle <linux-kernel@ttuttle.net> * Copyright (C) 2006 Thomas Tuttle <linux-kernel@ttuttle.net>
*/ */
#define pr_fmt(fmt) "ACPI: video: " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
@ -26,16 +28,11 @@
#include <acpi/video.h> #include <acpi/video.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#define PREFIX "ACPI: "
#define ACPI_VIDEO_BUS_NAME "Video Bus" #define ACPI_VIDEO_BUS_NAME "Video Bus"
#define ACPI_VIDEO_DEVICE_NAME "Video Device" #define ACPI_VIDEO_DEVICE_NAME "Video Device"
#define MAX_NAME_LEN 20 #define MAX_NAME_LEN 20
#define _COMPONENT ACPI_VIDEO_COMPONENT
ACPI_MODULE_NAME("video");
MODULE_AUTHOR("Bruno Ducrot"); MODULE_AUTHOR("Bruno Ducrot");
MODULE_DESCRIPTION("ACPI Video Driver"); MODULE_DESCRIPTION("ACPI Video Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -326,11 +323,11 @@ acpi_video_device_lcd_query_levels(acpi_handle handle,
*levels = NULL; *levels = NULL;
status = acpi_evaluate_object(handle, "_BCL", NULL, &buffer); status = acpi_evaluate_object(handle, "_BCL", NULL, &buffer);
if (!ACPI_SUCCESS(status)) if (ACPI_FAILURE(status))
return status; return status;
obj = (union acpi_object *)buffer.pointer; obj = (union acpi_object *)buffer.pointer;
if (!obj || (obj->type != ACPI_TYPE_PACKAGE)) { if (!obj || (obj->type != ACPI_TYPE_PACKAGE)) {
printk(KERN_ERR PREFIX "Invalid _BCL data\n"); acpi_handle_info(handle, "Invalid _BCL data\n");
status = -EFAULT; status = -EFAULT;
goto err; goto err;
} }
@ -354,7 +351,7 @@ acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level)
status = acpi_execute_simple_method(device->dev->handle, status = acpi_execute_simple_method(device->dev->handle,
"_BCM", level); "_BCM", level);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_ERROR((AE_INFO, "Evaluating _BCM failed")); acpi_handle_info(device->dev->handle, "_BCM evaluation failed\n");
return -EIO; return -EIO;
} }
@ -368,7 +365,7 @@ acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level)
return 0; return 0;
} }
ACPI_ERROR((AE_INFO, "Current brightness invalid")); acpi_handle_info(device->dev->handle, "Current brightness invalid\n");
return -EINVAL; return -EINVAL;
} }
@ -622,9 +619,8 @@ acpi_video_device_lcd_get_level_current(struct acpi_video_device *device,
* BQC returned an invalid level. * BQC returned an invalid level.
* Stop using it. * Stop using it.
*/ */
ACPI_WARNING((AE_INFO, acpi_handle_info(device->dev->handle,
"%s returned an invalid level", "%s returned an invalid level", buf);
buf));
device->cap._BQC = device->cap._BCQ = 0; device->cap._BQC = device->cap._BCQ = 0;
} else { } else {
/* /*
@ -635,7 +631,8 @@ acpi_video_device_lcd_get_level_current(struct acpi_video_device *device,
* ACPI video backlight still works w/ buggy _BQC. * ACPI video backlight still works w/ buggy _BQC.
* http://bugzilla.kernel.org/show_bug.cgi?id=12233 * http://bugzilla.kernel.org/show_bug.cgi?id=12233
*/ */
ACPI_WARNING((AE_INFO, "Evaluating %s failed", buf)); acpi_handle_info(device->dev->handle,
"%s evaluation failed", buf);
device->cap._BQC = device->cap._BCQ = 0; device->cap._BQC = device->cap._BCQ = 0;
} }
} }
@ -675,7 +672,7 @@ acpi_video_device_EDID(struct acpi_video_device *device,
if (obj && obj->type == ACPI_TYPE_BUFFER) if (obj && obj->type == ACPI_TYPE_BUFFER)
*edid = obj; *edid = obj;
else { else {
printk(KERN_ERR PREFIX "Invalid _DDC data\n"); acpi_handle_info(device->dev->handle, "Invalid _DDC data\n");
status = -EFAULT; status = -EFAULT;
kfree(obj); kfree(obj);
} }
@ -827,10 +824,9 @@ int acpi_video_get_levels(struct acpi_device *device,
int result = 0; int result = 0;
u32 value; u32 value;
if (!ACPI_SUCCESS(acpi_video_device_lcd_query_levels(device->handle, if (ACPI_FAILURE(acpi_video_device_lcd_query_levels(device->handle, &obj))) {
&obj))) { acpi_handle_debug(device->handle,
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Could not query available " "Could not query available LCD brightness level\n");
"LCD brightness level\n"));
result = -ENODEV; result = -ENODEV;
goto out; goto out;
} }
@ -842,7 +838,6 @@ int acpi_video_get_levels(struct acpi_device *device,
br = kzalloc(sizeof(*br), GFP_KERNEL); br = kzalloc(sizeof(*br), GFP_KERNEL);
if (!br) { if (!br) {
printk(KERN_ERR "can't allocate memory\n");
result = -ENOMEM; result = -ENOMEM;
goto out; goto out;
} }
@ -863,7 +858,7 @@ int acpi_video_get_levels(struct acpi_device *device,
for (i = 0; i < obj->package.count; i++) { for (i = 0; i < obj->package.count; i++) {
o = (union acpi_object *)&obj->package.elements[i]; o = (union acpi_object *)&obj->package.elements[i];
if (o->type != ACPI_TYPE_INTEGER) { if (o->type != ACPI_TYPE_INTEGER) {
printk(KERN_ERR PREFIX "Invalid data\n"); acpi_handle_info(device->handle, "Invalid data\n");
continue; continue;
} }
value = (u32) o->integer.value; value = (u32) o->integer.value;
@ -900,7 +895,8 @@ int acpi_video_get_levels(struct acpi_device *device,
br->levels[i] = br->levels[i - level_ac_battery]; br->levels[i] = br->levels[i - level_ac_battery];
count += level_ac_battery; count += level_ac_battery;
} else if (level_ac_battery > ACPI_VIDEO_FIRST_LEVEL) } else if (level_ac_battery > ACPI_VIDEO_FIRST_LEVEL)
ACPI_ERROR((AE_INFO, "Too many duplicates in _BCL package")); acpi_handle_info(device->handle,
"Too many duplicates in _BCL package");
/* Check if the _BCL package is in a reversed order */ /* Check if the _BCL package is in a reversed order */
if (max_level == br->levels[ACPI_VIDEO_FIRST_LEVEL]) { if (max_level == br->levels[ACPI_VIDEO_FIRST_LEVEL]) {
@ -910,8 +906,8 @@ int acpi_video_get_levels(struct acpi_device *device,
sizeof(br->levels[ACPI_VIDEO_FIRST_LEVEL]), sizeof(br->levels[ACPI_VIDEO_FIRST_LEVEL]),
acpi_video_cmp_level, NULL); acpi_video_cmp_level, NULL);
} else if (max_level != br->levels[count - 1]) } else if (max_level != br->levels[count - 1])
ACPI_ERROR((AE_INFO, acpi_handle_info(device->handle,
"Found unordered _BCL package")); "Found unordered _BCL package");
br->count = count; br->count = count;
*dev_br = br; *dev_br = br;
@ -989,9 +985,9 @@ set_level:
if (result) if (result)
goto out_free_levels; goto out_free_levels;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(device->dev->handle, "found %d brightness levels\n",
"found %d brightness levels\n", br->count - ACPI_VIDEO_FIRST_LEVEL);
br->count - ACPI_VIDEO_FIRST_LEVEL));
return 0; return 0;
out_free_levels: out_free_levels:
@ -1023,7 +1019,8 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
if (acpi_has_method(device->dev->handle, "_BQC")) { if (acpi_has_method(device->dev->handle, "_BQC")) {
device->cap._BQC = 1; device->cap._BQC = 1;
} else if (acpi_has_method(device->dev->handle, "_BCQ")) { } else if (acpi_has_method(device->dev->handle, "_BCQ")) {
printk(KERN_WARNING FW_BUG "_BCQ is used instead of _BQC\n"); acpi_handle_info(device->dev->handle,
"_BCQ is used instead of _BQC\n");
device->cap._BCQ = 1; device->cap._BCQ = 1;
} }
@ -1083,8 +1080,7 @@ static int acpi_video_bus_check(struct acpi_video_bus *video)
/* Does this device support video switching? */ /* Does this device support video switching? */
if (video->cap._DOS || video->cap._DOD) { if (video->cap._DOS || video->cap._DOD) {
if (!video->cap._DOS) { if (!video->cap._DOS) {
printk(KERN_WARNING FW_BUG pr_info(FW_BUG "ACPI(%s) defines _DOD but not _DOS\n",
"ACPI(%s) defines _DOD but not _DOS\n",
acpi_device_bid(video->device)); acpi_device_bid(video->device));
} }
video->flags.multihead = 1; video->flags.multihead = 1;
@ -1272,7 +1268,8 @@ acpi_video_device_bind(struct acpi_video_bus *video,
ids = &video->attached_array[i]; ids = &video->attached_array[i];
if (device->device_id == (ids->value.int_val & 0xffff)) { if (device->device_id == (ids->value.int_val & 0xffff)) {
ids->bind_info = device; ids->bind_info = device;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "device_bind %d\n", i)); acpi_handle_debug(video->device->handle, "%s: %d\n",
__func__, i);
} }
} }
} }
@ -1324,20 +1321,22 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
return AE_NOT_EXIST; return AE_NOT_EXIST;
status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer);
if (!ACPI_SUCCESS(status)) { if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _DOD")); acpi_handle_info(video->device->handle,
"_DOD evaluation failed: %s\n",
acpi_format_exception(status));
return status; return status;
} }
dod = buffer.pointer; dod = buffer.pointer;
if (!dod || (dod->type != ACPI_TYPE_PACKAGE)) { if (!dod || (dod->type != ACPI_TYPE_PACKAGE)) {
ACPI_EXCEPTION((AE_INFO, status, "Invalid _DOD data")); acpi_handle_info(video->device->handle, "Invalid _DOD data\n");
status = -EFAULT; status = -EFAULT;
goto out; goto out;
} }
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found %d video heads in _DOD\n", acpi_handle_debug(video->device->handle, "Found %d video heads in _DOD\n",
dod->package.count)); dod->package.count);
active_list = kcalloc(1 + dod->package.count, active_list = kcalloc(1 + dod->package.count,
sizeof(struct acpi_video_enumerated_device), sizeof(struct acpi_video_enumerated_device),
@ -1352,15 +1351,18 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
obj = &dod->package.elements[i]; obj = &dod->package.elements[i];
if (obj->type != ACPI_TYPE_INTEGER) { if (obj->type != ACPI_TYPE_INTEGER) {
printk(KERN_ERR PREFIX acpi_handle_info(video->device->handle,
"Invalid _DOD data in element %d\n", i); "Invalid _DOD data in element %d\n", i);
continue; continue;
} }
active_list[count].value.int_val = obj->integer.value; active_list[count].value.int_val = obj->integer.value;
active_list[count].bind_info = NULL; active_list[count].bind_info = NULL;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "dod element[%d] = %d\n", i,
(int)obj->integer.value)); acpi_handle_debug(video->device->handle,
"_DOD element[%d] = %d\n", i,
(int)obj->integer.value);
count++; count++;
} }
@ -1451,7 +1453,8 @@ acpi_video_switch_brightness(struct work_struct *work)
out: out:
if (result) if (result)
printk(KERN_ERR PREFIX "Failed to switch the brightness\n"); acpi_handle_info(device->dev->handle,
"Failed to switch brightness\n");
} }
int acpi_video_get_edid(struct acpi_device *device, int type, int device_id, int acpi_video_get_edid(struct acpi_device *device, int type, int device_id,
@ -1601,8 +1604,8 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
break; break;
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(device->handle, "Unsupported event [0x%x]\n",
"Unsupported event [0x%x]\n", event)); event);
break; break;
} }
@ -1675,8 +1678,7 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data)
keycode = KEY_DISPLAY_OFF; keycode = KEY_DISPLAY_OFF;
break; break;
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(handle, "Unsupported event [0x%x]\n", event);
"Unsupported event [0x%x]\n", event));
break; break;
} }
@ -1812,11 +1814,12 @@ static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
&device->cooling_dev->device.kobj, &device->cooling_dev->device.kobj,
"thermal_cooling"); "thermal_cooling");
if (result) if (result)
printk(KERN_ERR PREFIX "Create sysfs link\n"); pr_info("sysfs link creation failed\n");
result = sysfs_create_link(&device->cooling_dev->device.kobj, result = sysfs_create_link(&device->cooling_dev->device.kobj,
&device->dev->dev.kobj, "device"); &device->dev->dev.kobj, "device");
if (result) if (result)
printk(KERN_ERR PREFIX "Create sysfs link\n"); pr_info("Reverse sysfs link creation failed\n");
} }
static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video) static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video)
@ -2030,7 +2033,7 @@ static int acpi_video_bus_add(struct acpi_device *device)
acpi_video_bus_match, NULL, acpi_video_bus_match, NULL,
device, NULL); device, NULL);
if (status == AE_ALREADY_EXISTS) { if (status == AE_ALREADY_EXISTS) {
printk(KERN_WARNING FW_BUG pr_info(FW_BUG
"Duplicate ACPI video bus devices for the" "Duplicate ACPI video bus devices for the"
" same VGA controller, please try module " " same VGA controller, please try module "
"parameter \"video.allow_duplicates=1\"" "parameter \"video.allow_duplicates=1\""
@ -2073,7 +2076,7 @@ static int acpi_video_bus_add(struct acpi_device *device)
if (error) if (error)
goto err_put_video; goto err_put_video;
printk(KERN_INFO PREFIX "%s [%s] (multi-head: %s rom: %s post: %s)\n", pr_info("%s [%s] (multi-head: %s rom: %s post: %s)\n",
ACPI_VIDEO_DEVICE_NAME, acpi_device_bid(device), ACPI_VIDEO_DEVICE_NAME, acpi_device_bid(device),
video->flags.multihead ? "yes" : "no", video->flags.multihead ? "yes" : "no",
video->flags.rom ? "yes" : "no", video->flags.rom ? "yes" : "no",

View file

@ -8,7 +8,7 @@
* Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) "ACPI: battery: " fmt
#include <linux/async.h> #include <linux/async.h>
#include <linux/delay.h> #include <linux/delay.h>
@ -29,8 +29,6 @@
#include <acpi/battery.h> #include <acpi/battery.h>
#define PREFIX "ACPI: "
#define ACPI_BATTERY_VALUE_UNKNOWN 0xFFFFFFFF #define ACPI_BATTERY_VALUE_UNKNOWN 0xFFFFFFFF
#define ACPI_BATTERY_CAPACITY_VALID(capacity) \ #define ACPI_BATTERY_CAPACITY_VALID(capacity) \
((capacity) != 0 && (capacity) != ACPI_BATTERY_VALUE_UNKNOWN) ((capacity) != 0 && (capacity) != ACPI_BATTERY_VALUE_UNKNOWN)
@ -44,10 +42,6 @@
#define ACPI_BATTERY_STATE_CHARGING 0x2 #define ACPI_BATTERY_STATE_CHARGING 0x2
#define ACPI_BATTERY_STATE_CRITICAL 0x4 #define ACPI_BATTERY_STATE_CRITICAL 0x4
#define _COMPONENT ACPI_BATTERY_COMPONENT
ACPI_MODULE_NAME("battery");
MODULE_AUTHOR("Paul Diefenbaugh"); MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_AUTHOR("Alexey Starikovskiy <astarikovskiy@suse.de>"); MODULE_AUTHOR("Alexey Starikovskiy <astarikovskiy@suse.de>");
MODULE_DESCRIPTION("ACPI Battery Driver"); MODULE_DESCRIPTION("ACPI Battery Driver");
@ -466,7 +460,8 @@ static int extract_package(struct acpi_battery *battery,
static int acpi_battery_get_status(struct acpi_battery *battery) static int acpi_battery_get_status(struct acpi_battery *battery)
{ {
if (acpi_bus_get_status(battery->device)) { if (acpi_bus_get_status(battery->device)) {
ACPI_EXCEPTION((AE_INFO, AE_ERROR, "Evaluating _STA")); acpi_handle_info(battery->device->handle,
"_STA evaluation failed\n");
return -ENODEV; return -ENODEV;
} }
return 0; return 0;
@ -535,8 +530,10 @@ static int acpi_battery_get_info(struct acpi_battery *battery)
mutex_unlock(&battery->lock); mutex_unlock(&battery->lock);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating %s", acpi_handle_info(battery->device->handle,
use_bix ? "_BIX":"_BIF")); "%s evaluation failed: %s\n",
use_bix ?"_BIX":"_BIF",
acpi_format_exception(status));
} else { } else {
result = extract_battery_info(use_bix, result = extract_battery_info(use_bix,
battery, battery,
@ -573,7 +570,9 @@ static int acpi_battery_get_state(struct acpi_battery *battery)
mutex_unlock(&battery->lock); mutex_unlock(&battery->lock);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _BST")); acpi_handle_info(battery->device->handle,
"_BST evaluation failed: %s",
acpi_format_exception(status));
return -ENODEV; return -ENODEV;
} }
@ -590,7 +589,7 @@ static int acpi_battery_get_state(struct acpi_battery *battery)
battery->rate_now != ACPI_BATTERY_VALUE_UNKNOWN && battery->rate_now != ACPI_BATTERY_VALUE_UNKNOWN &&
(s16)(battery->rate_now) < 0) { (s16)(battery->rate_now) < 0) {
battery->rate_now = abs((s16)battery->rate_now); battery->rate_now = abs((s16)battery->rate_now);
pr_warn_once(FW_BUG "battery: (dis)charge rate invalid.\n"); pr_warn_once(FW_BUG "(dis)charge rate invalid.\n");
} }
if (test_bit(ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, &battery->flags) if (test_bit(ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, &battery->flags)
@ -625,7 +624,9 @@ static int acpi_battery_set_alarm(struct acpi_battery *battery)
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
return -ENODEV; return -ENODEV;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Alarm set to %d\n", battery->alarm)); acpi_handle_debug(battery->device->handle, "Alarm set to %d\n",
battery->alarm);
return 0; return 0;
} }
@ -1201,8 +1202,7 @@ static int acpi_battery_add(struct acpi_device *device)
if (result) if (result)
goto fail; goto fail;
pr_info(PREFIX "%s Slot [%s] (battery %s)\n", pr_info("Slot [%s] (battery %s)\n", acpi_device_bid(device),
ACPI_BATTERY_DEVICE_NAME, acpi_device_bid(device),
device->status.battery_present ? "present" : "absent"); device->status.battery_present ? "present" : "absent");
battery->pm_nb.notifier_call = battery_notify; battery->pm_nb.notifier_call = battery_notify;
@ -1282,8 +1282,7 @@ static void __init acpi_battery_init_async(void *unused, async_cookie_t cookie)
if (battery_check_pmic) { if (battery_check_pmic) {
for (i = 0; i < ARRAY_SIZE(acpi_battery_blacklist); i++) for (i = 0; i < ARRAY_SIZE(acpi_battery_blacklist); i++)
if (acpi_dev_present(acpi_battery_blacklist[i], "1", -1)) { if (acpi_dev_present(acpi_battery_blacklist[i], "1", -1)) {
pr_info(PREFIX ACPI_BATTERY_DEVICE_NAME pr_info("found native %s PMIC, not loading\n",
": found native %s PMIC, not loading\n",
acpi_battery_blacklist[i]); acpi_battery_blacklist[i]);
return; return;
} }

View file

@ -5,6 +5,8 @@
* Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
*/ */
#define pr_fmt(fmt) "ACPI: " fmt
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/ioport.h> #include <linux/ioport.h>
@ -31,9 +33,6 @@
#include "internal.h" #include "internal.h"
#define _COMPONENT ACPI_BUS_COMPONENT
ACPI_MODULE_NAME("bus");
struct acpi_device *acpi_root; struct acpi_device *acpi_root;
struct proc_dir_entry *acpi_root_dir; struct proc_dir_entry *acpi_root_dir;
EXPORT_SYMBOL(acpi_root_dir); EXPORT_SYMBOL(acpi_root_dir);
@ -47,8 +46,7 @@ static inline int set_copy_dsdt(const struct dmi_system_id *id)
#else #else
static int set_copy_dsdt(const struct dmi_system_id *id) static int set_copy_dsdt(const struct dmi_system_id *id)
{ {
printk(KERN_NOTICE "%s detected - " pr_notice("%s detected - force copy of DSDT to local memory\n", id->ident);
"force copy of DSDT to local memory\n", id->ident);
acpi_gbl_copy_dsdt_locally = 1; acpi_gbl_copy_dsdt_locally = 1;
return 0; return 0;
} }
@ -116,13 +114,11 @@ int acpi_bus_get_status(struct acpi_device *device)
acpi_set_device_status(device, sta); acpi_set_device_status(device, sta);
if (device->status.functional && !device->status.present) { if (device->status.functional && !device->status.present) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]: " pr_debug("Device [%s] status [%08x]: functional but not present\n",
"functional but not present;\n", device->pnp.bus_id, (u32)sta);
device->pnp.bus_id, (u32)sta));
} }
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]\n", pr_debug("Device [%s] status [%08x]\n", device->pnp.bus_id, (u32)sta);
device->pnp.bus_id, (u32)sta));
return 0; return 0;
} }
EXPORT_SYMBOL(acpi_bus_get_status); EXPORT_SYMBOL(acpi_bus_get_status);
@ -915,9 +911,9 @@ static int acpi_device_probe(struct device *dev)
return ret; return ret;
acpi_dev->driver = acpi_drv; acpi_dev->driver = acpi_drv;
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Driver [%s] successfully bound to device [%s]\n", pr_debug("Driver [%s] successfully bound to device [%s]\n",
acpi_drv->name, acpi_dev->pnp.bus_id)); acpi_drv->name, acpi_dev->pnp.bus_id);
if (acpi_drv->ops.notify) { if (acpi_drv->ops.notify) {
ret = acpi_device_install_notify_handler(acpi_dev); ret = acpi_device_install_notify_handler(acpi_dev);
@ -931,8 +927,9 @@ static int acpi_device_probe(struct device *dev)
} }
} }
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found driver [%s] for device [%s]\n", pr_debug("Found driver [%s] for device [%s]\n", acpi_drv->name,
acpi_drv->name, acpi_dev->pnp.bus_id)); acpi_dev->pnp.bus_id);
get_device(dev); get_device(dev);
return 0; return 0;
} }
@ -995,15 +992,15 @@ static int __init acpi_bus_init_irq(void)
message = "platform specific model"; message = "platform specific model";
break; break;
default: default:
printk(KERN_WARNING PREFIX "Unknown interrupt routing model\n"); pr_info("Unknown interrupt routing model\n");
return -ENODEV; return -ENODEV;
} }
printk(KERN_INFO PREFIX "Using %s for interrupt routing\n", message); pr_info("Using %s for interrupt routing\n", message);
status = acpi_execute_simple_method(NULL, "\\_PIC", acpi_irq_model); status = acpi_execute_simple_method(NULL, "\\_PIC", acpi_irq_model);
if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PIC")); pr_info("_PIC evaluation failed: %s\n", acpi_format_exception(status));
return -ENODEV; return -ENODEV;
} }
@ -1027,7 +1024,7 @@ void __init acpi_early_init(void)
if (acpi_disabled) if (acpi_disabled)
return; return;
printk(KERN_INFO PREFIX "Core revision %08x\n", ACPI_CA_VERSION); pr_info("Core revision %08x\n", ACPI_CA_VERSION);
/* enable workarounds, unless strict ACPI spec. compliance */ /* enable workarounds, unless strict ACPI spec. compliance */
if (!acpi_strict) if (!acpi_strict)
@ -1048,15 +1045,13 @@ void __init acpi_early_init(void)
status = acpi_reallocate_root_table(); status = acpi_reallocate_root_table();
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX pr_err("Unable to reallocate ACPI tables\n");
"Unable to reallocate ACPI tables\n");
goto error0; goto error0;
} }
status = acpi_initialize_subsystem(); status = acpi_initialize_subsystem();
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX pr_err("Unable to initialize the ACPI Interpreter\n");
"Unable to initialize the ACPI Interpreter\n");
goto error0; goto error0;
} }
@ -1102,7 +1097,7 @@ void __init acpi_subsystem_init(void)
status = acpi_enable_subsystem(~ACPI_NO_ACPI_ENABLE); status = acpi_enable_subsystem(~ACPI_NO_ACPI_ENABLE);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX "Unable to enable ACPI\n"); pr_err("Unable to enable ACPI\n");
disable_acpi(); disable_acpi();
} else { } else {
/* /*
@ -1131,8 +1126,7 @@ static int __init acpi_bus_init(void)
status = acpi_load_tables(); status = acpi_load_tables();
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX pr_err("Unable to load the System Description Tables\n");
"Unable to load the System Description Tables\n");
goto error1; goto error1;
} }
@ -1150,14 +1144,13 @@ static int __init acpi_bus_init(void)
status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE); status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX pr_err("Unable to start the ACPI Interpreter\n");
"Unable to start the ACPI Interpreter\n");
goto error1; goto error1;
} }
status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION); status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX "Unable to initialize ACPI objects\n"); pr_err("Unable to initialize ACPI objects\n");
goto error1; goto error1;
} }
@ -1186,7 +1179,7 @@ static int __init acpi_bus_init(void)
*/ */
acpi_ec_dsdt_probe(); acpi_ec_dsdt_probe();
printk(KERN_INFO PREFIX "Interpreter enabled\n"); pr_info("Interpreter enabled\n");
/* Initialize sleep structures */ /* Initialize sleep structures */
acpi_sleep_init(); acpi_sleep_init();
@ -1205,8 +1198,7 @@ static int __init acpi_bus_init(void)
acpi_install_notify_handler(ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY, acpi_install_notify_handler(ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY,
&acpi_bus_notify, NULL); &acpi_bus_notify, NULL);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX pr_err("Unable to register for system notifications\n");
"Unable to register for device notifications\n");
goto error1; goto error1;
} }
@ -1233,13 +1225,13 @@ static int __init acpi_init(void)
int result; int result;
if (acpi_disabled) { if (acpi_disabled) {
printk(KERN_INFO PREFIX "Interpreter disabled.\n"); pr_info("Interpreter disabled.\n");
return -ENODEV; return -ENODEV;
} }
acpi_kobj = kobject_create_and_add("acpi", firmware_kobj); acpi_kobj = kobject_create_and_add("acpi", firmware_kobj);
if (!acpi_kobj) { if (!acpi_kobj) {
printk(KERN_WARNING "%s: kset create error\n", __func__); pr_debug("%s: kset create error\n", __func__);
acpi_kobj = NULL; acpi_kobj = NULL;
} }

View file

@ -21,8 +21,6 @@
#include <linux/dmi.h> #include <linux/dmi.h>
#include <acpi/button.h> #include <acpi/button.h>
#define PREFIX "ACPI: "
#define ACPI_BUTTON_CLASS "button" #define ACPI_BUTTON_CLASS "button"
#define ACPI_BUTTON_FILE_STATE "state" #define ACPI_BUTTON_FILE_STATE "state"
#define ACPI_BUTTON_TYPE_UNKNOWN 0x00 #define ACPI_BUTTON_TYPE_UNKNOWN 0x00
@ -54,9 +52,6 @@ static const char * const lid_init_state_str[] = {
[ACPI_BUTTON_LID_INIT_DISABLED] = "disabled", [ACPI_BUTTON_LID_INIT_DISABLED] = "disabled",
}; };
#define _COMPONENT ACPI_BUTTON_COMPONENT
ACPI_MODULE_NAME("button");
MODULE_AUTHOR("Paul Diefenbaugh"); MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION("ACPI Button Driver"); MODULE_DESCRIPTION("ACPI Button Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -285,7 +280,7 @@ static int acpi_button_add_fs(struct acpi_device *device)
return 0; return 0;
if (acpi_button_dir || acpi_lid_dir) { if (acpi_button_dir || acpi_lid_dir) {
printk(KERN_ERR PREFIX "More than one Lid device found!\n"); pr_info("More than one Lid device found!\n");
return -EEXIST; return -EEXIST;
} }
@ -434,8 +429,8 @@ static void acpi_button_notify(struct acpi_device *device, u32 event)
} }
break; break;
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(device->handle, "Unsupported event [0x%x]\n",
"Unsupported event [0x%x]\n", event)); event);
break; break;
} }
} }
@ -523,7 +518,7 @@ static int acpi_button_add(struct acpi_device *device)
ACPI_BUTTON_CLASS, ACPI_BUTTON_SUBCLASS_LID); ACPI_BUTTON_CLASS, ACPI_BUTTON_SUBCLASS_LID);
input->open = acpi_lid_input_open; input->open = acpi_lid_input_open;
} else { } else {
printk(KERN_ERR PREFIX "Unsupported hid [%s]\n", hid); pr_info("Unsupported hid [%s]\n", hid);
error = -ENODEV; error = -ENODEV;
goto err_free_input; goto err_free_input;
} }
@ -567,7 +562,7 @@ static int acpi_button_add(struct acpi_device *device)
} }
device_init_wakeup(&device->dev, true); device_init_wakeup(&device->dev, true);
printk(KERN_INFO PREFIX "%s [%s]\n", name, acpi_device_bid(device)); pr_info("%s [%s]\n", name, acpi_device_bid(device));
return 0; return 0;
err_remove_fs: err_remove_fs:

View file

@ -10,6 +10,8 @@
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/ */
#define pr_fmt(fmt) "ACPI: PM: " fmt
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/mutex.h> #include <linux/mutex.h>
@ -20,9 +22,6 @@
#include "internal.h" #include "internal.h"
#define _COMPONENT ACPI_POWER_COMPONENT
ACPI_MODULE_NAME("device_pm");
/** /**
* acpi_power_state_string - String representation of ACPI device power state. * acpi_power_state_string - String representation of ACPI device power state.
* @state: ACPI device power state to return the string representation of. * @state: ACPI device power state to return the string representation of.
@ -130,8 +129,8 @@ int acpi_device_get_power(struct acpi_device *device, int *state)
*state = result; *state = result;
out: out:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] power state is %s\n", dev_dbg(&device->dev, "Device power state is %s\n",
device->pnp.bus_id, acpi_power_state_string(*state))); acpi_power_state_string(*state));
return 0; return 0;
} }
@ -174,9 +173,8 @@ int acpi_device_set_power(struct acpi_device *device, int state)
/* There is a special case for D0 addressed below. */ /* There is a special case for D0 addressed below. */
if (state > ACPI_STATE_D0 && state == device->power.state) { if (state > ACPI_STATE_D0 && state == device->power.state) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] already in %s\n", dev_dbg(&device->dev, "Device already in %s\n",
device->pnp.bus_id, acpi_power_state_string(state));
acpi_power_state_string(state)));
return 0; return 0;
} }
@ -276,10 +274,8 @@ int acpi_device_set_power(struct acpi_device *device, int state)
acpi_power_state_string(target_state)); acpi_power_state_string(target_state));
} else { } else {
device->power.state = target_state; device->power.state = target_state;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, dev_dbg(&device->dev, "Power state changed to %s\n",
"Device [%s] transitioned to %s\n", acpi_power_state_string(target_state));
device->pnp.bus_id,
acpi_power_state_string(target_state)));
} }
return result; return result;

View file

@ -9,6 +9,8 @@
* Author: Matthew Wilcox <willy@linux.intel.com> * Author: Matthew Wilcox <willy@linux.intel.com>
*/ */
#define pr_fmt(fmt) "ACPI: OSL: " fmt
#include <linux/module.h> #include <linux/module.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/slab.h> #include <linux/slab.h>
@ -37,6 +39,7 @@
#include "acpica/acnamesp.h" #include "acpica/acnamesp.h"
#include "internal.h" #include "internal.h"
/* Definitions for ACPI_DEBUG_PRINT() */
#define _COMPONENT ACPI_OS_SERVICES #define _COMPONENT ACPI_OS_SERVICES
ACPI_MODULE_NAME("osl"); ACPI_MODULE_NAME("osl");
@ -327,7 +330,7 @@ void __iomem __ref
acpi_size pg_sz; acpi_size pg_sz;
if (phys > ULONG_MAX) { if (phys > ULONG_MAX) {
printk(KERN_ERR PREFIX "Cannot map memory that high\n"); pr_err("Cannot map memory that high: 0x%llx\n", phys);
return NULL; return NULL;
} }
@ -528,13 +531,12 @@ acpi_os_predefined_override(const struct acpi_predefined_names *init_val,
*new_val = NULL; *new_val = NULL;
if (!memcmp(init_val->name, "_OS_", 4) && strlen(acpi_os_name)) { if (!memcmp(init_val->name, "_OS_", 4) && strlen(acpi_os_name)) {
printk(KERN_INFO PREFIX "Overriding _OS definition to '%s'\n", pr_info("Overriding _OS definition to '%s'\n", acpi_os_name);
acpi_os_name);
*new_val = acpi_os_name; *new_val = acpi_os_name;
} }
if (!memcmp(init_val->name, "_REV", 4) && acpi_rev_override) { if (!memcmp(init_val->name, "_REV", 4) && acpi_rev_override) {
printk(KERN_INFO PREFIX "Overriding _REV return value to 5\n"); pr_info("Overriding _REV return value to 5\n");
*new_val = (char *)5; *new_val = (char *)5;
} }
@ -575,15 +577,14 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
return AE_ALREADY_ACQUIRED; return AE_ALREADY_ACQUIRED;
if (acpi_gsi_to_irq(gsi, &irq) < 0) { if (acpi_gsi_to_irq(gsi, &irq) < 0) {
printk(KERN_ERR PREFIX "SCI (ACPI GSI %d) not registered\n", pr_err("SCI (ACPI GSI %d) not registered\n", gsi);
gsi);
return AE_OK; return AE_OK;
} }
acpi_irq_handler = handler; acpi_irq_handler = handler;
acpi_irq_context = context; acpi_irq_context = context;
if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) { if (request_irq(irq, acpi_irq, IRQF_SHARED, "acpi", acpi_irq)) {
printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq); pr_err("SCI (IRQ%d) allocation failed\n", irq);
acpi_irq_handler = NULL; acpi_irq_handler = NULL;
return AE_NOT_ACQUIRED; return AE_NOT_ACQUIRED;
} }
@ -1071,7 +1072,7 @@ acpi_status acpi_os_execute(acpi_execute_type type,
if (type == OSL_DEBUGGER_MAIN_THREAD) { if (type == OSL_DEBUGGER_MAIN_THREAD) {
ret = acpi_debugger_create_thread(function, context); ret = acpi_debugger_create_thread(function, context);
if (ret) { if (ret) {
pr_err("Call to kthread_create() failed.\n"); pr_err("Kernel thread creation failed\n");
status = AE_ERROR; status = AE_ERROR;
} }
goto out_thread; goto out_thread;
@ -1121,8 +1122,7 @@ acpi_status acpi_os_execute(acpi_execute_type type,
*/ */
ret = queue_work_on(0, queue, &dpc->work); ret = queue_work_on(0, queue, &dpc->work);
if (!ret) { if (!ret) {
printk(KERN_ERR PREFIX pr_err("Unable to queue work\n");
"Call to queue_work() failed.\n");
status = AE_ERROR; status = AE_ERROR;
} }
err_workqueue: err_workqueue:
@ -1165,9 +1165,9 @@ acpi_status acpi_hotplug_schedule(struct acpi_device *adev, u32 src)
{ {
struct acpi_hp_work *hpw; struct acpi_hp_work *hpw;
ACPI_DEBUG_PRINT((ACPI_DB_EXEC, acpi_handle_debug(adev->handle,
"Scheduling hotplug event (%p, %u) for deferred execution.\n", "Scheduling hotplug event %u for deferred handling\n",
adev, src)); src);
hpw = kmalloc(sizeof(*hpw), GFP_KERNEL); hpw = kmalloc(sizeof(*hpw), GFP_KERNEL);
if (!hpw) if (!hpw)
@ -1355,7 +1355,7 @@ acpi_status acpi_os_signal(u32 function, void *info)
{ {
switch (function) { switch (function) {
case ACPI_SIGNAL_FATAL: case ACPI_SIGNAL_FATAL:
printk(KERN_ERR PREFIX "Fatal opcode executed\n"); pr_err("Fatal opcode executed\n");
break; break;
case ACPI_SIGNAL_BREAKPOINT: case ACPI_SIGNAL_BREAKPOINT:
/* /*
@ -1407,7 +1407,7 @@ __setup("acpi_os_name=", acpi_os_name_setup);
static int __init acpi_no_auto_serialize_setup(char *str) static int __init acpi_no_auto_serialize_setup(char *str)
{ {
acpi_gbl_auto_serialize_methods = FALSE; acpi_gbl_auto_serialize_methods = FALSE;
pr_info("ACPI: auto-serialization disabled\n"); pr_info("Auto-serialization disabled\n");
return 1; return 1;
} }
@ -1458,38 +1458,28 @@ __setup("acpi_enforce_resources=", acpi_enforce_resources_setup);
int acpi_check_resource_conflict(const struct resource *res) int acpi_check_resource_conflict(const struct resource *res)
{ {
acpi_adr_space_type space_id; acpi_adr_space_type space_id;
acpi_size length;
u8 warn = 0;
int clash = 0;
if (acpi_enforce_resources == ENFORCE_RESOURCES_NO) if (acpi_enforce_resources == ENFORCE_RESOURCES_NO)
return 0; return 0;
if (!(res->flags & IORESOURCE_IO) && !(res->flags & IORESOURCE_MEM))
return 0;
if (res->flags & IORESOURCE_IO) if (res->flags & IORESOURCE_IO)
space_id = ACPI_ADR_SPACE_SYSTEM_IO; space_id = ACPI_ADR_SPACE_SYSTEM_IO;
else else if (res->flags & IORESOURCE_MEM)
space_id = ACPI_ADR_SPACE_SYSTEM_MEMORY; space_id = ACPI_ADR_SPACE_SYSTEM_MEMORY;
else
return 0;
length = resource_size(res); if (!acpi_check_address_range(space_id, res->start, resource_size(res), 1))
if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) return 0;
warn = 1;
clash = acpi_check_address_range(space_id, res->start, length, warn); pr_info("Resource conflict; ACPI support missing from driver?\n");
if (acpi_enforce_resources == ENFORCE_RESOURCES_STRICT)
return -EBUSY;
if (acpi_enforce_resources == ENFORCE_RESOURCES_LAX)
pr_notice("Resource conflict: System may be unstable or behave erratically\n");
if (clash) {
if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) {
if (acpi_enforce_resources == ENFORCE_RESOURCES_LAX)
printk(KERN_NOTICE "ACPI: This conflict may"
" cause random problems and system"
" instability\n");
printk(KERN_INFO "ACPI: If an ACPI driver is available"
" for this device, you should use it instead of"
" the native driver\n");
}
if (acpi_enforce_resources == ENFORCE_RESOURCES_STRICT)
return -EBUSY;
}
return 0; return 0;
} }
EXPORT_SYMBOL(acpi_check_resource_conflict); EXPORT_SYMBOL(acpi_check_resource_conflict);
@ -1722,7 +1712,7 @@ acpi_status acpi_os_release_object(acpi_cache_t * cache, void *object)
static int __init acpi_no_static_ssdt_setup(char *s) static int __init acpi_no_static_ssdt_setup(char *s)
{ {
acpi_gbl_disable_ssdt_table_install = TRUE; acpi_gbl_disable_ssdt_table_install = TRUE;
pr_info("ACPI: static SSDT installation disabled\n"); pr_info("Static SSDT installation disabled\n");
return 0; return 0;
} }
@ -1731,8 +1721,7 @@ early_param("acpi_no_static_ssdt", acpi_no_static_ssdt_setup);
static int __init acpi_disable_return_repair(char *s) static int __init acpi_disable_return_repair(char *s)
{ {
printk(KERN_NOTICE PREFIX pr_notice("Predefined validation mechanism disabled\n");
"ACPI: Predefined validation mechanism disabled\n");
acpi_gbl_disable_auto_repair = TRUE; acpi_gbl_disable_auto_repair = TRUE;
return 1; return 1;
@ -1758,7 +1747,7 @@ acpi_status __init acpi_os_initialize(void)
void *rv; void *rv;
rv = acpi_os_map_generic_address(&acpi_gbl_FADT.reset_register); rv = acpi_os_map_generic_address(&acpi_gbl_FADT.reset_register);
pr_debug(PREFIX "%s: map reset_reg %s\n", __func__, pr_debug("%s: Reset register mapping %s\n", __func__,
rv ? "successful" : "failed"); rv ? "successful" : "failed");
} }
acpi_os_initialized = true; acpi_os_initialized = true;

View file

@ -21,6 +21,8 @@
* may be shared by multiple devices. * may be shared by multiple devices.
*/ */
#define pr_fmt(fmt) "ACPI: PM: " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
@ -32,8 +34,6 @@
#include "sleep.h" #include "sleep.h"
#include "internal.h" #include "internal.h"
#define _COMPONENT ACPI_POWER_COMPONENT
ACPI_MODULE_NAME("power");
#define ACPI_POWER_CLASS "power_resource" #define ACPI_POWER_CLASS "power_resource"
#define ACPI_POWER_DEVICE_NAME "Power Resource" #define ACPI_POWER_DEVICE_NAME "Power Resource"
#define ACPI_POWER_RESOURCE_STATE_OFF 0x00 #define ACPI_POWER_RESOURCE_STATE_OFF 0x00
@ -181,9 +181,6 @@ static int acpi_power_get_state(acpi_handle handle, int *state)
{ {
acpi_status status = AE_OK; acpi_status status = AE_OK;
unsigned long long sta = 0; unsigned long long sta = 0;
char node_name[5];
struct acpi_buffer buffer = { sizeof(node_name), node_name };
if (!handle || !state) if (!handle || !state)
return -EINVAL; return -EINVAL;
@ -195,11 +192,8 @@ static int acpi_power_get_state(acpi_handle handle, int *state)
*state = (sta & 0x01)?ACPI_POWER_RESOURCE_STATE_ON: *state = (sta & 0x01)?ACPI_POWER_RESOURCE_STATE_ON:
ACPI_POWER_RESOURCE_STATE_OFF; ACPI_POWER_RESOURCE_STATE_OFF;
acpi_get_name(handle, ACPI_SINGLE_NAME, &buffer); acpi_handle_debug(handle, "Power resource is %s\n",
*state ? "on" : "off");
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource [%s] is %s\n",
node_name,
*state ? "on" : "off"));
return 0; return 0;
} }
@ -229,8 +223,7 @@ static int acpi_power_get_list_state(struct list_head *list, int *state)
break; break;
} }
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Resource list is %s\n", pr_debug("Power resource list is %s\n", cur_state ? "on" : "off");
cur_state ? "on" : "off"));
*state = cur_state; *state = cur_state;
return 0; return 0;
@ -357,8 +350,7 @@ static int __acpi_power_on(struct acpi_power_resource *resource)
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
return -ENODEV; return -ENODEV;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Power resource [%s] turned on\n", pr_debug("Power resource [%s] turned on\n", resource->name);
resource->name));
/* /*
* If there are other dependents on this power resource we need to * If there are other dependents on this power resource we need to
@ -383,9 +375,7 @@ static int acpi_power_on_unlocked(struct acpi_power_resource *resource)
int result = 0; int result = 0;
if (resource->ref_count++) { if (resource->ref_count++) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, pr_debug("Power resource [%s] already on\n", resource->name);
"Power resource [%s] already on\n",
resource->name));
} else { } else {
result = __acpi_power_on(resource); result = __acpi_power_on(resource);
if (result) if (result)
@ -413,8 +403,8 @@ static int __acpi_power_off(struct acpi_power_resource *resource)
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
return -ENODEV; return -ENODEV;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Power resource [%s] turned off\n", pr_debug("Power resource [%s] turned off\n", resource->name);
resource->name));
return 0; return 0;
} }
@ -423,16 +413,12 @@ static int acpi_power_off_unlocked(struct acpi_power_resource *resource)
int result = 0; int result = 0;
if (!resource->ref_count) { if (!resource->ref_count) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, pr_debug("Power resource [%s] already off\n", resource->name);
"Power resource [%s] already off\n",
resource->name));
return 0; return 0;
} }
if (--resource->ref_count) { if (--resource->ref_count) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, pr_debug("Power resource [%s] still in use\n", resource->name);
"Power resource [%s] still in use\n",
resource->name));
} else { } else {
result = __acpi_power_off(resource); result = __acpi_power_off(resource);
if (result) if (result)
@ -672,7 +658,7 @@ int acpi_device_sleep_wake(struct acpi_device *dev,
if (ACPI_SUCCESS(status)) { if (ACPI_SUCCESS(status)) {
return 0; return 0;
} else if (status != AE_NOT_FOUND) { } else if (status != AE_NOT_FOUND) {
printk(KERN_ERR PREFIX "_DSW execution failed\n"); acpi_handle_info(dev->handle, "_DSW execution failed\n");
dev->wakeup.flags.valid = 0; dev->wakeup.flags.valid = 0;
return -ENODEV; return -ENODEV;
} }
@ -680,7 +666,7 @@ int acpi_device_sleep_wake(struct acpi_device *dev,
/* Execute _PSW */ /* Execute _PSW */
status = acpi_execute_simple_method(dev->handle, "_PSW", enable); status = acpi_execute_simple_method(dev->handle, "_PSW", enable);
if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
printk(KERN_ERR PREFIX "_PSW execution failed\n"); acpi_handle_info(dev->handle, "_PSW execution failed\n");
dev->wakeup.flags.valid = 0; dev->wakeup.flags.valid = 0;
return -ENODEV; return -ENODEV;
} }
@ -961,8 +947,8 @@ int acpi_add_power_resource(acpi_handle handle)
if (result) if (result)
goto err; goto err;
printk(KERN_INFO PREFIX "%s [%s] (%s)\n", acpi_device_name(device), pr_info("%s [%s] (%s)\n", acpi_device_name(device),
acpi_device_bid(device), state ? "on" : "off"); acpi_device_bid(device), state ? "on" : "off");
device->flags.match_driver = true; device->flags.match_driver = true;
result = acpi_device_add(device, acpi_release_power_resource); result = acpi_device_add(device, acpi_release_power_resource);

View file

@ -19,8 +19,6 @@
#include "internal.h" #include "internal.h"
#define _COMPONENT ACPI_BUS_COMPONENT
ACPI_MODULE_NAME("scan");
extern struct acpi_device *acpi_root; extern struct acpi_device *acpi_root;
#define ACPI_BUS_CLASS "system_bus" #define ACPI_BUS_CLASS "system_bus"
@ -265,8 +263,7 @@ static int acpi_scan_hot_remove(struct acpi_device *device)
return error; return error;
} }
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(handle, "Ejecting\n");
"Hot-removing device %s...\n", dev_name(&device->dev)));
acpi_bus_trim(device); acpi_bus_trim(device);
@ -829,7 +826,8 @@ static int acpi_bus_extract_wakeup_device_power_package(struct acpi_device *dev)
/* _PRW */ /* _PRW */
status = acpi_evaluate_object(handle, "_PRW", NULL, &buffer); status = acpi_evaluate_object(handle, "_PRW", NULL, &buffer);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PRW")); acpi_handle_info(handle, "_PRW evaluation failed: %s\n",
acpi_format_exception(status));
return err; return err;
} }
@ -934,7 +932,7 @@ static void acpi_bus_get_wakeup_device_flags(struct acpi_device *device)
err = acpi_bus_extract_wakeup_device_power_package(device); err = acpi_bus_extract_wakeup_device_power_package(device);
if (err) { if (err) {
dev_err(&device->dev, "_PRW evaluation error: %d\n", err); dev_err(&device->dev, "Unable to extract wakeup power resources");
return; return;
} }
@ -1170,8 +1168,7 @@ acpi_backlight_cap_match(acpi_handle handle, u32 level, void *context,
if (acpi_has_method(handle, "_BCM") && if (acpi_has_method(handle, "_BCM") &&
acpi_has_method(handle, "_BCL")) { acpi_has_method(handle, "_BCL")) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found generic backlight " acpi_handle_debug(handle, "Found generic backlight support\n");
"support\n"));
*cap |= ACPI_VIDEO_BACKLIGHT; *cap |= ACPI_VIDEO_BACKLIGHT;
/* We have backlight support, no need to scan further */ /* We have backlight support, no need to scan further */
return AE_CTRL_TERMINATE; return AE_CTRL_TERMINATE;
@ -1662,17 +1659,15 @@ static int acpi_add_single_object(struct acpi_device **child,
acpi_handle handle, int type, acpi_handle handle, int type,
unsigned long long sta) unsigned long long sta)
{ {
int result;
struct acpi_device *device;
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
struct acpi_device_info *info = NULL; struct acpi_device_info *info = NULL;
struct acpi_device *device;
int result;
if (handle != ACPI_ROOT_OBJECT && type == ACPI_BUS_TYPE_DEVICE) if (handle != ACPI_ROOT_OBJECT && type == ACPI_BUS_TYPE_DEVICE)
acpi_get_object_info(handle, &info); acpi_get_object_info(handle, &info);
device = kzalloc(sizeof(struct acpi_device), GFP_KERNEL); device = kzalloc(sizeof(struct acpi_device), GFP_KERNEL);
if (!device) { if (!device) {
printk(KERN_ERR PREFIX "Memory allocation error\n");
kfree(info); kfree(info);
return -ENOMEM; return -ENOMEM;
} }
@ -1699,11 +1694,11 @@ static int acpi_add_single_object(struct acpi_device **child,
acpi_power_add_remove_device(device, true); acpi_power_add_remove_device(device, true);
acpi_device_add_finalize(device); acpi_device_add_finalize(device);
acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer);
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Added %s [%s] parent %s\n", acpi_handle_debug(handle, "Added as %s, parent %s\n",
dev_name(&device->dev), (char *) buffer.pointer, dev_name(&device->dev), device->parent ?
device->parent ? dev_name(&device->parent->dev) : "(null)")); dev_name(&device->parent->dev) : "(null)");
kfree(buffer.pointer);
*child = device; *child = device;
return 0; return 0;
} }

View file

@ -52,19 +52,12 @@ static const struct acpi_dlayer acpi_debug_layers[] = {
ACPI_DEBUG_INIT(ACPI_COMPILER), ACPI_DEBUG_INIT(ACPI_COMPILER),
ACPI_DEBUG_INIT(ACPI_TOOLS), ACPI_DEBUG_INIT(ACPI_TOOLS),
ACPI_DEBUG_INIT(ACPI_BUS_COMPONENT),
ACPI_DEBUG_INIT(ACPI_AC_COMPONENT),
ACPI_DEBUG_INIT(ACPI_BATTERY_COMPONENT),
ACPI_DEBUG_INIT(ACPI_BUTTON_COMPONENT),
ACPI_DEBUG_INIT(ACPI_SBS_COMPONENT), ACPI_DEBUG_INIT(ACPI_SBS_COMPONENT),
ACPI_DEBUG_INIT(ACPI_FAN_COMPONENT), ACPI_DEBUG_INIT(ACPI_FAN_COMPONENT),
ACPI_DEBUG_INIT(ACPI_PCI_COMPONENT), ACPI_DEBUG_INIT(ACPI_PCI_COMPONENT),
ACPI_DEBUG_INIT(ACPI_POWER_COMPONENT),
ACPI_DEBUG_INIT(ACPI_CONTAINER_COMPONENT), ACPI_DEBUG_INIT(ACPI_CONTAINER_COMPONENT),
ACPI_DEBUG_INIT(ACPI_SYSTEM_COMPONENT), ACPI_DEBUG_INIT(ACPI_SYSTEM_COMPONENT),
ACPI_DEBUG_INIT(ACPI_THERMAL_COMPONENT),
ACPI_DEBUG_INIT(ACPI_MEMORY_DEVICE_COMPONENT), ACPI_DEBUG_INIT(ACPI_MEMORY_DEVICE_COMPONENT),
ACPI_DEBUG_INIT(ACPI_VIDEO_COMPONENT),
ACPI_DEBUG_INIT(ACPI_PROCESSOR_COMPONENT), ACPI_DEBUG_INIT(ACPI_PROCESSOR_COMPONENT),
}; };

View file

@ -13,6 +13,8 @@
* concepts of 'multiple limiters', upper/lower limits, etc. * concepts of 'multiple limiters', upper/lower limits, etc.
*/ */
#define pr_fmt(fmt) "ACPI: thermal: " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/dmi.h> #include <linux/dmi.h>
@ -29,8 +31,6 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/units.h> #include <linux/units.h>
#define PREFIX "ACPI: "
#define ACPI_THERMAL_CLASS "thermal_zone" #define ACPI_THERMAL_CLASS "thermal_zone"
#define ACPI_THERMAL_DEVICE_NAME "Thermal Zone" #define ACPI_THERMAL_DEVICE_NAME "Thermal Zone"
#define ACPI_THERMAL_NOTIFY_TEMPERATURE 0x80 #define ACPI_THERMAL_NOTIFY_TEMPERATURE 0x80
@ -43,9 +43,6 @@
#define ACPI_THERMAL_MAX_ACTIVE 10 #define ACPI_THERMAL_MAX_ACTIVE 10
#define ACPI_THERMAL_MAX_LIMIT_STR_LEN 65 #define ACPI_THERMAL_MAX_LIMIT_STR_LEN 65
#define _COMPONENT ACPI_THERMAL_COMPONENT
ACPI_MODULE_NAME("thermal");
MODULE_AUTHOR("Paul Diefenbaugh"); MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION("ACPI Thermal Zone Driver"); MODULE_DESCRIPTION("ACPI Thermal Zone Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -197,8 +194,9 @@ static int acpi_thermal_get_temperature(struct acpi_thermal *tz)
return -ENODEV; return -ENODEV;
tz->temperature = tmp; tz->temperature = tmp;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Temperature is %lu dK\n",
tz->temperature)); acpi_handle_debug(tz->device->handle, "Temperature is %lu dK\n",
tz->temperature);
return 0; return 0;
} }
@ -216,8 +214,8 @@ static int acpi_thermal_get_polling_frequency(struct acpi_thermal *tz)
return -ENODEV; return -ENODEV;
tz->polling_frequency = tmp; tz->polling_frequency = tmp;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Polling frequency is %lu dS\n", acpi_handle_debug(tz->device->handle, "Polling frequency is %lu dS\n",
tz->polling_frequency)); tz->polling_frequency);
return 0; return 0;
} }
@ -254,12 +252,12 @@ static int acpi_thermal_set_cooling_mode(struct acpi_thermal *tz, int mode)
* 2.TODO: Devices listed in _PSL, _ALx, _TZD may change. * 2.TODO: Devices listed in _PSL, _ALx, _TZD may change.
* We need to re-bind the cooling devices of a thermal zone when this occurs. * We need to re-bind the cooling devices of a thermal zone when this occurs.
*/ */
#define ACPI_THERMAL_TRIPS_EXCEPTION(flags, str) \ #define ACPI_THERMAL_TRIPS_EXCEPTION(flags, tz, str) \
do { \ do { \
if (flags != ACPI_TRIPS_INIT) \ if (flags != ACPI_TRIPS_INIT) \
ACPI_EXCEPTION((AE_INFO, AE_ERROR, \ acpi_handle_info(tz->device->handle, \
"ACPI thermal trip point %s changed\n" \ "ACPI thermal trip point %s changed\n" \
"Please send acpidump to linux-acpi@vger.kernel.org", str)); \ "Please report to linux-acpi@vger.kernel.org\n", str); \
} while (0) } while (0)
static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag) static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
@ -283,17 +281,17 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
*/ */
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
tz->trips.critical.flags.valid = 0; tz->trips.critical.flags.valid = 0;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(tz->device->handle,
"No critical threshold\n")); "No critical threshold\n");
} else if (tmp <= 2732) { } else if (tmp <= 2732) {
pr_warn(FW_BUG "Invalid critical threshold (%llu)\n", pr_info(FW_BUG "Invalid critical threshold (%llu)\n",
tmp); tmp);
tz->trips.critical.flags.valid = 0; tz->trips.critical.flags.valid = 0;
} else { } else {
tz->trips.critical.flags.valid = 1; tz->trips.critical.flags.valid = 1;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(tz->device->handle,
"Found critical threshold [%lu]\n", "Found critical threshold [%lu]\n",
tz->trips.critical.temperature)); tz->trips.critical.temperature);
} }
if (tz->trips.critical.flags.valid == 1) { if (tz->trips.critical.flags.valid == 1) {
if (crt == -1) { if (crt == -1) {
@ -305,8 +303,8 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
* Allow override critical threshold * Allow override critical threshold
*/ */
if (crt_k > tz->trips.critical.temperature) if (crt_k > tz->trips.critical.temperature)
pr_warn(PREFIX "Critical threshold %d C\n", pr_info("Critical threshold %d C\n", crt);
crt);
tz->trips.critical.temperature = crt_k; tz->trips.critical.temperature = crt_k;
} }
} }
@ -318,14 +316,14 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
"_HOT", NULL, &tmp); "_HOT", NULL, &tmp);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
tz->trips.hot.flags.valid = 0; tz->trips.hot.flags.valid = 0;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(tz->device->handle,
"No hot threshold\n")); "No hot threshold\n");
} else { } else {
tz->trips.hot.temperature = tmp; tz->trips.hot.temperature = tmp;
tz->trips.hot.flags.valid = 1; tz->trips.hot.flags.valid = 1;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(tz->device->handle,
"Found hot threshold [%lu]\n", "Found hot threshold [%lu]\n",
tz->trips.hot.temperature)); tz->trips.hot.temperature);
} }
} }
@ -378,7 +376,8 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
status = acpi_evaluate_reference(tz->device->handle, "_PSL", status = acpi_evaluate_reference(tz->device->handle, "_PSL",
NULL, &devices); NULL, &devices);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
pr_warn(PREFIX "Invalid passive threshold\n"); acpi_handle_info(tz->device->handle,
"Invalid passive threshold\n");
tz->trips.passive.flags.valid = 0; tz->trips.passive.flags.valid = 0;
} }
else else
@ -388,12 +387,12 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
sizeof(struct acpi_handle_list))) { sizeof(struct acpi_handle_list))) {
memcpy(&tz->trips.passive.devices, &devices, memcpy(&tz->trips.passive.devices, &devices,
sizeof(struct acpi_handle_list)); sizeof(struct acpi_handle_list));
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device"); ACPI_THERMAL_TRIPS_EXCEPTION(flag, tz, "device");
} }
} }
if ((flag & ACPI_TRIPS_PASSIVE) || (flag & ACPI_TRIPS_DEVICES)) { if ((flag & ACPI_TRIPS_PASSIVE) || (flag & ACPI_TRIPS_DEVICES)) {
if (valid != tz->trips.passive.flags.valid) if (valid != tz->trips.passive.flags.valid)
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "state"); ACPI_THERMAL_TRIPS_EXCEPTION(flag, tz, "state");
} }
/* Active (optional) */ /* Active (optional) */
@ -440,8 +439,8 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
status = acpi_evaluate_reference(tz->device->handle, status = acpi_evaluate_reference(tz->device->handle,
name, NULL, &devices); name, NULL, &devices);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
pr_warn(PREFIX "Invalid active%d threshold\n", acpi_handle_info(tz->device->handle,
i); "Invalid active%d threshold\n", i);
tz->trips.active[i].flags.valid = 0; tz->trips.active[i].flags.valid = 0;
} }
else else
@ -451,12 +450,12 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
sizeof(struct acpi_handle_list))) { sizeof(struct acpi_handle_list))) {
memcpy(&tz->trips.active[i].devices, &devices, memcpy(&tz->trips.active[i].devices, &devices,
sizeof(struct acpi_handle_list)); sizeof(struct acpi_handle_list));
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device"); ACPI_THERMAL_TRIPS_EXCEPTION(flag, tz, "device");
} }
} }
if ((flag & ACPI_TRIPS_ACTIVE) || (flag & ACPI_TRIPS_DEVICES)) if ((flag & ACPI_TRIPS_ACTIVE) || (flag & ACPI_TRIPS_DEVICES))
if (valid != tz->trips.active[i].flags.valid) if (valid != tz->trips.active[i].flags.valid)
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "state"); ACPI_THERMAL_TRIPS_EXCEPTION(flag, tz, "state");
if (!tz->trips.active[i].flags.valid) if (!tz->trips.active[i].flags.valid)
break; break;
@ -469,7 +468,7 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
if (ACPI_SUCCESS(status) if (ACPI_SUCCESS(status)
&& memcmp(&tz->devices, &devices, sizeof(devices))) { && memcmp(&tz->devices, &devices, sizeof(devices))) {
tz->devices = devices; tz->devices = devices;
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device"); ACPI_THERMAL_TRIPS_EXCEPTION(flag, tz, "device");
} }
} }
@ -925,8 +924,8 @@ static void acpi_thermal_notify(struct acpi_device *device, u32 event)
dev_name(&device->dev), event, 0); dev_name(&device->dev), event, 0);
break; break;
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, acpi_handle_debug(device->handle, "Unsupported event [0x%x]\n",
"Unsupported event [0x%x]\n", event)); event);
break; break;
} }
} }
@ -1074,7 +1073,7 @@ static int acpi_thermal_add(struct acpi_device *device)
mutex_init(&tz->thermal_check_lock); mutex_init(&tz->thermal_check_lock);
INIT_WORK(&tz->thermal_check_work, acpi_thermal_check_fn); INIT_WORK(&tz->thermal_check_work, acpi_thermal_check_fn);
pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device), pr_info("%s [%s] (%ld C)\n", acpi_device_name(device),
acpi_device_bid(device), deci_kelvin_to_celsius(tz->temperature)); acpi_device_bid(device), deci_kelvin_to_celsius(tz->temperature));
goto end; goto end;
@ -1146,24 +1145,24 @@ static int acpi_thermal_resume(struct device *dev)
static int thermal_act(const struct dmi_system_id *d) { static int thermal_act(const struct dmi_system_id *d) {
if (act == 0) { if (act == 0) {
pr_notice(PREFIX "%s detected: " pr_notice("%s detected: disabling all active thermal trip points\n",
"disabling all active thermal trip points\n", d->ident); d->ident);
act = -1; act = -1;
} }
return 0; return 0;
} }
static int thermal_nocrt(const struct dmi_system_id *d) { static int thermal_nocrt(const struct dmi_system_id *d) {
pr_notice(PREFIX "%s detected: " pr_notice("%s detected: disabling all critical thermal trip point actions.\n",
"disabling all critical thermal trip point actions.\n", d->ident); d->ident);
nocrt = 1; nocrt = 1;
return 0; return 0;
} }
static int thermal_tzp(const struct dmi_system_id *d) { static int thermal_tzp(const struct dmi_system_id *d) {
if (tzp == 0) { if (tzp == 0) {
pr_notice(PREFIX "%s detected: " pr_notice("%s detected: enabling thermal zone polling\n",
"enabling thermal zone polling\n", d->ident); d->ident);
tzp = 300; /* 300 dS = 30 Seconds */ tzp = 300; /* 300 dS = 30 Seconds */
} }
return 0; return 0;
@ -1171,8 +1170,8 @@ static int thermal_tzp(const struct dmi_system_id *d) {
static int thermal_psv(const struct dmi_system_id *d) { static int thermal_psv(const struct dmi_system_id *d) {
if (psv == 0) { if (psv == 0) {
pr_notice(PREFIX "%s detected: " pr_notice("%s detected: disabling all passive thermal trip points\n",
"disabling all passive thermal trip points\n", d->ident); d->ident);
psv = -1; psv = -1;
} }
return 0; return 0;
@ -1225,7 +1224,7 @@ static int __init acpi_thermal_init(void)
dmi_check_system(thermal_dmi_table); dmi_check_system(thermal_dmi_table);
if (off) { if (off) {
pr_notice(PREFIX "thermal control disabled\n"); pr_notice("thermal control disabled\n");
return -ENODEV; return -ENODEV;
} }

View file

@ -6,6 +6,8 @@
* Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
*/ */
#define pr_fmt(fmt) "ACPI: utils: " fmt
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/slab.h> #include <linux/slab.h>
@ -18,24 +20,12 @@
#include "internal.h" #include "internal.h"
#include "sleep.h" #include "sleep.h"
#define _COMPONENT ACPI_BUS_COMPONENT
ACPI_MODULE_NAME("utils");
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
Object Evaluation Helpers Object Evaluation Helpers
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
static void static void acpi_util_eval_error(acpi_handle h, acpi_string p, acpi_status s)
acpi_util_eval_error(acpi_handle h, acpi_string p, acpi_status s)
{ {
#ifdef ACPI_DEBUG_OUTPUT acpi_handle_debug(h, "Evaluate [%s]: %s\n", p, acpi_format_exception(s));
char prefix[80] = {'\0'};
struct acpi_buffer buffer = {sizeof(prefix), prefix};
acpi_get_name(h, ACPI_FULL_PATHNAME, &buffer);
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Evaluate [%s.%s]: %s\n",
(char *) prefix, p, acpi_format_exception(s)));
#else
return;
#endif
} }
acpi_status acpi_status
@ -53,25 +43,24 @@ acpi_extract_package(union acpi_object *package,
if (!package || (package->type != ACPI_TYPE_PACKAGE) if (!package || (package->type != ACPI_TYPE_PACKAGE)
|| (package->package.count < 1)) { || (package->package.count < 1)) {
printk(KERN_WARNING PREFIX "Invalid package argument\n"); pr_debug("Invalid package argument\n");
return AE_BAD_PARAMETER; return AE_BAD_PARAMETER;
} }
if (!format || !format->pointer || (format->length < 1)) { if (!format || !format->pointer || (format->length < 1)) {
printk(KERN_WARNING PREFIX "Invalid format argument\n"); pr_debug("Invalid format argument\n");
return AE_BAD_PARAMETER; return AE_BAD_PARAMETER;
} }
if (!buffer) { if (!buffer) {
printk(KERN_WARNING PREFIX "Invalid buffer argument\n"); pr_debug("Invalid buffer argument\n");
return AE_BAD_PARAMETER; return AE_BAD_PARAMETER;
} }
format_count = (format->length / sizeof(char)) - 1; format_count = (format->length / sizeof(char)) - 1;
if (format_count > package->package.count) { if (format_count > package->package.count) {
printk(KERN_WARNING PREFIX "Format specifies more objects [%d]" pr_debug("Format specifies more objects [%d] than present [%d]\n",
" than exist in package [%d].\n", format_count, package->package.count);
format_count, package->package.count);
return AE_BAD_DATA; return AE_BAD_DATA;
} }
@ -99,10 +88,8 @@ acpi_extract_package(union acpi_object *package,
tail_offset += sizeof(char *); tail_offset += sizeof(char *);
break; break;
default: default:
printk(KERN_WARNING PREFIX "Invalid package element" pr_debug("Invalid package element [%d]: got number, expected [%c]\n",
" [%d]: got number, expecting" i, format_string[i]);
" [%c]\n",
i, format_string[i]);
return AE_BAD_DATA; return AE_BAD_DATA;
} }
break; break;
@ -123,10 +110,8 @@ acpi_extract_package(union acpi_object *package,
tail_offset += sizeof(u8 *); tail_offset += sizeof(u8 *);
break; break;
default: default:
printk(KERN_WARNING PREFIX "Invalid package element" pr_debug("Invalid package element [%d] got string/buffer, expected [%c]\n",
" [%d] got string/buffer," i, format_string[i]);
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA; return AE_BAD_DATA;
} }
break; break;
@ -137,19 +122,15 @@ acpi_extract_package(union acpi_object *package,
tail_offset += sizeof(void *); tail_offset += sizeof(void *);
break; break;
default: default:
printk(KERN_WARNING PREFIX "Invalid package element" pr_debug("Invalid package element [%d] got reference, expected [%c]\n",
" [%d] got reference," i, format_string[i]);
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA; return AE_BAD_DATA;
} }
break; break;
case ACPI_TYPE_PACKAGE: case ACPI_TYPE_PACKAGE:
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, pr_debug("Unsupported element at index=%d\n", i);
"Found unsupported element at index=%d\n",
i));
/* TBD: handle nested packages... */ /* TBD: handle nested packages... */
return AE_SUPPORT; return AE_SUPPORT;
} }
@ -289,7 +270,7 @@ acpi_evaluate_integer(acpi_handle handle,
*data = element.integer.value; *data = element.integer.value;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Return value [%llu]\n", *data)); acpi_handle_debug(handle, "Return value [%llu]\n", *data);
return AE_OK; return AE_OK;
} }
@ -363,8 +344,7 @@ acpi_evaluate_reference(acpi_handle handle,
/* Get the acpi_handle. */ /* Get the acpi_handle. */
list->handles[i] = element->reference.handle; list->handles[i] = element->reference.handle;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found reference [%p]\n", acpi_handle_debug(list->handles[i], "Found in reference list\n");
list->handles[i]));
} }
end: end:

View file

@ -15,19 +15,12 @@
* Please update drivers/acpi/debug.c and Documentation/firmware-guide/acpi/debug.rst * Please update drivers/acpi/debug.c and Documentation/firmware-guide/acpi/debug.rst
* if you add to this list. * if you add to this list.
*/ */
#define ACPI_BUS_COMPONENT 0x00010000
#define ACPI_AC_COMPONENT 0x00020000
#define ACPI_BATTERY_COMPONENT 0x00040000
#define ACPI_BUTTON_COMPONENT 0x00080000
#define ACPI_SBS_COMPONENT 0x00100000 #define ACPI_SBS_COMPONENT 0x00100000
#define ACPI_FAN_COMPONENT 0x00200000 #define ACPI_FAN_COMPONENT 0x00200000
#define ACPI_PCI_COMPONENT 0x00400000 #define ACPI_PCI_COMPONENT 0x00400000
#define ACPI_POWER_COMPONENT 0x00800000
#define ACPI_CONTAINER_COMPONENT 0x01000000 #define ACPI_CONTAINER_COMPONENT 0x01000000
#define ACPI_SYSTEM_COMPONENT 0x02000000 #define ACPI_SYSTEM_COMPONENT 0x02000000
#define ACPI_THERMAL_COMPONENT 0x04000000
#define ACPI_MEMORY_DEVICE_COMPONENT 0x08000000 #define ACPI_MEMORY_DEVICE_COMPONENT 0x08000000
#define ACPI_VIDEO_COMPONENT 0x10000000
#define ACPI_PROCESSOR_COMPONENT 0x20000000 #define ACPI_PROCESSOR_COMPONENT 0x20000000
/* /*