Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a21a2fd4 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

sparc: switch to GENERIC_PCI_IOMAP



sparc copied pci_iomap from generic code, probably to avoid
pulling the rest of iomap.c in.  Since that's in
a separate file now, we can reuse the common implementation.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 43db595e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ config SPARC
	select HAVE_GENERIC_HARDIRQS
	select GENERIC_IRQ_SHOW
	select USE_GENERIC_SMP_HELPERS if SMP
	select GENERIC_PCI_IOMAP

config SPARC32
	def_bool !64BIT
+1 −1
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

#include <asm/page.h>      /* IO address mapping routines need this */
#include <asm/system.h>
#include <asm-generic/pci_iomap.h>

#define page_to_phys(page)	(page_to_pfn(page) << PAGE_SHIFT)

@@ -324,7 +325,6 @@ extern void ioport_unmap(void __iomem *);

/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
struct pci_dev;
extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
extern void pci_iounmap(struct pci_dev *dev, void __iomem *);

/*
+1 −1
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#include <asm/page.h>      /* IO address mapping routines need this */
#include <asm/system.h>
#include <asm/asi.h>
#include <asm-generic/pci_iomap.h>

/* PC crapola... */
#define __SLOW_DOWN_IO	do { } while (0)
@@ -514,7 +515,6 @@ extern void ioport_unmap(void __iomem *);

/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
struct pci_dev;
extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
extern void pci_iounmap(struct pci_dev *dev, void __iomem *);

static inline int sbus_can_dma_64bit(void)
+0 −23
Original line number Diff line number Diff line
@@ -18,31 +18,8 @@ void ioport_unmap(void __iomem *addr)
EXPORT_SYMBOL(ioport_map);
EXPORT_SYMBOL(ioport_unmap);

/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
{
	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 || !start)
		return NULL;
	if (maxlen && len > maxlen)
		len = maxlen;
	if (flags & IORESOURCE_IO)
		return ioport_map(start, len);
	if (flags & IORESOURCE_MEM) {
		if (flags & IORESOURCE_CACHEABLE)
			return ioremap(start, len);
		return ioremap_nocache(start, len);
	}
	/* What? */
	return NULL;
}

void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
{
	/* nothing to do */
}
EXPORT_SYMBOL(pci_iomap);
EXPORT_SYMBOL(pci_iounmap);