| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright 2006 PathScale, Inc. All Rights Reserved. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This file is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of version 2 of the GNU General Public License |
|---|
| 6 | | - * as published by the Free Software Foundation. |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 9 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 10 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 11 | | - * GNU General Public License for more details. |
|---|
| 12 | | - * |
|---|
| 13 | | - * You should have received a copy of the GNU General Public License |
|---|
| 14 | | - * along with this program; if not, write to the Free Software Foundation, |
|---|
| 15 | | - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. |
|---|
| 16 | 4 | */ |
|---|
| 17 | 5 | |
|---|
| 18 | 6 | #ifndef _LINUX_IO_H |
|---|
| .. | .. |
|---|
| 45 | 33 | |
|---|
| 46 | 34 | #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP |
|---|
| 47 | 35 | void __init ioremap_huge_init(void); |
|---|
| 36 | +int arch_ioremap_p4d_supported(void); |
|---|
| 48 | 37 | int arch_ioremap_pud_supported(void); |
|---|
| 49 | 38 | int arch_ioremap_pmd_supported(void); |
|---|
| 50 | 39 | #else |
|---|
| .. | .. |
|---|
| 77 | 66 | resource_size_t size); |
|---|
| 78 | 67 | void __iomem *devm_ioremap_uc(struct device *dev, resource_size_t offset, |
|---|
| 79 | 68 | resource_size_t size); |
|---|
| 80 | | -void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset, |
|---|
| 81 | | - resource_size_t size); |
|---|
| 82 | 69 | void __iomem *devm_ioremap_wc(struct device *dev, resource_size_t offset, |
|---|
| 83 | 70 | resource_size_t size); |
|---|
| 84 | 71 | void devm_iounmap(struct device *dev, void __iomem *addr); |
|---|
| .. | .. |
|---|
| 90 | 77 | size_t size, unsigned long flags); |
|---|
| 91 | 78 | void devm_memunmap(struct device *dev, void *addr); |
|---|
| 92 | 79 | |
|---|
| 93 | | -void *__devm_memremap_pages(struct device *dev, struct resource *res); |
|---|
| 94 | | - |
|---|
| 95 | 80 | #ifdef CONFIG_PCI |
|---|
| 96 | 81 | /* |
|---|
| 97 | 82 | * The PCI specifications (Rev 3.0, 3.2.5 "Transaction Ordering and |
|---|
| 98 | 83 | * Posting") mandate non-posted configuration transactions. There is |
|---|
| 99 | 84 | * no ioremap API in the kernel that can guarantee non-posted write |
|---|
| 100 | 85 | * semantics across arches so provide a default implementation for |
|---|
| 101 | | - * mapping PCI config space that defaults to ioremap_nocache(); arches |
|---|
| 86 | + * mapping PCI config space that defaults to ioremap(); arches |
|---|
| 102 | 87 | * should override it if they have memory mapping implementations that |
|---|
| 103 | 88 | * guarantee non-posted writes semantics to make the memory mapping |
|---|
| 104 | 89 | * compliant with the PCI specification. |
|---|
| .. | .. |
|---|
| 108 | 93 | static inline void __iomem *pci_remap_cfgspace(phys_addr_t offset, |
|---|
| 109 | 94 | size_t size) |
|---|
| 110 | 95 | { |
|---|
| 111 | | - return ioremap_nocache(offset, size); |
|---|
| 96 | + return ioremap(offset, size); |
|---|
| 112 | 97 | } |
|---|
| 113 | 98 | #endif |
|---|
| 114 | 99 | #endif |
|---|