| /* | |
| * 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"); |