Branch data Line data Source code
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 : : #include <linux/fb.h> 10 : : #include <linux/pci.h> 11 : : #include <linux/module.h> 12 : : #include <linux/vgaarb.h> 13 : : 14 : 0 : int fb_is_primary_device(struct fb_info *info) 15 : : { 16 : 0 : struct device *device = info->device; 17 : 0 : struct pci_dev *default_device = vga_default_device(); 18 : 0 : struct pci_dev *pci_dev; 19 : 0 : struct resource *res; 20 : : 21 [ # # # # ]: 0 : if (!device || !dev_is_pci(device)) 22 : : return 0; 23 : : 24 : 0 : pci_dev = to_pci_dev(device); 25 : : 26 [ # # ]: 0 : if (default_device) { 27 [ # # ]: 0 : if (pci_dev == default_device) 28 : : return 1; 29 : 0 : return 0; 30 : : } 31 : : 32 : 0 : res = pci_dev->resource + PCI_ROM_RESOURCE; 33 : : 34 [ # # ]: 0 : if (res->flags & IORESOURCE_ROM_SHADOW) 35 : 0 : return 1; 36 : : 37 : : return 0; 38 : : } 39 : : EXPORT_SYMBOL(fb_is_primary_device); 40 : : MODULE_LICENSE("GPL");