![Russell King](/assets/img/avatar_default.png)
__ioremap() took a set of page table flags (specifically the cacheable and bufferable bits) to control the mapping type. However, with the advent of ARMv6, this is far too limited. Replace the page table flags with a memory type index, so that the desired attributes can be selected from the mem_type table. Finally, to prevent silent miscompilation due to the differing arguments, rename the __ioremap() and __ioremap_pfn() functions. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
37 lines
868 B
C
37 lines
868 B
C
/*
|
|
* linux/include/asm-arm/map.h
|
|
*
|
|
* Copyright (C) 1999-2000 Russell King
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Page table mapping constructs and function prototypes
|
|
*/
|
|
#include <asm/io.h>
|
|
|
|
struct map_desc {
|
|
unsigned long virtual;
|
|
unsigned long pfn;
|
|
unsigned long length;
|
|
unsigned int type;
|
|
};
|
|
|
|
/* types 0-3 are defined in asm/io.h */
|
|
#define MT_CACHECLEAN 4
|
|
#define MT_MINICLEAN 5
|
|
#define MT_LOW_VECTORS 6
|
|
#define MT_HIGH_VECTORS 7
|
|
#define MT_MEMORY 8
|
|
#define MT_ROM 9
|
|
|
|
#define MT_NONSHARED_DEVICE MT_DEVICE_NONSHARED
|
|
#define MT_IXP2000_DEVICE MT_DEVICE_IXP2000
|
|
|
|
#ifdef CONFIG_MMU
|
|
extern void iotable_init(struct map_desc *, int);
|
|
#else
|
|
#define iotable_init(map,num) do { } while (0)
|
|
#endif
|