lkml.org 
[lkml]   [2012]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/3] mips: use the the PCI controller's io_map_base
    commit eab90291d35438bcebf7c3dc85be66d0f24e3002
    failed to take into account the PCI controller's
    io_map_base for mapping IO BARs.
    This also caused a new warning on mips.

    Fix this, without re-introducing code duplication,
    by setting NO_GENERIC_PCI_IOPORT_MAP
    and supplying a mips-specific __pci_ioport_map.

    Reported-by: Kevin Cernekee <cernekee@gmail.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    ---
    arch/mips/Kconfig | 1 +
    arch/mips/lib/iomap-pci.c | 4 ++--
    2 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
    index c4c1312..5ab6e89 100644
    --- a/arch/mips/Kconfig
    +++ b/arch/mips/Kconfig
    @@ -2356,6 +2356,7 @@ config PCI
    depends on HW_HAS_PCI
    select PCI_DOMAINS
    select GENERIC_PCI_IOMAP
    + select NO_GENERIC_PCI_IOPORT_MAP
    help
    Find out whether you have a PCI motherboard. PCI is the name of a
    bus system, i.e. the way the CPU talks to the other stuff inside
    diff --git a/arch/mips/lib/iomap-pci.c b/arch/mips/lib/iomap-pci.c
    index 2635b1a..fd35daa 100644
    --- a/arch/mips/lib/iomap-pci.c
    +++ b/arch/mips/lib/iomap-pci.c
    @@ -10,8 +10,8 @@
    #include <linux/module.h>
    #include <asm/io.h>

    -static void __iomem *ioport_map_pci(struct pci_dev *dev,
    - unsigned long port, unsigned int nr)
    +void __iomem *__pci_ioport_map(struct pci_dev *dev,
    + unsigned long port, unsigned int nr)
    {
    struct pci_controller *ctrl = dev->bus->sysdata;
    unsigned long base = ctrl->io_map_base;
    --
    1.7.8.2.325.g247f9


    \
     
     \ /
      Last update: 2012-01-30 13:19    [W:0.032 / U:0.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site