Skip to content

Commit

Permalink
sh: move ioremap_fixed details out of <asm/io.h>
Browse files Browse the repository at this point in the history
ioremap_fixed is an internal implementation detail and should not be
exposed to drivers.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Rich Felker <[email protected]>
  • Loading branch information
Christoph Hellwig authored and Rich Felker committed Aug 15, 2020
1 parent e12b090 commit 3eef6b7
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 16 deletions.
16 changes: 0 additions & 16 deletions arch/sh/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -346,22 +346,6 @@ ioremap_prot(phys_addr_t offset, unsigned long size, unsigned long flags)
}
#endif

#ifdef CONFIG_IOREMAP_FIXED
extern void __iomem *ioremap_fixed(phys_addr_t, unsigned long, pgprot_t);
extern int iounmap_fixed(void __iomem *);
extern void ioremap_fixed_init(void);
#else
static inline void __iomem *
ioremap_fixed(phys_addr_t phys_addr, unsigned long size, pgprot_t prot)
{
BUG();
return NULL;
}

static inline void ioremap_fixed_init(void) { }
static inline int iounmap_fixed(void __iomem *addr) { return -EINVAL; }
#endif

#define ioremap_uc ioremap

/*
Expand Down
1 change: 1 addition & 0 deletions arch/sh/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <asm/setup.h>
#include <asm/cache.h>
#include <linux/sizes.h>
#include "ioremap.h"

pgd_t swapper_pg_dir[PTRS_PER_PGD];

Expand Down
1 change: 1 addition & 0 deletions arch/sh/mm/ioremap.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/mmu.h>
#include "ioremap.h"

/*
* Remap an arbitrary physical address space into the kernel virtual
Expand Down
23 changes: 23 additions & 0 deletions arch/sh/mm/ioremap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#ifndef _SH_MM_IORMEMAP_H
#define _SH_MM_IORMEMAP_H 1

#ifdef CONFIG_IOREMAP_FIXED
void __iomem *ioremap_fixed(phys_addr_t, unsigned long, pgprot_t);
int iounmap_fixed(void __iomem *);
void ioremap_fixed_init(void);
#else
static inline void __iomem *
ioremap_fixed(phys_addr_t phys_addr, unsigned long size, pgprot_t prot)
{
BUG();
return NULL;
}
static inline void ioremap_fixed_init(void)
{
}
static inline int iounmap_fixed(void __iomem *addr)
{
return -EINVAL;
}
#endif /* CONFIG_IOREMAP_FIXED */
#endif /* _SH_MM_IORMEMAP_H */
1 change: 1 addition & 0 deletions arch/sh/mm/ioremap_fixed.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <asm/tlbflush.h>
#include <asm/mmu.h>
#include <asm/mmu_context.h>
#include "ioremap.h"

struct ioremap_map {
void __iomem *addr;
Expand Down

0 comments on commit 3eef6b7

Please sign in to comment.