blob: f496c96d16c641a47c41ae35089bb533dc30ff7b [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0 */
Joe Hershberger65b905b2015-03-22 17:08:59 -05002/*
3 * Copyright (c) 2015 National Instruments
4 *
5 * (C) Copyright 2015
6 * Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger65b905b2015-03-22 17:08:59 -05007 */
8
9#ifndef __MAPMEM_H
10#define __MAPMEM_H
11
12/* Define a null map_sysmem() if the architecture doesn't use it */
13# ifdef CONFIG_ARCH_MAP_SYSMEM
14#include <asm/io.h>
15# else
Tom Rinia4a8ea92023-12-14 13:16:57 -050016#include <linux/types.h>
17
Joe Hershberger65b905b2015-03-22 17:08:59 -050018static inline void *map_sysmem(phys_addr_t paddr, unsigned long len)
19{
20 return (void *)(uintptr_t)paddr;
21}
22
23static inline void unmap_sysmem(const void *vaddr)
24{
25}
26
27static inline phys_addr_t map_to_sysmem(const void *ptr)
28{
29 return (phys_addr_t)(uintptr_t)ptr;
30}
Simon Glass919f8352023-12-31 08:25:54 -070031
32/**
33 * nomap_sysmem() - pass through an address unchanged
34 *
35 * This is used to indicate an address which should NOT be mapped, e.g. in
36 * SMBIOS tables. Using this function instead of a case shows that the sandbox
37 * conversion has been done
38 */
39static inline void *nomap_sysmem(phys_addr_t paddr, unsigned long len)
40{
41 return (void *)(uintptr_t)paddr;
42}
43
44static inline phys_addr_t nomap_to_sysmem(const void *ptr)
45{
46 return (phys_addr_t)(uintptr_t)ptr;
47}
48
Joe Hershberger65b905b2015-03-22 17:08:59 -050049# endif
50
51#endif /* __MAPMEM_H */