Commit bd950799 authored by Lan Tianyu's avatar Lan Tianyu Committed by Bjorn Helgaas

PCI: acpiphp: Convert to dynamic debug

This patch is to use pr_debug/info/warn/err to replace acpiphp debug
functions and remove module's debug param.

User interface change: before this patch, boot with the "acpiphp.debug"
kernel parameter to turn on debug.  After this patch, set
CONFIG_DYNAMIC_DEBUG=y and boot with "acpiphp.dyndebug=+p" instead.
See Documentation/dynamic-debug-howto.txt.

[bhelgaas: changelog]
Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent b8cac70a
...@@ -39,16 +39,6 @@ ...@@ -39,16 +39,6 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/pci_hotplug.h> #include <linux/pci_hotplug.h>
#define dbg(format, arg...) \
do { \
if (acpiphp_debug) \
printk(KERN_DEBUG "%s: " format, \
MY_NAME , ## arg); \
} while (0)
#define err(format, arg...) printk(KERN_ERR "%s: " format, MY_NAME , ## arg)
#define info(format, arg...) printk(KERN_INFO "%s: " format, MY_NAME , ## arg)
#define warn(format, arg...) printk(KERN_WARNING "%s: " format, MY_NAME , ## arg)
struct acpiphp_context; struct acpiphp_context;
struct acpiphp_bridge; struct acpiphp_bridge;
struct acpiphp_slot; struct acpiphp_slot;
......
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
* *
*/ */
#define pr_fmt(fmt) "acpiphp: " fmt
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
...@@ -43,12 +45,9 @@ ...@@ -43,12 +45,9 @@
#include <linux/smp.h> #include <linux/smp.h>
#include "acpiphp.h" #include "acpiphp.h"
#define MY_NAME "acpiphp"
/* name size which is used for entries in pcihpfs */ /* name size which is used for entries in pcihpfs */
#define SLOT_NAME_SIZE 21 /* {_SUN} */ #define SLOT_NAME_SIZE 21 /* {_SUN} */
bool acpiphp_debug;
bool acpiphp_disabled; bool acpiphp_disabled;
/* local variables */ /* local variables */
...@@ -61,9 +60,7 @@ static struct acpiphp_attention_info *attention_info; ...@@ -61,9 +60,7 @@ static struct acpiphp_attention_info *attention_info;
MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC); MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_PARM_DESC(debug, "Debugging mode enabled or not");
MODULE_PARM_DESC(disable, "disable acpiphp driver"); MODULE_PARM_DESC(disable, "disable acpiphp driver");
module_param_named(debug, acpiphp_debug, bool, 0644);
module_param_named(disable, acpiphp_disabled, bool, 0444); module_param_named(disable, acpiphp_disabled, bool, 0444);
/* export the attention callback registration methods */ /* export the attention callback registration methods */
...@@ -139,7 +136,7 @@ static int enable_slot(struct hotplug_slot *hotplug_slot) ...@@ -139,7 +136,7 @@ static int enable_slot(struct hotplug_slot *hotplug_slot)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
/* enable the specified slot */ /* enable the specified slot */
return acpiphp_enable_slot(slot->acpi_slot); return acpiphp_enable_slot(slot->acpi_slot);
...@@ -156,7 +153,7 @@ static int disable_slot(struct hotplug_slot *hotplug_slot) ...@@ -156,7 +153,7 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
/* disable the specified slot */ /* disable the specified slot */
return acpiphp_disable_and_eject_slot(slot->acpi_slot); return acpiphp_disable_and_eject_slot(slot->acpi_slot);
...@@ -176,8 +173,9 @@ static int disable_slot(struct hotplug_slot *hotplug_slot) ...@@ -176,8 +173,9 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
{ {
int retval = -ENODEV; int retval = -ENODEV;
dbg("%s - physical_slot = %s\n", __func__, hotplug_slot_name(hotplug_slot)); pr_debug("%s - physical_slot = %s\n", __func__,
hotplug_slot_name(hotplug_slot));
if (attention_info && try_module_get(attention_info->owner)) { if (attention_info && try_module_get(attention_info->owner)) {
retval = attention_info->set_attn(hotplug_slot, status); retval = attention_info->set_attn(hotplug_slot, status);
module_put(attention_info->owner); module_put(attention_info->owner);
...@@ -199,7 +197,7 @@ static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value) ...@@ -199,7 +197,7 @@ static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
*value = acpiphp_get_power_status(slot->acpi_slot); *value = acpiphp_get_power_status(slot->acpi_slot);
...@@ -221,7 +219,8 @@ static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value) ...@@ -221,7 +219,8 @@ static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ {
int retval = -EINVAL; int retval = -EINVAL;
dbg("%s - physical_slot = %s\n", __func__, hotplug_slot_name(hotplug_slot)); pr_debug("%s - physical_slot = %s\n", __func__,
hotplug_slot_name(hotplug_slot));
if (attention_info && try_module_get(attention_info->owner)) { if (attention_info && try_module_get(attention_info->owner)) {
retval = attention_info->get_attn(hotplug_slot, value); retval = attention_info->get_attn(hotplug_slot, value);
...@@ -244,7 +243,7 @@ static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value) ...@@ -244,7 +243,7 @@ static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
*value = acpiphp_get_latch_status(slot->acpi_slot); *value = acpiphp_get_latch_status(slot->acpi_slot);
...@@ -264,7 +263,7 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value) ...@@ -264,7 +263,7 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
*value = acpiphp_get_adapter_status(slot->acpi_slot); *value = acpiphp_get_adapter_status(slot->acpi_slot);
...@@ -279,7 +278,7 @@ static void release_slot(struct hotplug_slot *hotplug_slot) ...@@ -279,7 +278,7 @@ static void release_slot(struct hotplug_slot *hotplug_slot)
{ {
struct slot *slot = hotplug_slot->private; struct slot *slot = hotplug_slot->private;
dbg("%s - physical_slot = %s\n", __func__, slot_name(slot)); pr_debug("%s - physical_slot = %s\n", __func__, slot_name(slot));
kfree(slot->hotplug_slot); kfree(slot->hotplug_slot);
kfree(slot); kfree(slot);
...@@ -322,11 +321,11 @@ int acpiphp_register_hotplug_slot(struct acpiphp_slot *acpiphp_slot, ...@@ -322,11 +321,11 @@ int acpiphp_register_hotplug_slot(struct acpiphp_slot *acpiphp_slot,
if (retval == -EBUSY) if (retval == -EBUSY)
goto error_hpslot; goto error_hpslot;
if (retval) { if (retval) {
err("pci_hp_register failed with error %d\n", retval); pr_err("pci_hp_register failed with error %d\n", retval);
goto error_hpslot; goto error_hpslot;
} }
info("Slot [%s] registered\n", slot_name(slot)); pr_info("Slot [%s] registered\n", slot_name(slot));
return 0; return 0;
error_hpslot: error_hpslot:
...@@ -343,17 +342,17 @@ void acpiphp_unregister_hotplug_slot(struct acpiphp_slot *acpiphp_slot) ...@@ -343,17 +342,17 @@ void acpiphp_unregister_hotplug_slot(struct acpiphp_slot *acpiphp_slot)
struct slot *slot = acpiphp_slot->slot; struct slot *slot = acpiphp_slot->slot;
int retval = 0; int retval = 0;
info("Slot [%s] unregistered\n", slot_name(slot)); pr_info("Slot [%s] unregistered\n", slot_name(slot));
retval = pci_hp_deregister(slot->hotplug_slot); retval = pci_hp_deregister(slot->hotplug_slot);
if (retval) if (retval)
err("pci_hp_deregister failed with error %d\n", retval); pr_err("pci_hp_deregister failed with error %d\n", retval);
} }
void __init acpiphp_init(void) void __init acpiphp_init(void)
{ {
info(DRIVER_DESC " version: " DRIVER_VERSION "%s\n", pr_info(DRIVER_DESC " version: " DRIVER_VERSION "%s\n",
acpiphp_disabled ? ", disabled by user; please report a bug" acpiphp_disabled ? ", disabled by user; please report a bug"
: ""); : "");
} }
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* bus. It loses the refcount when the the driver unloads. * bus. It loses the refcount when the the driver unloads.
*/ */
#define pr_fmt(fmt) "acpiphp_glue: " fmt
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h> #include <linux/module.h>
...@@ -58,8 +60,6 @@ static LIST_HEAD(bridge_list); ...@@ -58,8 +60,6 @@ static LIST_HEAD(bridge_list);
static DEFINE_MUTEX(bridge_mutex); static DEFINE_MUTEX(bridge_mutex);
static DEFINE_MUTEX(acpiphp_context_lock); static DEFINE_MUTEX(acpiphp_context_lock);
#define MY_NAME "acpiphp_glue"
static void handle_hotplug_event(acpi_handle handle, u32 type, void *data); static void handle_hotplug_event(acpi_handle handle, u32 type, void *data);
static void acpiphp_sanitize_bus(struct pci_bus *bus); static void acpiphp_sanitize_bus(struct pci_bus *bus);
static void acpiphp_set_hpp_values(struct pci_bus *bus); static void acpiphp_set_hpp_values(struct pci_bus *bus);
...@@ -335,7 +335,7 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data, ...@@ -335,7 +335,7 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
sun = bridge->nr_slots; sun = bridge->nr_slots;
dbg("found ACPI PCI Hotplug slot %llu at PCI %04x:%02x:%02x\n", pr_debug("found ACPI PCI Hotplug slot %llu at PCI %04x:%02x:%02x\n",
sun, pci_domain_nr(pbus), pbus->number, device); sun, pci_domain_nr(pbus), pbus->number, device);
retval = acpiphp_register_hotplug_slot(slot, sun); retval = acpiphp_register_hotplug_slot(slot, sun);
...@@ -343,10 +343,10 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data, ...@@ -343,10 +343,10 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
slot->slot = NULL; slot->slot = NULL;
bridge->nr_slots--; bridge->nr_slots--;
if (retval == -EBUSY) if (retval == -EBUSY)
warn("Slot %llu already registered by another " pr_warn("Slot %llu already registered by another "
"hotplug driver\n", sun); "hotplug driver\n", sun);
else else
warn("acpiphp_register_hotplug_slot failed " pr_warn("acpiphp_register_hotplug_slot failed "
"(err code = 0x%x)\n", retval); "(err code = 0x%x)\n", retval);
} }
/* Even if the slot registration fails, we can still use it. */ /* Even if the slot registration fails, we can still use it. */
...@@ -369,7 +369,7 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data, ...@@ -369,7 +369,7 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
if (register_hotplug_dock_device(handle, if (register_hotplug_dock_device(handle,
&acpiphp_dock_ops, context, &acpiphp_dock_ops, context,
acpiphp_dock_init, acpiphp_dock_release)) acpiphp_dock_init, acpiphp_dock_release))
dbg("failed to register dock device\n"); pr_debug("failed to register dock device\n");
} }
/* install notify handler */ /* install notify handler */
...@@ -427,7 +427,7 @@ static void cleanup_bridge(struct acpiphp_bridge *bridge) ...@@ -427,7 +427,7 @@ static void cleanup_bridge(struct acpiphp_bridge *bridge)
ACPI_SYSTEM_NOTIFY, ACPI_SYSTEM_NOTIFY,
handle_hotplug_event); handle_hotplug_event);
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
err("failed to remove notify handler\n"); pr_err("failed to remove notify handler\n");
} }
} }
if (slot->slot) if (slot->slot)
...@@ -830,8 +830,9 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data) ...@@ -830,8 +830,9 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data)
switch (type) { switch (type) {
case ACPI_NOTIFY_BUS_CHECK: case ACPI_NOTIFY_BUS_CHECK:
/* bus re-enumerate */ /* bus re-enumerate */
dbg("%s: Bus check notify on %s\n", __func__, objname); pr_debug("%s: Bus check notify on %s\n", __func__, objname);
dbg("%s: re-enumerating slots under %s\n", __func__, objname); pr_debug("%s: re-enumerating slots under %s\n",
__func__, objname);
if (bridge) { if (bridge) {
acpiphp_check_bridge(bridge); acpiphp_check_bridge(bridge);
} else { } else {
...@@ -845,7 +846,7 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data) ...@@ -845,7 +846,7 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data)
case ACPI_NOTIFY_DEVICE_CHECK: case ACPI_NOTIFY_DEVICE_CHECK:
/* device check */ /* device check */
dbg("%s: Device check notify on %s\n", __func__, objname); pr_debug("%s: Device check notify on %s\n", __func__, objname);
if (bridge) { if (bridge) {
acpiphp_check_bridge(bridge); acpiphp_check_bridge(bridge);
} else { } else {
...@@ -866,7 +867,7 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data) ...@@ -866,7 +867,7 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data)
case ACPI_NOTIFY_EJECT_REQUEST: case ACPI_NOTIFY_EJECT_REQUEST:
/* request device eject */ /* request device eject */
dbg("%s: Device eject notify on %s\n", __func__, objname); pr_debug("%s: Device eject notify on %s\n", __func__, objname);
acpiphp_disable_and_eject_slot(func->slot); acpiphp_disable_and_eject_slot(func->slot);
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment