lkml.org 
[lkml]   [2008]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/7] frv: use generic pci_enable_resources()
    Date
    From: Bjorn Helgaas <bjorn.helgaas@hp.com>

    Use the generic pci_enable_resources() instead of the arch-specific code.

    Unlike this arch-specific code, the generic version:
    - checks PCI_NUM_RESOURCES (11), not 6, resources
    - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set
    - skips ROM resources unless IORESOURCE_ROM_ENABLE is set
    - checks for resource collisions with "!r->parent"

    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    ---

    arch/frv/mb93090-mb00/pci-frv.c | 32 --------------------------------
    arch/frv/mb93090-mb00/pci-frv.h | 1 -
    arch/frv/mb93090-mb00/pci-vdk.c | 2 +-
    3 files changed, 1 insertions(+), 34 deletions(-)


    diff --git a/arch/frv/mb93090-mb00/pci-frv.c b/arch/frv/mb93090-mb00/pci-frv.c
    index edae117..43d6753 100644
    --- a/arch/frv/mb93090-mb00/pci-frv.c
    +++ b/arch/frv/mb93090-mb00/pci-frv.c
    @@ -201,38 +201,6 @@ void __init pcibios_resource_survey(void)
    pcibios_assign_resources();
    }

    -int pcibios_enable_resources(struct pci_dev *dev, int mask)
    -{
    - u16 cmd, old_cmd;
    - int idx;
    - struct resource *r;
    -
    - pci_read_config_word(dev, PCI_COMMAND, &cmd);
    - old_cmd = cmd;
    - for(idx=0; idx<6; idx++) {
    - /* Only set up the requested stuff */
    - if (!(mask & (1<<idx)))
    - continue;
    -
    - r = &dev->resource[idx];
    - if (!r->start && r->end) {
    - printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
    - return -EINVAL;
    - }
    - if (r->flags & IORESOURCE_IO)
    - cmd |= PCI_COMMAND_IO;
    - if (r->flags & IORESOURCE_MEM)
    - cmd |= PCI_COMMAND_MEMORY;
    - }
    - if (dev->resource[PCI_ROM_RESOURCE].start)
    - cmd |= PCI_COMMAND_MEMORY;
    - if (cmd != old_cmd) {
    - printk("PCI: Enabling device %s (%04x -> %04x)\n", pci_name(dev), old_cmd, cmd);
    - pci_write_config_word(dev, PCI_COMMAND, cmd);
    - }
    - return 0;
    -}
    -
    /*
    * If we set up a device for bus mastering, we need to check the latency
    * timer as certain crappy BIOSes forget to set it properly.
    diff --git a/arch/frv/mb93090-mb00/pci-frv.h b/arch/frv/mb93090-mb00/pci-frv.h
    index 0c7bf39..f3fe559 100644
    --- a/arch/frv/mb93090-mb00/pci-frv.h
    +++ b/arch/frv/mb93090-mb00/pci-frv.h
    @@ -29,7 +29,6 @@ extern unsigned int __nongpreldata pci_probe;
    extern unsigned int pcibios_max_latency;

    void pcibios_resource_survey(void);
    -int pcibios_enable_resources(struct pci_dev *, int);

    /* pci-vdk.c */

    diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
    index f003cfa..0f41c3a 100644
    --- a/arch/frv/mb93090-mb00/pci-vdk.c
    +++ b/arch/frv/mb93090-mb00/pci-vdk.c
    @@ -412,7 +412,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
    {
    int err;

    - if ((err = pcibios_enable_resources(dev, mask)) < 0)
    + if ((err = pci_enable_resources(dev, mask)) < 0)
    return err;
    if (!dev->msi_enabled)
    pcibios_enable_irq(dev);


    \
     
     \ /
      Last update: 2008-10-15 17:53    [W:2.381 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site