// SPDX-License-Identifier: GPL-2.0 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. #include <linux/export.h> #include <linux/mm.h> #include <linux/io.h> pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, unsigned long size, pgprot_t vma_prot) { if (!pfn_valid(pfn)) { return pgprot_noncached(vma_prot); } else if (file->f_flags & O_SYNC) { return pgprot_writecombine(vma_prot); } return vma_prot; } EXPORT_SYMBOL(phys_mem_access_prot);