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

Commit e257ad06 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Kill off virt_to_bus()/bus_to_virt().



Wire up ARCH_NO_VIRT_TO_BUS, and kill off the remaining users. The
dma-mapping code really wanted virt_to_phys()/phys_to_virt() anyways,
there are no inherently special bus addresses.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 0fbde950
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -90,6 +90,9 @@ config ARCH_HAS_ILOG2_U64
	bool
	default n

config ARCH_NO_VIRT_TO_BUS
	def_bool y

source "init/Kconfig"

menu "System type"
+4 −4
Original line number Diff line number Diff line
@@ -69,11 +69,11 @@ static inline dma_addr_t dma_map_single(struct device *dev,
{
#if defined(CONFIG_PCI) && !defined(CONFIG_SH_PCIDMA_NONCOHERENT)
	if (dev->bus == &pci_bus_type)
		return virt_to_bus(ptr);
		return virt_to_phys(ptr);
#endif
	dma_cache_sync(dev, ptr, size, dir);

	return virt_to_bus(ptr);
	return virt_to_phys(ptr);
}

#define dma_unmap_single(dev, addr, size, dir)	do { } while (0)
@@ -116,7 +116,7 @@ static inline void dma_sync_single(struct device *dev, dma_addr_t dma_handle,
	if (dev->bus == &pci_bus_type)
		return;
#endif
	dma_cache_sync(dev, bus_to_virt(dma_handle), size, dir);
	dma_cache_sync(dev, phys_to_virt(dma_handle), size, dir);
}

static inline void dma_sync_single_range(struct device *dev,
@@ -128,7 +128,7 @@ static inline void dma_sync_single_range(struct device *dev,
	if (dev->bus == &pci_bus_type)
		return;
#endif
	dma_cache_sync(dev, bus_to_virt(dma_handle) + offset, size, dir);
	dma_cache_sync(dev, phys_to_virt(dma_handle) + offset, size, dir);
}

static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg,
+2 −2
Original line number Diff line number Diff line
@@ -181,7 +181,7 @@ static void _fd_chose_dma_mode(char *addr, unsigned long size)
{
	if(can_use_virtual_dma == 2) {
		if((unsigned int) addr >= (unsigned int) high_memory ||
		   virt_to_bus(addr) >= 0x10000000)
		   virt_to_phys(addr) >= 0x10000000)
			use_virtual_dma = 1;
		else
			use_virtual_dma = 0;
@@ -219,7 +219,7 @@ static int hard_dma_setup(char *addr, unsigned long size, int mode, int io)
	doing_pdma = 0;
	clear_dma_ff(FLOPPY_DMA);
	set_dma_mode(FLOPPY_DMA,mode);
	set_dma_addr(FLOPPY_DMA,virt_to_bus(addr));
	set_dma_addr(FLOPPY_DMA,virt_to_phys(addr));
	set_dma_count(FLOPPY_DMA,size);
	enable_dma(FLOPPY_DMA);
	return 0;
+0 −4
Original line number Diff line number Diff line
@@ -241,10 +241,6 @@ static inline void *phys_to_virt(unsigned long address)
#define virt_to_phys(address)	((unsigned long)(address))
#endif

#define virt_to_bus virt_to_phys
#define bus_to_virt phys_to_virt
#define page_to_bus page_to_phys

/*
 * readX/writeX() are used to access memory mapped devices. On some
 * architectures the memory mapped IO stuff needs to be accessed