1 /* 2 * Copyright (C) 2007 Antonino Daplas <adaplas@gmail.com> 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file COPYING in the main directory of this archive 6 * for more details. 7 * 8 */ 9 10 #include <linux/fb.h> 11 #include <linux/module.h> 12 #include <linux/pci.h> 13 #include <linux/vgaarb.h> 14 #include <asm/fb.h> 15 16 void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off) 17 { 18 unsigned long prot; 19 20 prot = pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK; 21 if (boot_cpu_data.x86 > 3) 22 pgprot_val(vma->vm_page_prot) = 23 prot | cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS); 24 } 25 EXPORT_SYMBOL(fb_pgprotect); 26 27 int fb_is_primary_device(struct fb_info *info) 28 { 29 struct device *device = info->device; 30 struct pci_dev *pci_dev; 31 32 if (!device || !dev_is_pci(device)) 33 return 0; 34 35 pci_dev = to_pci_dev(device); 36 37 if (pci_dev == vga_default_device()) 38 return 1; 39 return 0; 40 } 41 EXPORT_SYMBOL(fb_is_primary_device); 42 43 MODULE_LICENSE("GPL"); 44