sh: simplify get_arch_dma_ops

Remove the indirection through the dma_ops variable, and just return
nommu_dma_ops directly from get_arch_dma_ops.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Yoshinori Sato <ysato@users.sourceforge.jp>
This commit is contained in:
Christoph Hellwig 2018-04-16 17:26:38 +02:00
parent 4d8bde883b
commit b2fcb677d4
4 changed files with 3 additions and 23 deletions

View File

@ -2,12 +2,11 @@
#ifndef __ASM_SH_DMA_MAPPING_H
#define __ASM_SH_DMA_MAPPING_H
extern const struct dma_map_ops *dma_ops;
extern void no_iommu_init(void);
extern const struct dma_map_ops nommu_dma_ops;
static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
{
return dma_ops;
return &nommu_dma_ops;
}
extern void *dma_generic_alloc_coherent(struct device *dev, size_t size,

View File

@ -79,10 +79,4 @@ const struct dma_map_ops nommu_dma_ops = {
.sync_sg_for_device = nommu_sync_sg_for_device,
#endif
};
void __init no_iommu_init(void)
{
if (dma_ops)
return;
dma_ops = &nommu_dma_ops;
}
EXPORT_SYMBOL(nommu_dma_ops);

View File

@ -20,9 +20,6 @@
#include <asm/cacheflush.h>
#include <asm/addrspace.h>
const struct dma_map_ops *dma_ops;
EXPORT_SYMBOL(dma_ops);
void *dma_generic_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t gfp,
unsigned long attrs)

View File

@ -339,22 +339,12 @@ void __init paging_init(void)
free_area_init_nodes(max_zone_pfns);
}
/*
* Early initialization for any I/O MMUs we might have.
*/
static void __init iommu_init(void)
{
no_iommu_init();
}
unsigned int mem_init_done = 0;
void __init mem_init(void)
{
pg_data_t *pgdat;
iommu_init();
high_memory = NULL;
for_each_online_pgdat(pgdat)
high_memory = max_t(void *, high_memory,