powerpc: Remove file parameter from phys_mem_access_prot()
Remove 'file' parameter from struct machdep_calls.phys_mem_access_prot and its implementation in pci_phys_mem_access_prot(). The file is not used on PowerPC. By removing it, a later patch can simplify fbdev's mmap code, which uses phys_mem_access_prot() on PowerPC. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Arnd Bergmann <arnd@arndb.de> [mpe: Rebase on unrelated changes to phys_mem_access_prot()] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230922080636.26762-5-tzimmermann@suse.de
This commit is contained in:
parent
322948c319
commit
1f92a844c3
|
@ -106,8 +106,7 @@ struct machdep_calls {
|
|||
int (*pci_get_legacy_ide_irq)(struct pci_dev *dev, int channel);
|
||||
|
||||
/* Get access protection for /dev/mem */
|
||||
pgprot_t (*phys_mem_access_prot)(struct file *file,
|
||||
unsigned long pfn,
|
||||
pgprot_t (*phys_mem_access_prot)(unsigned long pfn,
|
||||
unsigned long size,
|
||||
pgprot_t vma_prot);
|
||||
|
||||
|
|
|
@ -105,9 +105,7 @@ extern void of_scan_pci_bridge(struct pci_dev *dev);
|
|||
extern void of_scan_bus(struct device_node *node, struct pci_bus *bus);
|
||||
extern void of_rescan_bus(struct device_node *node, struct pci_bus *bus);
|
||||
|
||||
struct file;
|
||||
extern pgprot_t pci_phys_mem_access_prot(struct file *file,
|
||||
unsigned long pfn,
|
||||
extern pgprot_t pci_phys_mem_access_prot(unsigned long pfn,
|
||||
unsigned long size,
|
||||
pgprot_t prot);
|
||||
|
||||
|
|
|
@ -120,9 +120,15 @@ static inline void mark_initmem_nx(void) { }
|
|||
int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address,
|
||||
pte_t *ptep, pte_t entry, int dirty);
|
||||
|
||||
pgprot_t __phys_mem_access_prot(unsigned long pfn, unsigned long size,
|
||||
pgprot_t vma_prot);
|
||||
|
||||
struct file;
|
||||
pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
unsigned long size, pgprot_t vma_prot);
|
||||
static inline pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
unsigned long size, pgprot_t vma_prot)
|
||||
{
|
||||
return __phys_mem_access_prot(pfn, size, vma_prot);
|
||||
}
|
||||
#define __HAVE_PHYS_MEM_ACCESS_PROT
|
||||
|
||||
void __update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep);
|
||||
|
|
|
@ -521,8 +521,7 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma)
|
|||
* PCI device, it tries to find the PCI device first and calls the
|
||||
* above routine
|
||||
*/
|
||||
pgprot_t pci_phys_mem_access_prot(struct file *file,
|
||||
unsigned long pfn,
|
||||
pgprot_t pci_phys_mem_access_prot(unsigned long pfn,
|
||||
unsigned long size,
|
||||
pgprot_t prot)
|
||||
{
|
||||
|
|
|
@ -35,18 +35,18 @@ unsigned long long memory_limit;
|
|||
unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)] __page_aligned_bss;
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
unsigned long size, pgprot_t vma_prot)
|
||||
pgprot_t __phys_mem_access_prot(unsigned long pfn, unsigned long size,
|
||||
pgprot_t vma_prot)
|
||||
{
|
||||
if (ppc_md.phys_mem_access_prot)
|
||||
return ppc_md.phys_mem_access_prot(file, pfn, size, vma_prot);
|
||||
return ppc_md.phys_mem_access_prot(pfn, size, vma_prot);
|
||||
|
||||
if (!page_is_ram(pfn))
|
||||
vma_prot = pgprot_noncached(vma_prot);
|
||||
|
||||
return vma_prot;
|
||||
}
|
||||
EXPORT_SYMBOL(phys_mem_access_prot);
|
||||
EXPORT_SYMBOL(__phys_mem_access_prot);
|
||||
|
||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||
static DEFINE_MUTEX(linear_mapping_mutex);
|
||||
|
|
Loading…
Reference in New Issue