git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'linux-2.6'
[safe/jmp/linux-2.6]
/
arch
/
powerpc
/
kernel
/
iomap.c
diff --git
a/arch/powerpc/kernel/iomap.c
b/arch/powerpc/kernel/iomap.c
index
6160c8d
..
1577434
100644
(file)
--- a/
arch/powerpc/kernel/iomap.c
+++ b/
arch/powerpc/kernel/iomap.c
@@
-1,6
+1,4
@@
/*
/*
- * arch/ppc64/kernel/iomap.c
- *
* ppc64 "iomap" interface implementation.
*
* (C) Copyright 2004 Linus Torvalds
* ppc64 "iomap" interface implementation.
*
* (C) Copyright 2004 Linus Torvalds
@@
-9,28
+7,29
@@
#include <linux/pci.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <linux/pci.h>
#include <linux/mm.h>
#include <asm/io.h>
+#include <asm/pci-bridge.h>
/*
* Here comes the ppc64 implementation of the IOMAP
* interfaces.
*/
/*
* Here comes the ppc64 implementation of the IOMAP
* interfaces.
*/
-unsigned int
fastcall
ioread8(void __iomem *addr)
+unsigned int ioread8(void __iomem *addr)
{
return readb(addr);
}
{
return readb(addr);
}
-unsigned int
fastcall
ioread16(void __iomem *addr)
+unsigned int ioread16(void __iomem *addr)
{
return readw(addr);
}
{
return readw(addr);
}
-unsigned int
fastcall
ioread16be(void __iomem *addr)
+unsigned int ioread16be(void __iomem *addr)
{
return in_be16(addr);
}
{
return in_be16(addr);
}
-unsigned int
fastcall
ioread32(void __iomem *addr)
+unsigned int ioread32(void __iomem *addr)
{
return readl(addr);
}
{
return readl(addr);
}
-unsigned int
fastcall
ioread32be(void __iomem *addr)
+unsigned int ioread32be(void __iomem *addr)
{
return in_be32(addr);
}
{
return in_be32(addr);
}
@@
-40,23
+39,23
@@
EXPORT_SYMBOL(ioread16be);
EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be);
EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be);
-void
fastcall
iowrite8(u8 val, void __iomem *addr)
+void iowrite8(u8 val, void __iomem *addr)
{
writeb(val, addr);
}
{
writeb(val, addr);
}
-void
fastcall
iowrite16(u16 val, void __iomem *addr)
+void iowrite16(u16 val, void __iomem *addr)
{
writew(val, addr);
}
{
writew(val, addr);
}
-void
fastcall
iowrite16be(u16 val, void __iomem *addr)
+void iowrite16be(u16 val, void __iomem *addr)
{
out_be16(addr, val);
}
{
out_be16(addr, val);
}
-void
fastcall
iowrite32(u32 val, void __iomem *addr)
+void iowrite32(u32 val, void __iomem *addr)
{
writel(val, addr);
}
{
writel(val, addr);
}
-void
fastcall
iowrite32be(u32 val, void __iomem *addr)
+void iowrite32be(u32 val, void __iomem *addr)
{
out_be32(addr, val);
}
{
out_be32(addr, val);
}
@@
-108,9
+107,7
@@
EXPORT_SYMBOL(iowrite32_rep);
void __iomem *ioport_map(unsigned long port, unsigned int len)
{
void __iomem *ioport_map(unsigned long port, unsigned int len)
{
- if (!_IO_IS_VALID(port))
- return NULL;
- return (void __iomem *) (port+pci_io_base);
+ return (void __iomem *) (port + _IO_BASE);
}
void ioport_unmap(void __iomem *addr)
}
void ioport_unmap(void __iomem *addr)
@@
-122,8
+119,8
@@
EXPORT_SYMBOL(ioport_unmap);
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
{
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
{
-
unsigned long
start = pci_resource_start(dev, bar);
-
unsigned long
len = pci_resource_len(dev, bar);
+
resource_size_t
start = pci_resource_start(dev, bar);
+
resource_size_t
len = pci_resource_len(dev, bar);
unsigned long flags = pci_resource_flags(dev, bar);
if (!len)
unsigned long flags = pci_resource_flags(dev, bar);
if (!len)
@@
-140,7
+137,12
@@
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
{
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
{
- /* Nothing to do */
+ if (isa_vaddr_is_ioport(addr))
+ return;
+ if (pcibios_vaddr_is_ioport(addr))
+ return;
+ iounmap(addr);
}
}
+
EXPORT_SYMBOL(pci_iomap);
EXPORT_SYMBOL(pci_iounmap);
EXPORT_SYMBOL(pci_iomap);
EXPORT_SYMBOL(pci_iounmap);