powerpc: Remove file parameter from phys_mem_access_prot()
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 22 Sep 2023 08:04:58 +0000 (10:04 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 6 Nov 2023 04:21:33 +0000 (15:21 +1100)
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
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/pci.h
arch/powerpc/include/asm/pgtable.h
arch/powerpc/kernel/pci-common.c
arch/powerpc/mm/mem.c

index 933465ed4c432740a16c957dc3b7d0c8a514127b..d31a5ec1550d4b051dfce4c1680b3d62f43af3a7 100644 (file)
@@ -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);
 
index f5078a7dd85a523788c89c8f8ece0500f7205b2c..46a9c4491ed0cb1931bd78cfc4d7b12f1822a4fe 100644 (file)
@@ -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);
 
index 2bfb7dd3b49e6ccae334de4ccb0064a6b47b1845..9224f23065fff999768278a219542c37010e7325 100644 (file)
@@ -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);
index 040255ddb5697dda579c9ecdda2369f2b393ecee..d95a48eff412ee0cf275c5aedee832fd7b8895ae 100644 (file)
@@ -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)
 {
index 1717554b04b108ef62cc3508a3208a587fe11a70..3a440004b97d2b2b94aaa1fc0b05a76397a79953 100644 (file)
@@ -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);