/* * Copyright (C) 2007 Antonino Daplas <adaplas@gmail.com> * * This file is subject to the terms and conditions of the GNU General Public * License. See the file COPYING in the main directory of this archive * for more details. * */ #include <linux/fb.h> #include <linux/pci.h> #include <linux/module.h> #include <linux/vgaarb.h> int fb_is_primary_device(struct fb_info *info) { struct device *device = info->device; struct pci_dev *default_device = vga_default_device(); struct pci_dev *pci_dev; struct resource *res; if (!device || !dev_is_pci(device)) return 0; pci_dev = to_pci_dev(device); if (default_device) { if (pci_dev == default_device) return 1; return 0; } res = pci_dev->resource + PCI_ROM_RESOURCE; if (res->flags & IORESOURCE_ROM_SHADOW) return 1; return 0; } EXPORT_SYMBOL(fb_is_primary_device); MODULE_LICENSE("GPL"); |