diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2012-01-29 17:29:10 -0500 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2012-01-31 16:21:19 -0500 |
commit | 1e05b62ae4bd4c1209229de367b0989b39644f88 (patch) | |
tree | 471e9008bd8a4501c89cbd113b209f46f2d72285 | |
parent | 0f3b3956c4946a6a991974943e3de33ae3d2523f (diff) |
sh: use the the PCI channels's io_map_base
commit 43db595e8b5d78ce5ad2feab719814a76e3ad2e5
(sh: switch to GENERIC_PCI_IOMAP)
failed to take into account the PCI channels's
io_map_base for mapping IO BARs.
This also caused a new warning on sh.
Fix this, without re-introducing code duplication,
by setting NO_GENERIC_PCI_IOPORT_MAP
and supplying a sh-specific __pci_ioport_map.
Reported-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | arch/sh/Kconfig | 1 | ||||
-rw-r--r-- | arch/sh/drivers/pci/pci.c | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 3c8db65c89e5..713fb58ca507 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -859,6 +859,7 @@ config PCI | |||
859 | depends on SYS_SUPPORTS_PCI | 859 | depends on SYS_SUPPORTS_PCI |
860 | select PCI_DOMAINS | 860 | select PCI_DOMAINS |
861 | select GENERIC_PCI_IOMAP | 861 | select GENERIC_PCI_IOMAP |
862 | select NO_GENERIC_PCI_IOPORT_MAP | ||
862 | help | 863 | help |
863 | Find out whether you have a PCI motherboard. PCI is the name of a | 864 | Find out whether you have a PCI motherboard. PCI is the name of a |
864 | bus system, i.e. the way the CPU talks to the other stuff inside | 865 | bus system, i.e. the way the CPU talks to the other stuff inside |
diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c index 8f18dd090a66..1e7b0e2e764d 100644 --- a/arch/sh/drivers/pci/pci.c +++ b/arch/sh/drivers/pci/pci.c | |||
@@ -356,8 +356,8 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | |||
356 | 356 | ||
357 | #ifndef CONFIG_GENERIC_IOMAP | 357 | #ifndef CONFIG_GENERIC_IOMAP |
358 | 358 | ||
359 | static void __iomem *ioport_map_pci(struct pci_dev *dev, | 359 | void __iomem *__pci_ioport_map(struct pci_dev *dev, |
360 | unsigned long port, unsigned int nr) | 360 | unsigned long port, unsigned int nr) |
361 | { | 361 | { |
362 | struct pci_channel *chan = dev->sysdata; | 362 | struct pci_channel *chan = dev->sysdata; |
363 | 363 | ||