* [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c [not found] <1368461313-4371-1-git-send-email-jiang.liu@huawei.com> @ 2013-05-13 16:08 ` Jiang Liu 2013-05-13 23:28 ` Rafael J. Wysocki 2013-05-13 16:08 ` [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages Jiang Liu 1 sibling, 1 reply; 8+ messages in thread From: Jiang Liu @ 2013-05-13 16:08 UTC (permalink / raw) To: Bjorn Helgaas, Yinghai Lu Cc: Jiang Liu, Rafael J . Wysocki, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, Jiang Liu, linux-pci, linux-kernel, Len Brown, linux-acpi Now the global list acpi_pci_roots pci_root.c is useless, remove it. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Len Brown <lenb@kernel.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: linux-acpi@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/acpi/pci_root.c | 25 +++---------------------- include/acpi/acpi_bus.h | 1 - 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index b80e06e..91ddfd6 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -65,10 +65,6 @@ static struct acpi_scan_handler pci_root_handler = { .detach = acpi_pci_root_remove, }; -/* Lock to protect both acpi_pci_roots lists */ -static DEFINE_MUTEX(acpi_pci_root_lock); -static LIST_HEAD(acpi_pci_roots); - static DEFINE_MUTEX(osc_lock); /** @@ -423,7 +419,6 @@ static int acpi_pci_root_add(struct acpi_device *device, } } - INIT_LIST_HEAD(&root->node); root->device = device; root->segment = segment & 0xFFFF; strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME); @@ -501,10 +496,6 @@ static int acpi_pci_root_add(struct acpi_device *device, * TBD: Need PCI interface for enumeration/configuration of roots. */ - mutex_lock(&acpi_pci_root_lock); - list_add_tail(&root->node, &acpi_pci_roots); - mutex_unlock(&acpi_pci_root_lock); - /* * Scan the Root Bridge * -------------------- @@ -518,7 +509,7 @@ static int acpi_pci_root_add(struct acpi_device *device, "Bus %04x:%02x not present in PCI namespace\n", root->segment, (unsigned int)root->secondary.start); result = -ENODEV; - goto out_del_root; + goto end; } /* ASPM setting */ @@ -538,20 +529,13 @@ static int acpi_pci_root_add(struct acpi_device *device, if (system_state != SYSTEM_BOOTING) { pcibios_resource_survey_bus(root->bus); pci_assign_unassigned_bus_resources(root->bus); - } - - /* need to after hot-added ioapic is registered */ - if (system_state != SYSTEM_BOOTING) + /* need to after hot-added ioapic is registered */ pci_enable_bridges(root->bus); + } pci_bus_add_devices(root->bus); return 1; -out_del_root: - mutex_lock(&acpi_pci_root_lock); - list_del(&root->node); - mutex_unlock(&acpi_pci_root_lock); - end: kfree(root); return result; @@ -568,9 +552,6 @@ static void acpi_pci_root_remove(struct acpi_device *device) pci_remove_root_bus(root->bus); - mutex_lock(&acpi_pci_root_lock); - list_del(&root->node); - mutex_unlock(&acpi_pci_root_lock); kfree(root); } diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 22ba56e..4eb9a88 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -447,7 +447,6 @@ int register_acpi_bus_type(struct acpi_bus_type *); int unregister_acpi_bus_type(struct acpi_bus_type *); struct acpi_pci_root { - struct list_head node; struct acpi_device * device; struct pci_bus *bus; u16 segment; -- 1.8.1.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c 2013-05-13 16:08 ` [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c Jiang Liu @ 2013-05-13 23:28 ` Rafael J. Wysocki 2013-05-14 12:41 ` Liu Jiang 0 siblings, 1 reply; 8+ messages in thread From: Rafael J. Wysocki @ 2013-05-13 23:28 UTC (permalink / raw) To: Jiang Liu Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: > Now the global list acpi_pci_roots pci_root.c is useless, remove it. Well, are patches [1-4/9] needed for that or does it apply without them? Rafael > Signed-off-by: Jiang Liu <jiang.liu@huawei.com> > Cc: Len Brown <lenb@kernel.org> > Cc: "Rafael J. Wysocki" <rjw@sisk.pl> > Cc: linux-acpi@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > drivers/acpi/pci_root.c | 25 +++---------------------- > include/acpi/acpi_bus.h | 1 - > 2 files changed, 3 insertions(+), 23 deletions(-) > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > index b80e06e..91ddfd6 100644 > --- a/drivers/acpi/pci_root.c > +++ b/drivers/acpi/pci_root.c > @@ -65,10 +65,6 @@ static struct acpi_scan_handler pci_root_handler = { > .detach = acpi_pci_root_remove, > }; > > -/* Lock to protect both acpi_pci_roots lists */ > -static DEFINE_MUTEX(acpi_pci_root_lock); > -static LIST_HEAD(acpi_pci_roots); > - > static DEFINE_MUTEX(osc_lock); > > /** > @@ -423,7 +419,6 @@ static int acpi_pci_root_add(struct acpi_device *device, > } > } > > - INIT_LIST_HEAD(&root->node); > root->device = device; > root->segment = segment & 0xFFFF; > strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME); > @@ -501,10 +496,6 @@ static int acpi_pci_root_add(struct acpi_device *device, > * TBD: Need PCI interface for enumeration/configuration of roots. > */ > > - mutex_lock(&acpi_pci_root_lock); > - list_add_tail(&root->node, &acpi_pci_roots); > - mutex_unlock(&acpi_pci_root_lock); > - > /* > * Scan the Root Bridge > * -------------------- > @@ -518,7 +509,7 @@ static int acpi_pci_root_add(struct acpi_device *device, > "Bus %04x:%02x not present in PCI namespace\n", > root->segment, (unsigned int)root->secondary.start); > result = -ENODEV; > - goto out_del_root; > + goto end; > } > > /* ASPM setting */ > @@ -538,20 +529,13 @@ static int acpi_pci_root_add(struct acpi_device *device, > if (system_state != SYSTEM_BOOTING) { > pcibios_resource_survey_bus(root->bus); > pci_assign_unassigned_bus_resources(root->bus); > - } > - > - /* need to after hot-added ioapic is registered */ > - if (system_state != SYSTEM_BOOTING) > + /* need to after hot-added ioapic is registered */ > pci_enable_bridges(root->bus); > + } > > pci_bus_add_devices(root->bus); > return 1; > > -out_del_root: > - mutex_lock(&acpi_pci_root_lock); > - list_del(&root->node); > - mutex_unlock(&acpi_pci_root_lock); > - > end: > kfree(root); > return result; > @@ -568,9 +552,6 @@ static void acpi_pci_root_remove(struct acpi_device *device) > > pci_remove_root_bus(root->bus); > > - mutex_lock(&acpi_pci_root_lock); > - list_del(&root->node); > - mutex_unlock(&acpi_pci_root_lock); > kfree(root); > } > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index 22ba56e..4eb9a88 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -447,7 +447,6 @@ int register_acpi_bus_type(struct acpi_bus_type *); > int unregister_acpi_bus_type(struct acpi_bus_type *); > > struct acpi_pci_root { > - struct list_head node; > struct acpi_device * device; > struct pci_bus *bus; > u16 segment; > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c 2013-05-13 23:28 ` Rafael J. Wysocki @ 2013-05-14 12:41 ` Liu Jiang 2013-05-14 13:01 ` Rafael J. Wysocki 0 siblings, 1 reply; 8+ messages in thread From: Liu Jiang @ 2013-05-14 12:41 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On Tue 14 May 2013 07:28:45 AM CST, Rafael J. Wysocki wrote: > On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: >> Now the global list acpi_pci_roots pci_root.c is useless, remove it. > > Well, are patches [1-4/9] needed for that or does it apply without them? Hi Rafael, This two patches have no dependency on others. Thanks! > > Rafael > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c 2013-05-14 12:41 ` Liu Jiang @ 2013-05-14 13:01 ` Rafael J. Wysocki 0 siblings, 0 replies; 8+ messages in thread From: Rafael J. Wysocki @ 2013-05-14 13:01 UTC (permalink / raw) To: Liu Jiang Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On Tuesday, May 14, 2013 08:41:56 PM Liu Jiang wrote: > On Tue 14 May 2013 07:28:45 AM CST, Rafael J. Wysocki wrote: > > On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: > >> Now the global list acpi_pci_roots pci_root.c is useless, remove it. > > > > Well, are patches [1-4/9] needed for that or does it apply without them? > Hi Rafael, > This two patches have no dependency on others. Can you please submit them separately, then? Rafael -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages [not found] <1368461313-4371-1-git-send-email-jiang.liu@huawei.com> 2013-05-13 16:08 ` [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c Jiang Liu @ 2013-05-13 16:08 ` Jiang Liu 2013-05-13 23:27 ` Rafael J. Wysocki 2013-05-14 8:43 ` Gu Zheng 1 sibling, 2 replies; 8+ messages in thread From: Jiang Liu @ 2013-05-13 16:08 UTC (permalink / raw) To: Bjorn Helgaas, Yinghai Lu Cc: Jiang Liu, Rafael J . Wysocki, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, Jiang Liu, linux-pci, linux-kernel, Len Brown, linux-acpi Use acpi_handle_print() and pr_xxx() to print messages in pci_root.c. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Len Brown <lenb@kernel.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: linux-acpi@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/acpi/pci_root.c | 71 ++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 91ddfd6..9ced5c3 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -379,23 +379,23 @@ static int acpi_pci_root_add(struct acpi_device *device, struct acpi_pci_root *root; u32 flags, base_flags; bool is_osc_granted = false; + acpi_handle hdl = device->handle; root = kzalloc(sizeof(struct acpi_pci_root), GFP_KERNEL); if (!root) return -ENOMEM; segment = 0; - status = acpi_evaluate_integer(device->handle, METHOD_NAME__SEG, NULL, - &segment); + status = acpi_evaluate_integer(hdl, METHOD_NAME__SEG, NULL, &segment); if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { - printk(KERN_ERR PREFIX "can't evaluate _SEG\n"); + acpi_handle_err(hdl, "can't evaluate _SEG\n"); result = -ENODEV; goto end; } /* Check _CRS first, then _BBN. If no _BBN, default to zero. */ root->secondary.flags = IORESOURCE_BUS; - status = try_get_root_bridge_busnr(device->handle, &root->secondary); + status = try_get_root_bridge_busnr(hdl, &root->secondary); if (ACPI_FAILURE(status)) { /* * We need both the start and end of the downstream bus range @@ -404,16 +404,16 @@ static int acpi_pci_root_add(struct acpi_device *device, * can do is assume [_BBN-0xFF] or [0-0xFF]. */ root->secondary.end = 0xFF; - printk(KERN_WARNING FW_BUG PREFIX - "no secondary bus range in _CRS\n"); - status = acpi_evaluate_integer(device->handle, METHOD_NAME__BBN, + acpi_handle_warn(hdl, + FW_BUG "no secondary bus range in _CRS\n"); + status = acpi_evaluate_integer(hdl, METHOD_NAME__BBN, NULL, &bus); if (ACPI_SUCCESS(status)) root->secondary.start = bus; else if (status == AE_NOT_FOUND) root->secondary.start = 0; else { - printk(KERN_ERR PREFIX "can't evaluate _BBN\n"); + acpi_handle_err(hdl, "can't evaluate _BBN\n"); result = -ENODEV; goto end; } @@ -425,11 +425,11 @@ static int acpi_pci_root_add(struct acpi_device *device, strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS); device->driver_data = root; - printk(KERN_INFO PREFIX "%s [%s] (domain %04x %pR)\n", + pr_info(PREFIX "%s [%s] (domain %04x %pR)\n", acpi_device_name(device), acpi_device_bid(device), root->segment, &root->secondary); - root->mcfg_addr = acpi_pci_root_get_mcfg_addr(device->handle); + root->mcfg_addr = acpi_pci_root_get_mcfg_addr(hdl); /* * All supported architectures that use ACPI have support for @@ -473,7 +473,7 @@ static int acpi_pci_root_add(struct acpi_device *device, dev_info(&device->dev, "Requesting ACPI _OSC control (0x%02x)\n", flags); - status = acpi_pci_osc_control_set(device->handle, &flags, + status = acpi_pci_osc_control_set(hdl, &flags, OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL); if (ACPI_SUCCESS(status)) { is_osc_granted = true; @@ -505,9 +505,9 @@ static int acpi_pci_root_add(struct acpi_device *device, */ root->bus = pci_acpi_scan_root(root); if (!root->bus) { - printk(KERN_ERR PREFIX - "Bus %04x:%02x not present in PCI namespace\n", - root->segment, (unsigned int)root->secondary.start); + acpi_handle_err(hdl, + "Bus %04x:%02x not present in PCI namespace\n", + root->segment, (unsigned int)root->secondary.start); result = -ENODEV; goto end; } @@ -517,8 +517,8 @@ static int acpi_pci_root_add(struct acpi_device *device, if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) pcie_clear_aspm(root->bus); } else { - pr_info("ACPI _OSC control for PCIe not granted, " - "disabling ASPM\n"); + acpi_handle_info(hdl, + "ACPI _OSC control for PCIe not granted, disabling ASPM\n"); pcie_no_aspm(); } @@ -571,12 +571,13 @@ static void handle_root_bridge_insertion(acpi_handle handle) struct acpi_device *device; if (!acpi_bus_get_device(handle, &device)) { - printk(KERN_DEBUG "acpi device exists...\n"); + acpi_handle_printk(KERN_DEBUG, handle, + "acpi device exists...\n"); return; } if (acpi_bus_scan(handle)) - printk(KERN_ERR "cannot add bridge to acpi list\n"); + acpi_handle_err(handle, "cannot add bridge to acpi list\n"); } static void handle_root_bridge_removal(struct acpi_device *device) @@ -602,7 +603,6 @@ static void handle_root_bridge_removal(struct acpi_device *device) static void _handle_hotplug_event_root(struct work_struct *work) { struct acpi_pci_root *root; - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER }; struct acpi_hp_work *hp_work; acpi_handle handle; u32 type; @@ -613,13 +613,11 @@ static void _handle_hotplug_event_root(struct work_struct *work) root = acpi_pci_find_root(handle); - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); - switch (type) { case ACPI_NOTIFY_BUS_CHECK: /* bus enumerate */ - printk(KERN_DEBUG "%s: Bus check notify on %s\n", __func__, - (char *)buffer.pointer); + acpi_handle_printk(KERN_DEBUG, handle, + "Bus check notify on %s\n", __func__); if (!root) handle_root_bridge_insertion(handle); @@ -627,27 +625,26 @@ static void _handle_hotplug_event_root(struct work_struct *work) case ACPI_NOTIFY_DEVICE_CHECK: /* device check */ - printk(KERN_DEBUG "%s: Device check notify on %s\n", __func__, - (char *)buffer.pointer); + acpi_handle_printk(KERN_DEBUG, handle, + "Device check notify on %s\n", __func__); if (!root) handle_root_bridge_insertion(handle); break; case ACPI_NOTIFY_EJECT_REQUEST: /* request device eject */ - printk(KERN_DEBUG "%s: Device eject notify on %s\n", __func__, - (char *)buffer.pointer); + acpi_handle_printk(KERN_DEBUG, handle, + "Device eject notify on %s\n", __func__); if (root) handle_root_bridge_removal(root->device); break; default: - printk(KERN_WARNING "notify_handler: unknown event type 0x%x for %s\n", - type, (char *)buffer.pointer); + acpi_handle_warn(handle, + "notify_handler: unknown event type 0x%xn", type); break; } kfree(hp_work); /* allocated in handle_hotplug_event_bridge */ - kfree(buffer.pointer); } static void handle_hotplug_event_root(acpi_handle handle, u32 type, @@ -661,9 +658,6 @@ static acpi_status __init find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) { acpi_status status; - char objname[64]; - struct acpi_buffer buffer = { .length = sizeof(objname), - .pointer = objname }; int *count = (int *)context; if (!acpi_is_root_bridge(handle)) @@ -671,16 +665,15 @@ find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) (*count)++; - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); - status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, handle_hotplug_event_root, NULL); if (ACPI_FAILURE(status)) - printk(KERN_DEBUG "acpi root: %s notify handler is not installed, exit status: %u\n", - objname, (unsigned int)status); + acpi_handle_printk(KERN_DEBUG, handle, + "notify handler is not installed, exit status: %u\n", + (unsigned int)status); else - printk(KERN_DEBUG "acpi root: %s notify handler is installed\n", - objname); + acpi_handle_printk(KERN_DEBUG, handle, + "notify handler is installed\n"); return AE_OK; } -- 1.8.1.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages 2013-05-13 16:08 ` [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages Jiang Liu @ 2013-05-13 23:27 ` Rafael J. Wysocki 2013-05-14 12:46 ` Liu Jiang 2013-05-14 8:43 ` Gu Zheng 1 sibling, 1 reply; 8+ messages in thread From: Rafael J. Wysocki @ 2013-05-13 23:27 UTC (permalink / raw) To: Jiang Liu Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On Tuesday, May 14, 2013 12:08:30 AM Jiang Liu wrote: > Use acpi_handle_print() and pr_xxx() to print messages in pci_root.c. > > Signed-off-by: Jiang Liu <jiang.liu@huawei.com> > Cc: Len Brown <lenb@kernel.org> > Cc: "Rafael J. Wysocki" <rjw@sisk.pl> > Cc: linux-acpi@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > drivers/acpi/pci_root.c | 71 ++++++++++++++++++++++--------------------------- > 1 file changed, 32 insertions(+), 39 deletions(-) > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > index 91ddfd6..9ced5c3 100644 > --- a/drivers/acpi/pci_root.c > +++ b/drivers/acpi/pci_root.c > @@ -379,23 +379,23 @@ static int acpi_pci_root_add(struct acpi_device *device, > struct acpi_pci_root *root; > u32 flags, base_flags; > bool is_osc_granted = false; > + acpi_handle hdl = device->handle; The usual way is to call it 'handle'. Any reason why not to do it here too? > root = kzalloc(sizeof(struct acpi_pci_root), GFP_KERNEL); > if (!root) > return -ENOMEM; > > segment = 0; > - status = acpi_evaluate_integer(device->handle, METHOD_NAME__SEG, NULL, > - &segment); > + status = acpi_evaluate_integer(hdl, METHOD_NAME__SEG, NULL, &segment); > if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { > - printk(KERN_ERR PREFIX "can't evaluate _SEG\n"); > + acpi_handle_err(hdl, "can't evaluate _SEG\n"); > result = -ENODEV; > goto end; > } > > /* Check _CRS first, then _BBN. If no _BBN, default to zero. */ > root->secondary.flags = IORESOURCE_BUS; > - status = try_get_root_bridge_busnr(device->handle, &root->secondary); > + status = try_get_root_bridge_busnr(hdl, &root->secondary); > if (ACPI_FAILURE(status)) { > /* > * We need both the start and end of the downstream bus range > @@ -404,16 +404,16 @@ static int acpi_pci_root_add(struct acpi_device *device, > * can do is assume [_BBN-0xFF] or [0-0xFF]. > */ > root->secondary.end = 0xFF; > - printk(KERN_WARNING FW_BUG PREFIX > - "no secondary bus range in _CRS\n"); > - status = acpi_evaluate_integer(device->handle, METHOD_NAME__BBN, > + acpi_handle_warn(hdl, > + FW_BUG "no secondary bus range in _CRS\n"); > + status = acpi_evaluate_integer(hdl, METHOD_NAME__BBN, > NULL, &bus); > if (ACPI_SUCCESS(status)) > root->secondary.start = bus; > else if (status == AE_NOT_FOUND) > root->secondary.start = 0; > else { > - printk(KERN_ERR PREFIX "can't evaluate _BBN\n"); > + acpi_handle_err(hdl, "can't evaluate _BBN\n"); > result = -ENODEV; > goto end; > } > @@ -425,11 +425,11 @@ static int acpi_pci_root_add(struct acpi_device *device, > strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS); > device->driver_data = root; > > - printk(KERN_INFO PREFIX "%s [%s] (domain %04x %pR)\n", > + pr_info(PREFIX "%s [%s] (domain %04x %pR)\n", > acpi_device_name(device), acpi_device_bid(device), > root->segment, &root->secondary); > > - root->mcfg_addr = acpi_pci_root_get_mcfg_addr(device->handle); > + root->mcfg_addr = acpi_pci_root_get_mcfg_addr(hdl); > > /* > * All supported architectures that use ACPI have support for > @@ -473,7 +473,7 @@ static int acpi_pci_root_add(struct acpi_device *device, > dev_info(&device->dev, > "Requesting ACPI _OSC control (0x%02x)\n", flags); > > - status = acpi_pci_osc_control_set(device->handle, &flags, > + status = acpi_pci_osc_control_set(hdl, &flags, > OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL); > if (ACPI_SUCCESS(status)) { > is_osc_granted = true; > @@ -505,9 +505,9 @@ static int acpi_pci_root_add(struct acpi_device *device, > */ > root->bus = pci_acpi_scan_root(root); > if (!root->bus) { > - printk(KERN_ERR PREFIX > - "Bus %04x:%02x not present in PCI namespace\n", > - root->segment, (unsigned int)root->secondary.start); > + acpi_handle_err(hdl, > + "Bus %04x:%02x not present in PCI namespace\n", > + root->segment, (unsigned int)root->secondary.start); > result = -ENODEV; > goto end; > } > @@ -517,8 +517,8 @@ static int acpi_pci_root_add(struct acpi_device *device, > if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) > pcie_clear_aspm(root->bus); > } else { > - pr_info("ACPI _OSC control for PCIe not granted, " > - "disabling ASPM\n"); > + acpi_handle_info(hdl, > + "ACPI _OSC control for PCIe not granted, disabling ASPM\n"); > pcie_no_aspm(); > } > > @@ -571,12 +571,13 @@ static void handle_root_bridge_insertion(acpi_handle handle) > struct acpi_device *device; > > if (!acpi_bus_get_device(handle, &device)) { > - printk(KERN_DEBUG "acpi device exists...\n"); > + acpi_handle_printk(KERN_DEBUG, handle, > + "acpi device exists...\n"); Do we have acpi_handle_dbg()? If so, why don't you use it here? (And below.) If not, why don't you add it and use it here (and below)? > return; > } > > if (acpi_bus_scan(handle)) > - printk(KERN_ERR "cannot add bridge to acpi list\n"); > + acpi_handle_err(handle, "cannot add bridge to acpi list\n"); > } > > static void handle_root_bridge_removal(struct acpi_device *device) > @@ -602,7 +603,6 @@ static void handle_root_bridge_removal(struct acpi_device *device) > static void _handle_hotplug_event_root(struct work_struct *work) > { > struct acpi_pci_root *root; > - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER }; > struct acpi_hp_work *hp_work; > acpi_handle handle; > u32 type; > @@ -613,13 +613,11 @@ static void _handle_hotplug_event_root(struct work_struct *work) > > root = acpi_pci_find_root(handle); > > - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); > - > switch (type) { > case ACPI_NOTIFY_BUS_CHECK: > /* bus enumerate */ > - printk(KERN_DEBUG "%s: Bus check notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Bus check notify on %s\n", __func__); > if (!root) > handle_root_bridge_insertion(handle); > > @@ -627,27 +625,26 @@ static void _handle_hotplug_event_root(struct work_struct *work) > > case ACPI_NOTIFY_DEVICE_CHECK: > /* device check */ > - printk(KERN_DEBUG "%s: Device check notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Device check notify on %s\n", __func__); > if (!root) > handle_root_bridge_insertion(handle); > break; > > case ACPI_NOTIFY_EJECT_REQUEST: > /* request device eject */ > - printk(KERN_DEBUG "%s: Device eject notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Device eject notify on %s\n", __func__); > if (root) > handle_root_bridge_removal(root->device); > break; > default: > - printk(KERN_WARNING "notify_handler: unknown event type 0x%x for %s\n", > - type, (char *)buffer.pointer); > + acpi_handle_warn(handle, > + "notify_handler: unknown event type 0x%xn", type); > break; > } > > kfree(hp_work); /* allocated in handle_hotplug_event_bridge */ > - kfree(buffer.pointer); > } > > static void handle_hotplug_event_root(acpi_handle handle, u32 type, > @@ -661,9 +658,6 @@ static acpi_status __init > find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) > { > acpi_status status; > - char objname[64]; > - struct acpi_buffer buffer = { .length = sizeof(objname), > - .pointer = objname }; > int *count = (int *)context; > > if (!acpi_is_root_bridge(handle)) > @@ -671,16 +665,15 @@ find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) > > (*count)++; > > - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); > - > status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, > handle_hotplug_event_root, NULL); > if (ACPI_FAILURE(status)) > - printk(KERN_DEBUG "acpi root: %s notify handler is not installed, exit status: %u\n", > - objname, (unsigned int)status); > + acpi_handle_printk(KERN_DEBUG, handle, > + "notify handler is not installed, exit status: %u\n", > + (unsigned int)status); > else > - printk(KERN_DEBUG "acpi root: %s notify handler is installed\n", > - objname); > + acpi_handle_printk(KERN_DEBUG, handle, > + "notify handler is installed\n"); > > return AE_OK; > } Thanks, Rafael -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages 2013-05-13 23:27 ` Rafael J. Wysocki @ 2013-05-14 12:46 ` Liu Jiang 0 siblings, 0 replies; 8+ messages in thread From: Liu Jiang @ 2013-05-14 12:46 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Greg Kroah-Hartman, Gu Zheng, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On 05/14/2013 07:27 AM, Rafael J. Wysocki wrote: > On Tuesday, May 14, 2013 12:08:30 AM Jiang Liu wrote: >> Use acpi_handle_print() and pr_xxx() to print messages in pci_root.c. >> >> Signed-off-by: Jiang Liu <jiang.liu@huawei.com> >> Cc: Len Brown <lenb@kernel.org> >> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> >> Cc: linux-acpi@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> --- >> drivers/acpi/pci_root.c | 71 ++++++++++++++++++++++--------------------------- >> 1 file changed, 32 insertions(+), 39 deletions(-) >> >> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c >> index 91ddfd6..9ced5c3 100644 >> --- a/drivers/acpi/pci_root.c >> +++ b/drivers/acpi/pci_root.c >> @@ -379,23 +379,23 @@ static int acpi_pci_root_add(struct acpi_device *device, >> struct acpi_pci_root *root; >> u32 flags, base_flags; >> bool is_osc_granted = false; >> + acpi_handle hdl = device->handle; > The usual way is to call it 'handle'. Any reason why not to do it here Hi Rafael, Just to avoid splitting some code into two lines, I could to use "handle" if preferred. >> root = kzalloc(sizeof(struct acpi_pci_root), GFP_KERNEL); >> if (!root) >> return -ENOMEM; >> >> segment = 0; >> - status = acpi_evaluate_integer(device->handle, METHOD_NAME__SEG, NULL, >> - &segment); >> + status = acpi_evaluate_integer(hdl, METHOD_NAME__SEG, NULL, &segment); >> if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { >> - printk(KERN_ERR PREFIX "can't evaluate _SEG\n"); >> + acpi_handle_err(hdl, "can't evaluate _SEG\n"); >> result = -ENODEV; >> goto end; >> } >> >> /* Check _CRS first, then _BBN. If no _BBN, default to zero. */ >> root->secondary.flags = IORESOURCE_BUS; >> - status = try_get_root_bridge_busnr(device->handle, &root->secondary); >> + status = try_get_root_bridge_busnr(hdl, &root->secondary); >> if (ACPI_FAILURE(status)) { >> /* >> * We need both the start and end of the downstream bus range >> @@ -404,16 +404,16 @@ static int acpi_pci_root_add(struct acpi_device *device, >> * can do is assume [_BBN-0xFF] or [0-0xFF]. >> */ >> root->secondary.end = 0xFF; >> - printk(KERN_WARNING FW_BUG PREFIX >> - "no secondary bus range in _CRS\n"); >> - status = acpi_evaluate_integer(device->handle, METHOD_NAME__BBN, >> + acpi_handle_warn(hdl, >> + FW_BUG "no secondary bus range in _CRS\n"); >> + status = acpi_evaluate_integer(hdl, METHOD_NAME__BBN, >> NULL, &bus); >> if (ACPI_SUCCESS(status)) >> root->secondary.start = bus; >> else if (status == AE_NOT_FOUND) >> root->secondary.start = 0; >> else { >> - printk(KERN_ERR PREFIX "can't evaluate _BBN\n"); >> + acpi_handle_err(hdl, "can't evaluate _BBN\n"); >> result = -ENODEV; >> goto end; >> } >> @@ -425,11 +425,11 @@ static int acpi_pci_root_add(struct acpi_device *device, >> strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS); >> device->driver_data = root; >> >> - printk(KERN_INFO PREFIX "%s [%s] (domain %04x %pR)\n", >> + pr_info(PREFIX "%s [%s] (domain %04x %pR)\n", >> acpi_device_name(device), acpi_device_bid(device), >> root->segment, &root->secondary); >> >> - root->mcfg_addr = acpi_pci_root_get_mcfg_addr(device->handle); >> + root->mcfg_addr = acpi_pci_root_get_mcfg_addr(hdl); >> >> /* >> * All supported architectures that use ACPI have support for >> @@ -473,7 +473,7 @@ static int acpi_pci_root_add(struct acpi_device *device, >> dev_info(&device->dev, >> "Requesting ACPI _OSC control (0x%02x)\n", flags); >> >> - status = acpi_pci_osc_control_set(device->handle, &flags, >> + status = acpi_pci_osc_control_set(hdl, &flags, >> OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL); >> if (ACPI_SUCCESS(status)) { >> is_osc_granted = true; >> @@ -505,9 +505,9 @@ static int acpi_pci_root_add(struct acpi_device *device, >> */ >> root->bus = pci_acpi_scan_root(root); >> if (!root->bus) { >> - printk(KERN_ERR PREFIX >> - "Bus %04x:%02x not present in PCI namespace\n", >> - root->segment, (unsigned int)root->secondary.start); >> + acpi_handle_err(hdl, >> + "Bus %04x:%02x not present in PCI namespace\n", >> + root->segment, (unsigned int)root->secondary.start); >> result = -ENODEV; >> goto end; >> } >> @@ -517,8 +517,8 @@ static int acpi_pci_root_add(struct acpi_device *device, >> if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) >> pcie_clear_aspm(root->bus); >> } else { >> - pr_info("ACPI _OSC control for PCIe not granted, " >> - "disabling ASPM\n"); >> + acpi_handle_info(hdl, >> + "ACPI _OSC control for PCIe not granted, disabling ASPM\n"); >> pcie_no_aspm(); >> } >> >> @@ -571,12 +571,13 @@ static void handle_root_bridge_insertion(acpi_handle handle) >> struct acpi_device *device; >> >> if (!acpi_bus_get_device(handle, &device)) { >> - printk(KERN_DEBUG "acpi device exists...\n"); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "acpi device exists...\n"); > Do we have acpi_handle_dbg()? If so, why don't you use it here? (And below.) > If not, why don't you add it and use it here (and below)? acpi_handle_dbg() only generates message if CONFIG_DEBUG is enabled, so use pci_handle_printk(KERN_DEBUG, xxx) to keep original behavior. Thanks, Gerry > >> return; >> } >> >> if (acpi_bus_scan(handle)) >> - printk(KERN_ERR "cannot add bridge to acpi list\n"); >> + acpi_handle_err(handle, "cannot add bridge to acpi list\n"); >> } >> >> static void handle_root_bridge_removal(struct acpi_device *device) >> @@ -602,7 +603,6 @@ static void handle_root_bridge_removal(struct acpi_device *device) >> static void _handle_hotplug_event_root(struct work_struct *work) >> { >> struct acpi_pci_root *root; >> - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER }; >> struct acpi_hp_work *hp_work; >> acpi_handle handle; >> u32 type; >> @@ -613,13 +613,11 @@ static void _handle_hotplug_event_root(struct work_struct *work) >> >> root = acpi_pci_find_root(handle); >> >> - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); >> - >> switch (type) { >> case ACPI_NOTIFY_BUS_CHECK: >> /* bus enumerate */ >> - printk(KERN_DEBUG "%s: Bus check notify on %s\n", __func__, >> - (char *)buffer.pointer); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "Bus check notify on %s\n", __func__); >> if (!root) >> handle_root_bridge_insertion(handle); >> >> @@ -627,27 +625,26 @@ static void _handle_hotplug_event_root(struct work_struct *work) >> >> case ACPI_NOTIFY_DEVICE_CHECK: >> /* device check */ >> - printk(KERN_DEBUG "%s: Device check notify on %s\n", __func__, >> - (char *)buffer.pointer); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "Device check notify on %s\n", __func__); >> if (!root) >> handle_root_bridge_insertion(handle); >> break; >> >> case ACPI_NOTIFY_EJECT_REQUEST: >> /* request device eject */ >> - printk(KERN_DEBUG "%s: Device eject notify on %s\n", __func__, >> - (char *)buffer.pointer); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "Device eject notify on %s\n", __func__); >> if (root) >> handle_root_bridge_removal(root->device); >> break; >> default: >> - printk(KERN_WARNING "notify_handler: unknown event type 0x%x for %s\n", >> - type, (char *)buffer.pointer); >> + acpi_handle_warn(handle, >> + "notify_handler: unknown event type 0x%xn", type); >> break; >> } >> >> kfree(hp_work); /* allocated in handle_hotplug_event_bridge */ >> - kfree(buffer.pointer); >> } >> >> static void handle_hotplug_event_root(acpi_handle handle, u32 type, >> @@ -661,9 +658,6 @@ static acpi_status __init >> find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) >> { >> acpi_status status; >> - char objname[64]; >> - struct acpi_buffer buffer = { .length = sizeof(objname), >> - .pointer = objname }; >> int *count = (int *)context; >> >> if (!acpi_is_root_bridge(handle)) >> @@ -671,16 +665,15 @@ find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) >> >> (*count)++; >> >> - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); >> - >> status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, >> handle_hotplug_event_root, NULL); >> if (ACPI_FAILURE(status)) >> - printk(KERN_DEBUG "acpi root: %s notify handler is not installed, exit status: %u\n", >> - objname, (unsigned int)status); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "notify handler is not installed, exit status: %u\n", >> + (unsigned int)status); >> else >> - printk(KERN_DEBUG "acpi root: %s notify handler is installed\n", >> - objname); >> + acpi_handle_printk(KERN_DEBUG, handle, >> + "notify handler is installed\n"); >> >> return AE_OK; >> } > Thanks, > Rafael > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages 2013-05-13 16:08 ` [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages Jiang Liu 2013-05-13 23:27 ` Rafael J. Wysocki @ 2013-05-14 8:43 ` Gu Zheng 1 sibling, 0 replies; 8+ messages in thread From: Gu Zheng @ 2013-05-14 8:43 UTC (permalink / raw) To: Jiang Liu Cc: Bjorn Helgaas, Yinghai Lu, Jiang Liu, Rafael J . Wysocki, Greg Kroah-Hartman, Toshi Kani, Myron Stowe, Yijing Wang, linux-pci, linux-kernel, Len Brown, linux-acpi On 05/14/2013 12:08 AM, Jiang Liu wrote: > Use acpi_handle_print() and pr_xxx() to print messages in pci_root.c. > > Signed-off-by: Jiang Liu <jiang.liu@huawei.com> > Cc: Len Brown <lenb@kernel.org> > Cc: "Rafael J. Wysocki" <rjw@sisk.pl> > Cc: linux-acpi@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > drivers/acpi/pci_root.c | 71 ++++++++++++++++++++++--------------------------- > 1 file changed, 32 insertions(+), 39 deletions(-) > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > index 91ddfd6..9ced5c3 100644 > --- a/drivers/acpi/pci_root.c > +++ b/drivers/acpi/pci_root.c > @@ -379,23 +379,23 @@ static int acpi_pci_root_add(struct acpi_device *device, > struct acpi_pci_root *root; > u32 flags, base_flags; > bool is_osc_granted = false; > + acpi_handle hdl = device->handle; > > root = kzalloc(sizeof(struct acpi_pci_root), GFP_KERNEL); > if (!root) > return -ENOMEM; > > segment = 0; > - status = acpi_evaluate_integer(device->handle, METHOD_NAME__SEG, NULL, > - &segment); > + status = acpi_evaluate_integer(hdl, METHOD_NAME__SEG, NULL, &segment); > if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { > - printk(KERN_ERR PREFIX "can't evaluate _SEG\n"); > + acpi_handle_err(hdl, "can't evaluate _SEG\n"); > result = -ENODEV; > goto end; > } > > /* Check _CRS first, then _BBN. If no _BBN, default to zero. */ > root->secondary.flags = IORESOURCE_BUS; > - status = try_get_root_bridge_busnr(device->handle, &root->secondary); > + status = try_get_root_bridge_busnr(hdl, &root->secondary); > if (ACPI_FAILURE(status)) { > /* > * We need both the start and end of the downstream bus range > @@ -404,16 +404,16 @@ static int acpi_pci_root_add(struct acpi_device *device, > * can do is assume [_BBN-0xFF] or [0-0xFF]. > */ > root->secondary.end = 0xFF; > - printk(KERN_WARNING FW_BUG PREFIX > - "no secondary bus range in _CRS\n"); > - status = acpi_evaluate_integer(device->handle, METHOD_NAME__BBN, > + acpi_handle_warn(hdl, > + FW_BUG "no secondary bus range in _CRS\n"); > + status = acpi_evaluate_integer(hdl, METHOD_NAME__BBN, > NULL, &bus); > if (ACPI_SUCCESS(status)) > root->secondary.start = bus; > else if (status == AE_NOT_FOUND) > root->secondary.start = 0; > else { > - printk(KERN_ERR PREFIX "can't evaluate _BBN\n"); > + acpi_handle_err(hdl, "can't evaluate _BBN\n"); > result = -ENODEV; > goto end; > } > @@ -425,11 +425,11 @@ static int acpi_pci_root_add(struct acpi_device *device, > strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS); > device->driver_data = root; > > - printk(KERN_INFO PREFIX "%s [%s] (domain %04x %pR)\n", > + pr_info(PREFIX "%s [%s] (domain %04x %pR)\n", > acpi_device_name(device), acpi_device_bid(device), > root->segment, &root->secondary); > > - root->mcfg_addr = acpi_pci_root_get_mcfg_addr(device->handle); > + root->mcfg_addr = acpi_pci_root_get_mcfg_addr(hdl); > > /* > * All supported architectures that use ACPI have support for > @@ -473,7 +473,7 @@ static int acpi_pci_root_add(struct acpi_device *device, > dev_info(&device->dev, > "Requesting ACPI _OSC control (0x%02x)\n", flags); > > - status = acpi_pci_osc_control_set(device->handle, &flags, > + status = acpi_pci_osc_control_set(hdl, &flags, > OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL); > if (ACPI_SUCCESS(status)) { > is_osc_granted = true; > @@ -505,9 +505,9 @@ static int acpi_pci_root_add(struct acpi_device *device, > */ > root->bus = pci_acpi_scan_root(root); > if (!root->bus) { > - printk(KERN_ERR PREFIX > - "Bus %04x:%02x not present in PCI namespace\n", > - root->segment, (unsigned int)root->secondary.start); > + acpi_handle_err(hdl, > + "Bus %04x:%02x not present in PCI namespace\n", > + root->segment, (unsigned int)root->secondary.start); > result = -ENODEV; > goto end; > } > @@ -517,8 +517,8 @@ static int acpi_pci_root_add(struct acpi_device *device, > if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) > pcie_clear_aspm(root->bus); > } else { > - pr_info("ACPI _OSC control for PCIe not granted, " > - "disabling ASPM\n"); > + acpi_handle_info(hdl, > + "ACPI _OSC control for PCIe not granted, disabling ASPM\n"); > pcie_no_aspm(); > } > > @@ -571,12 +571,13 @@ static void handle_root_bridge_insertion(acpi_handle handle) > struct acpi_device *device; > > if (!acpi_bus_get_device(handle, &device)) { > - printk(KERN_DEBUG "acpi device exists...\n"); > + acpi_handle_printk(KERN_DEBUG, handle, > + "acpi device exists...\n"); > return; > } > > if (acpi_bus_scan(handle)) > - printk(KERN_ERR "cannot add bridge to acpi list\n"); > + acpi_handle_err(handle, "cannot add bridge to acpi list\n"); > } > > static void handle_root_bridge_removal(struct acpi_device *device) > @@ -602,7 +603,6 @@ static void handle_root_bridge_removal(struct acpi_device *device) > static void _handle_hotplug_event_root(struct work_struct *work) > { > struct acpi_pci_root *root; > - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER }; > struct acpi_hp_work *hp_work; > acpi_handle handle; > u32 type; > @@ -613,13 +613,11 @@ static void _handle_hotplug_event_root(struct work_struct *work) > > root = acpi_pci_find_root(handle); > > - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); > - > switch (type) { > case ACPI_NOTIFY_BUS_CHECK: > /* bus enumerate */ > - printk(KERN_DEBUG "%s: Bus check notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Bus check notify on %s\n", __func__); > if (!root) > handle_root_bridge_insertion(handle); > > @@ -627,27 +625,26 @@ static void _handle_hotplug_event_root(struct work_struct *work) > > case ACPI_NOTIFY_DEVICE_CHECK: > /* device check */ > - printk(KERN_DEBUG "%s: Device check notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Device check notify on %s\n", __func__); > if (!root) > handle_root_bridge_insertion(handle); > break; > > case ACPI_NOTIFY_EJECT_REQUEST: > /* request device eject */ > - printk(KERN_DEBUG "%s: Device eject notify on %s\n", __func__, > - (char *)buffer.pointer); > + acpi_handle_printk(KERN_DEBUG, handle, > + "Device eject notify on %s\n", __func__); > if (root) > handle_root_bridge_removal(root->device); > break; > default: > - printk(KERN_WARNING "notify_handler: unknown event type 0x%x for %s\n", > - type, (char *)buffer.pointer); > + acpi_handle_warn(handle, > + "notify_handler: unknown event type 0x%xn", type); Here may be "0x%x\n". A better way I think is that we can change the format string of printk in acpi_handle_printk() from "%sACPI: %s: %pV" to "%sACPI: %s: %pV \n", so that there is no need to append the '\n' in the format string when we call acpi_handle_printk(). Thanks, Gu > break; > } > > kfree(hp_work); /* allocated in handle_hotplug_event_bridge */ > - kfree(buffer.pointer); > } > > static void handle_hotplug_event_root(acpi_handle handle, u32 type, > @@ -661,9 +658,6 @@ static acpi_status __init > find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) > { > acpi_status status; > - char objname[64]; > - struct acpi_buffer buffer = { .length = sizeof(objname), > - .pointer = objname }; > int *count = (int *)context; > > if (!acpi_is_root_bridge(handle)) > @@ -671,16 +665,15 @@ find_root_bridges(acpi_handle handle, u32 lvl, void *context, void **rv) > > (*count)++; > > - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer); > - > status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, > handle_hotplug_event_root, NULL); > if (ACPI_FAILURE(status)) > - printk(KERN_DEBUG "acpi root: %s notify handler is not installed, exit status: %u\n", > - objname, (unsigned int)status); > + acpi_handle_printk(KERN_DEBUG, handle, > + "notify handler is not installed, exit status: %u\n", > + (unsigned int)status); > else > - printk(KERN_DEBUG "acpi root: %s notify handler is installed\n", > - objname); > + acpi_handle_printk(KERN_DEBUG, handle, > + "notify handler is installed\n"); > > return AE_OK; > } ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-05-14 12:53 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1368461313-4371-1-git-send-email-jiang.liu@huawei.com>
2013-05-13 16:08 ` [PATCH v2, part 1 5/9] ACPI, PCI: remove unused global list acpi_pci_roots in pci_root.c Jiang Liu
2013-05-13 23:28 ` Rafael J. Wysocki
2013-05-14 12:41 ` Liu Jiang
2013-05-14 13:01 ` Rafael J. Wysocki
2013-05-13 16:08 ` [PATCH v2, part 1 6/9] ACPI, pci_root: use acpi_handle_print() and pr_xxx() to print messages Jiang Liu
2013-05-13 23:27 ` Rafael J. Wysocki
2013-05-14 12:46 ` Liu Jiang
2013-05-14 8:43 ` Gu Zheng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox