mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
remove ioremap_nocache and devm_ioremap_nocache
ioremap has provided non-cached semantics by default since the Linux 2.6 days, so remove the additional ioremap_nocache interface. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -313,7 +313,6 @@ IOMAP
|
||||
devm_ioport_map()
|
||||
devm_ioport_unmap()
|
||||
devm_ioremap()
|
||||
devm_ioremap_nocache()
|
||||
devm_ioremap_uc()
|
||||
devm_ioremap_wc()
|
||||
devm_ioremap_resource() : checks resource, requests memory region, ioremaps
|
||||
|
||||
@@ -1058,7 +1058,7 @@ and the allocation would be like below:
|
||||
return err;
|
||||
}
|
||||
chip->iobase_phys = pci_resource_start(pci, 0);
|
||||
chip->iobase_virt = ioremap_nocache(chip->iobase_phys,
|
||||
chip->iobase_virt = ioremap(chip->iobase_phys,
|
||||
pci_resource_len(pci, 0));
|
||||
|
||||
and the corresponding destructor would be:
|
||||
|
||||
@@ -44,8 +44,6 @@ address range to avoid any aliasing.
|
||||
+------------------------+----------+--------------+------------------+
|
||||
| ioremap_uc | -- | UC | UC |
|
||||
+------------------------+----------+--------------+------------------+
|
||||
| ioremap_nocache | -- | UC- | UC- |
|
||||
+------------------------+----------+--------------+------------------+
|
||||
| ioremap_wc | -- | -- | WC |
|
||||
+------------------------+----------+--------------+------------------+
|
||||
| ioremap_wt | -- | -- | WT |
|
||||
|
||||
@@ -283,14 +283,8 @@ static inline void __iomem *ioremap(unsigned long port, unsigned long size)
|
||||
return IO_CONCAT(__IO_PREFIX,ioremap) (port, size);
|
||||
}
|
||||
|
||||
static inline void __iomem * ioremap_nocache(unsigned long offset,
|
||||
unsigned long size)
|
||||
{
|
||||
return ioremap(offset, size);
|
||||
}
|
||||
|
||||
#define ioremap_wc ioremap_nocache
|
||||
#define ioremap_uc ioremap_nocache
|
||||
#define ioremap_wc ioremap
|
||||
#define ioremap_uc ioremap
|
||||
|
||||
static inline void iounmap(volatile void __iomem *addr)
|
||||
{
|
||||
|
||||
@@ -356,7 +356,6 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
||||
*
|
||||
* Function Memory type Cacheability Cache hint
|
||||
* ioremap() Device n/a n/a
|
||||
* ioremap_nocache() Device n/a n/a
|
||||
* ioremap_cache() Normal Writeback Read allocate
|
||||
* ioremap_wc() Normal Non-cacheable n/a
|
||||
* ioremap_wt() Normal Non-cacheable n/a
|
||||
@@ -368,13 +367,6 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
|
||||
* - unaligned accesses are "unpredictable"
|
||||
* - writes may be delayed before they hit the endpoint device
|
||||
*
|
||||
* ioremap_nocache() is the same as ioremap() as there are too many device
|
||||
* drivers using this for device registers, and documentation which tells
|
||||
* people to use it for such for this to be any different. This is not a
|
||||
* safe fallback for memory-like mappings, or memory regions where the
|
||||
* compiler may generate unaligned accesses - eg, via inlining its own
|
||||
* memcpy.
|
||||
*
|
||||
* All normal memory mappings have the following properties:
|
||||
* - reads can be repeated with no side effects
|
||||
* - repeated reads return the last value written
|
||||
|
||||
@@ -105,7 +105,7 @@ static int nsp_write_lut(unsigned int cpu)
|
||||
if (!secondary_boot_addr)
|
||||
return -EINVAL;
|
||||
|
||||
sku_rom_lut = ioremap_nocache((phys_addr_t)secondary_boot_addr,
|
||||
sku_rom_lut = ioremap((phys_addr_t)secondary_boot_addr,
|
||||
sizeof(phys_addr_t));
|
||||
if (!sku_rom_lut) {
|
||||
pr_warn("unable to ioremap SKU-ROM LUT register for cpu %u\n", cpu);
|
||||
@@ -174,7 +174,7 @@ static int kona_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
if (!secondary_boot_addr)
|
||||
return -EINVAL;
|
||||
|
||||
boot_reg = ioremap_nocache((phys_addr_t)secondary_boot_addr,
|
||||
boot_reg = ioremap((phys_addr_t)secondary_boot_addr,
|
||||
sizeof(phys_addr_t));
|
||||
if (!boot_reg) {
|
||||
pr_err("unable to map boot register for cpu %u\n", cpu_id);
|
||||
|
||||
@@ -34,7 +34,7 @@ void __iomem *davinci_sysmod_base;
|
||||
|
||||
void davinci_map_sysmod(void)
|
||||
{
|
||||
davinci_sysmod_base = ioremap_nocache(DAVINCI_SYSTEM_MODULE_BASE,
|
||||
davinci_sysmod_base = ioremap(DAVINCI_SYSTEM_MODULE_BASE,
|
||||
0x800);
|
||||
/*
|
||||
* Throw a bug since a lot of board initialization code depends
|
||||
|
||||
@@ -1008,7 +1008,7 @@ static void __init magician_init(void)
|
||||
pxa_set_udc_info(&magician_udc_info);
|
||||
|
||||
/* Check LCD type we have */
|
||||
cpld = ioremap_nocache(PXA_CS3_PHYS, 0x1000);
|
||||
cpld = ioremap(PXA_CS3_PHYS, 0x1000);
|
||||
if (cpld) {
|
||||
u8 board_id = __raw_readb(cpld + 0x14);
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ static void apmu_init_cpu(struct resource *res, int cpu, int bit)
|
||||
if ((cpu >= ARRAY_SIZE(apmu_cpus)) || apmu_cpus[cpu].iomem)
|
||||
return;
|
||||
|
||||
apmu_cpus[cpu].iomem = ioremap_nocache(res->start, resource_size(res));
|
||||
apmu_cpus[cpu].iomem = ioremap(res->start, resource_size(res));
|
||||
apmu_cpus[cpu].bit = bit;
|
||||
|
||||
pr_debug("apmu ioremap %d %d %pr\n", cpu, bit, res);
|
||||
|
||||
@@ -103,7 +103,7 @@ map:
|
||||
iounmap(p);
|
||||
|
||||
/* setup reset vectors */
|
||||
p = ioremap_nocache(RST, 0x63);
|
||||
p = ioremap(RST, 0x63);
|
||||
bar = phys_to_sbar(res.start);
|
||||
if (has_a15) {
|
||||
writel_relaxed(bar, p + CA15BAR);
|
||||
|
||||
@@ -28,7 +28,7 @@ static void __init r8a7740_meram_workaround(void)
|
||||
{
|
||||
void __iomem *reg;
|
||||
|
||||
reg = ioremap_nocache(MEBUFCNTR, 4);
|
||||
reg = ioremap(MEBUFCNTR, 4);
|
||||
if (reg) {
|
||||
iowrite32(0x01600164, reg);
|
||||
iounmap(reg);
|
||||
@@ -37,9 +37,9 @@ static void __init r8a7740_meram_workaround(void)
|
||||
|
||||
static void __init r8a7740_init_irq_of(void)
|
||||
{
|
||||
void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10);
|
||||
void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10);
|
||||
void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4);
|
||||
void __iomem *intc_prio_base = ioremap(0xe6900010, 0x10);
|
||||
void __iomem *intc_msk_base = ioremap(0xe6900040, 0x10);
|
||||
void __iomem *pfc_inta_ctrl = ioremap(0xe605807c, 0x4);
|
||||
|
||||
irqchip_init();
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
static void __init r8a7778_init_irq_dt(void)
|
||||
{
|
||||
void __iomem *base = ioremap_nocache(0xfe700000, 0x00100000);
|
||||
void __iomem *base = ioremap(0xfe700000, 0x00100000);
|
||||
|
||||
BUG_ON(!base);
|
||||
|
||||
|
||||
@@ -172,7 +172,6 @@ static inline void writel(u32 data, volatile void __iomem *addr)
|
||||
#define writel_relaxed __raw_writel
|
||||
|
||||
void __iomem *ioremap(unsigned long phys_addr, unsigned long size);
|
||||
#define ioremap_nocache ioremap
|
||||
#define ioremap_uc(X, Y) ioremap((X), (Y))
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
extern unsigned long vga_console_iobase;
|
||||
extern unsigned long vga_console_membase;
|
||||
|
||||
#define VGA_MAP_MEM(x,s) ((unsigned long) ioremap_nocache(vga_console_membase + (x), s))
|
||||
#define VGA_MAP_MEM(x,s) ((unsigned long) ioremap(vga_console_membase + (x), s))
|
||||
|
||||
#define vga_readb(x) (*(x))
|
||||
#define vga_writeb(x,y) (*(y) = (x))
|
||||
|
||||
@@ -50,7 +50,7 @@ int __init init_cyclone_clock(void)
|
||||
|
||||
/* find base address */
|
||||
offset = (CYCLONE_CBAR_ADDR);
|
||||
reg = ioremap_nocache(offset, sizeof(u64));
|
||||
reg = ioremap(offset, sizeof(u64));
|
||||
if(!reg){
|
||||
printk(KERN_ERR "Summit chipset: Could not find valid CBAR"
|
||||
" register.\n");
|
||||
@@ -68,7 +68,7 @@ int __init init_cyclone_clock(void)
|
||||
|
||||
/* setup PMCC */
|
||||
offset = (base + CYCLONE_PMCC_OFFSET);
|
||||
reg = ioremap_nocache(offset, sizeof(u64));
|
||||
reg = ioremap(offset, sizeof(u64));
|
||||
if(!reg){
|
||||
printk(KERN_ERR "Summit chipset: Could not find valid PMCC"
|
||||
" register.\n");
|
||||
@@ -80,7 +80,7 @@ int __init init_cyclone_clock(void)
|
||||
|
||||
/* setup MPCS */
|
||||
offset = (base + CYCLONE_MPCS_OFFSET);
|
||||
reg = ioremap_nocache(offset, sizeof(u64));
|
||||
reg = ioremap(offset, sizeof(u64));
|
||||
if(!reg){
|
||||
printk(KERN_ERR "Summit chipset: Could not find valid MPCS"
|
||||
" register.\n");
|
||||
@@ -92,7 +92,7 @@ int __init init_cyclone_clock(void)
|
||||
|
||||
/* map in cyclone_timer */
|
||||
offset = (base + CYCLONE_MPMC_OFFSET);
|
||||
cyclone_timer = ioremap_nocache(offset, sizeof(u32));
|
||||
cyclone_timer = ioremap(offset, sizeof(u32));
|
||||
if(!cyclone_timer){
|
||||
printk(KERN_ERR "Summit chipset: Could not find valid MPMC"
|
||||
" register.\n");
|
||||
|
||||
@@ -27,7 +27,6 @@ static inline void __iomem *ioremap(unsigned long physaddr, unsigned long size)
|
||||
return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
|
||||
}
|
||||
|
||||
#define ioremap_nocache ioremap
|
||||
#define ioremap_uc ioremap
|
||||
#define ioremap_wt ioremap_wt
|
||||
static inline void __iomem *ioremap_wt(unsigned long physaddr,
|
||||
|
||||
@@ -236,9 +236,9 @@ static void tnetd7300_set_clock(u32 shift, struct tnetd7300_clock *clock,
|
||||
|
||||
static void __init tnetd7300_init_clocks(void)
|
||||
{
|
||||
u32 *bootcr = (u32 *)ioremap_nocache(AR7_REGS_DCL, 4);
|
||||
u32 *bootcr = (u32 *)ioremap(AR7_REGS_DCL, 4);
|
||||
struct tnetd7300_clocks *clocks =
|
||||
ioremap_nocache(UR8_REGS_CLOCKS,
|
||||
ioremap(UR8_REGS_CLOCKS,
|
||||
sizeof(struct tnetd7300_clocks));
|
||||
|
||||
bus_clk.rate = tnetd7300_get_clock(BUS_PLL_SOURCE_SHIFT,
|
||||
@@ -320,9 +320,9 @@ static int tnetd7200_get_clock_base(int clock_id, u32 *bootcr)
|
||||
|
||||
static void __init tnetd7200_init_clocks(void)
|
||||
{
|
||||
u32 *bootcr = (u32 *)ioremap_nocache(AR7_REGS_DCL, 4);
|
||||
u32 *bootcr = (u32 *)ioremap(AR7_REGS_DCL, 4);
|
||||
struct tnetd7200_clocks *clocks =
|
||||
ioremap_nocache(AR7_REGS_CLOCKS,
|
||||
ioremap(AR7_REGS_CLOCKS,
|
||||
sizeof(struct tnetd7200_clocks));
|
||||
int cpu_base, cpu_mul, cpu_prediv, cpu_postdiv;
|
||||
int dsp_base, dsp_mul, dsp_prediv, dsp_postdiv;
|
||||
|
||||
@@ -308,7 +308,7 @@ int __init ar7_gpio_init(void)
|
||||
size = 0x1f;
|
||||
}
|
||||
|
||||
gpch->regs = ioremap_nocache(AR7_REGS_GPIO, size);
|
||||
gpch->regs = ioremap(AR7_REGS_GPIO, size);
|
||||
if (!gpch->regs) {
|
||||
printk(KERN_ERR "%s: failed to ioremap regs\n",
|
||||
gpch->chip.label);
|
||||
|
||||
@@ -702,7 +702,7 @@ static int __init ar7_register_devices(void)
|
||||
pr_warn("unable to register usb slave: %d\n", res);
|
||||
|
||||
/* Register watchdog only if enabled in hardware */
|
||||
bootcr = ioremap_nocache(AR7_REGS_DCL, 4);
|
||||
bootcr = ioremap(AR7_REGS_DCL, 4);
|
||||
val = readl(bootcr);
|
||||
iounmap(bootcr);
|
||||
if (val & AR7_WDT_HW_ENA) {
|
||||
|
||||
@@ -262,7 +262,7 @@ void __init ar2315_plat_mem_setup(void)
|
||||
u32 config;
|
||||
|
||||
/* Detect memory size */
|
||||
sdram_base = ioremap_nocache(AR2315_SDRAMCTL_BASE,
|
||||
sdram_base = ioremap(AR2315_SDRAMCTL_BASE,
|
||||
AR2315_SDRAMCTL_SIZE);
|
||||
memcfg = __raw_readl(sdram_base + AR2315_MEM_CFG);
|
||||
memsize = 1 + ATH25_REG_MS(memcfg, AR2315_MEM_CFG_DATA_WIDTH);
|
||||
@@ -272,7 +272,7 @@ void __init ar2315_plat_mem_setup(void)
|
||||
add_memory_region(0, memsize, BOOT_MEM_RAM);
|
||||
iounmap(sdram_base);
|
||||
|
||||
ar2315_rst_base = ioremap_nocache(AR2315_RST_BASE, AR2315_RST_SIZE);
|
||||
ar2315_rst_base = ioremap(AR2315_RST_BASE, AR2315_RST_SIZE);
|
||||
|
||||
/* Detect the hardware based on the device ID */
|
||||
devid = ar2315_rst_reg_read(AR2315_SREV) & AR2315_REV_CHIP;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user