lkml.org 
[lkml]   [2018]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 16/22] sh: simplify get_arch_dma_ops
    Date
    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>
    ---
    arch/sh/include/asm/dma-mapping.h | 5 ++---
    arch/sh/kernel/dma-nommu.c | 8 +-------
    arch/sh/mm/consistent.c | 3 ---
    arch/sh/mm/init.c | 10 ----------
    4 files changed, 3 insertions(+), 23 deletions(-)

    diff --git a/arch/sh/include/asm/dma-mapping.h b/arch/sh/include/asm/dma-mapping.h
    index 41167931e5d9..149e71f95be7 100644
    --- a/arch/sh/include/asm/dma-mapping.h
    +++ b/arch/sh/include/asm/dma-mapping.h
    @@ -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,
    diff --git a/arch/sh/kernel/dma-nommu.c b/arch/sh/kernel/dma-nommu.c
    index 2077cfe73cc6..c0fff676e2e4 100644
    --- a/arch/sh/kernel/dma-nommu.c
    +++ b/arch/sh/kernel/dma-nommu.c
    @@ -76,10 +76,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);
    diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c
    index a7bff3f29c2b..af2f28572119 100644
    --- a/arch/sh/mm/consistent.c
    +++ b/arch/sh/mm/consistent.c
    @@ -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)
    diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
    index ce0bbaa7e404..32e09f03e6bf 100644
    --- a/arch/sh/mm/init.c
    +++ b/arch/sh/mm/init.c
    @@ -395,22 +395,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,
    --
    2.17.0
    \
     
     \ /
      Last update: 2018-04-20 10:09    [W:4.074 / U:1.656 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site