From bcea1db16ba1c45ccebb3bfb8441642d1342c4d5 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 25 Dec 2007 02:20:33 -0800 Subject: [SPARC64]: Implement pci_resource_to_user() This makes libpciaccess able to mmap() resources of the device properly. Signed-off-by: David S. Miller --- arch/sparc64/kernel/pci.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'arch') diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 63b3ebc0c3c..a61c38fe75e 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -1275,4 +1275,20 @@ int pci_dma_supported(struct pci_dev *pdev, u64 device_mask) return (device_mask & dma_addr_mask) == dma_addr_mask; } +void pci_resource_to_user(const struct pci_dev *pdev, int bar, + const struct resource *rp, resource_size_t *start, + resource_size_t *end) +{ + struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller; + unsigned long offset; + + if (rp->flags & IORESOURCE_IO) + offset = pbm->io_space.start; + else + offset = pbm->mem_space.start; + + *start = rp->start - offset; + *end = rp->end - offset; +} + #endif /* !(CONFIG_PCI) */ -- cgit v1.2.3