Re: [PATCH 5/7] x86/PCI: print resources consistently with %pRt

From: Bjorn Helgaas
Date: Wed Oct 07 2009 - 15:17:00 EST


On Wednesday 07 October 2009 12:43:09 pm Yinghai Lu wrote:
> On Tue, Oct 6, 2009 at 2:33 PM, Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote:
> > This uses %pRt to print additional resource information (type, size,
> > prefetchability, etc.) consistently.
> >
> > Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
> > ---
> >  arch/x86/pci/acpi.c |   14 +++++++++++---
> >  arch/x86/pci/i386.c |   12 +++++-------
> >  2 files changed, 16 insertions(+), 10 deletions(-)
> >
> > diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
> > index 2297280..4d4f1df 100644
> > --- a/arch/x86/pci/acpi.c
> > +++ b/arch/x86/pci/acpi.c
> > @@ -7,6 +7,7 @@
> >  #include <asm/pci_x86.h>
> >
> >  struct pci_root_info {
> > +       struct acpi_device *bridge;
> >        char *name;
> >        unsigned int res_num;
> >        struct resource *res;
> > @@ -107,12 +108,18 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
> >        res->child = NULL;
> >
> >        if (insert_resource(root, res)) {
> > -               printk(KERN_ERR "PCI: Failed to allocate 0x%lx-0x%lx "
> > -                       "from %s for %s\n", (unsigned long) res->start,
> > -                       (unsigned long) res->end, root->name, info->name);
> > +               dev_err(&info->bridge->dev, "can't allocate %pRt\n", res);
>
> better to keep that root name ?

The message changes like this:

-PCI: Failed to allocate to allocate 0x0-0x3fff from PCI IO for PCI Bus 0000:00
+pci_root PNP0A03:01: can't allocate [io 0x0000-0x3fff]

I don't think changing "PCI IO" to "io" is really a problem. In fact,
strictly speaking, "PCI IO" is the wrong name for ioport_resource --
we're talking about a host bridge, and the upstream side is not PCI
at all.

However, I do think it would be more useful to mention the fact that
we failed to allocate a *window*, e.g.,

pci_root PNP0A03:00: can't allocate host bridge window [io 0x0000-0x3fff]

I did consider keeping the PCI bus ("0000:00"), but I decided we
already have that information here:

ACPI: PCI Root Bridge [PCI0] (0000:00)

and it doesn't seem worthwhile to me to repeat the bus number in all
the host bridge-related messages. Right now, there's nothing to tie
the PCI0 to the PNP0A03:00 (and "PCI0" shouldn't be exposed to users
anyway), but someday when I finally convince Len to use dev_printk
in ACPI, it could look something like this:

pci_root PNP0A03:00: PCI host bridge to pci_bus 0000:00

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/