diff options
Diffstat (limited to 'drivers/gpu/vga/vgaarb.c')
-rw-r--r-- | drivers/gpu/vga/vgaarb.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c index 111d956d8e7d..e223b96fa6a0 100644 --- a/drivers/gpu/vga/vgaarb.c +++ b/drivers/gpu/vga/vgaarb.c | |||
@@ -136,6 +136,11 @@ struct pci_dev *vga_default_device(void) | |||
136 | { | 136 | { |
137 | return vga_default; | 137 | return vga_default; |
138 | } | 138 | } |
139 | |||
140 | void vga_set_default_device(struct pci_dev *pdev) | ||
141 | { | ||
142 | vga_default = pdev; | ||
143 | } | ||
139 | #endif | 144 | #endif |
140 | 145 | ||
141 | static inline void vga_irq_set_state(struct vga_device *vgadev, bool state) | 146 | static inline void vga_irq_set_state(struct vga_device *vgadev, bool state) |
@@ -605,10 +610,12 @@ static bool vga_arbiter_del_pci_device(struct pci_dev *pdev) | |||
605 | goto bail; | 610 | goto bail; |
606 | } | 611 | } |
607 | 612 | ||
613 | #ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE | ||
608 | if (vga_default == pdev) { | 614 | if (vga_default == pdev) { |
609 | pci_dev_put(vga_default); | 615 | pci_dev_put(vga_default); |
610 | vga_default = NULL; | 616 | vga_default = NULL; |
611 | } | 617 | } |
618 | #endif | ||
612 | 619 | ||
613 | if (vgadev->decodes & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM)) | 620 | if (vgadev->decodes & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM)) |
614 | vga_decode_count--; | 621 | vga_decode_count--; |