diff options
author | Dave Airlie <airlied@redhat.com> | 2012-05-14 20:00:40 +0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-16 13:22:16 +0400 |
commit | 6cf20beec4b91c240cf759b4db72669e251f1fc4 (patch) | |
tree | 9a856d630cad0885f697de8d5b118aa94c7b69a7 /arch/x86/pci | |
parent | f3b7e17c4bdc0b6675729ece8dd55ed94785f744 (diff) | |
download | linux-6cf20beec4b91c240cf759b4db72669e251f1fc4.tar.xz |
x86/vga: set the default device from the fixup.
Since Matthew's efi/vga changes on non-EFI machines we were failing
to tell the vgaarb/switcheroo what the default device was, this
sets the default device in the quirk if none has been set before.
This fixes the switcheroo on my T410s.
Cc: Matthew Garrett <mjg@redhat.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'arch/x86/pci')
-rw-r--r-- | arch/x86/pci/fixup.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c index d0e6e403b4f6..01635537d72e 100644 --- a/arch/x86/pci/fixup.c +++ b/arch/x86/pci/fixup.c @@ -7,6 +7,7 @@ #include <linux/pci.h> #include <linux/init.h> #include <asm/pci_x86.h> +#include <asm/vga.h> static void __devinit pci_fixup_i450nx(struct pci_dev *d) { @@ -348,6 +349,8 @@ static void __devinit pci_fixup_video(struct pci_dev *pdev) if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) { pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW; dev_printk(KERN_DEBUG, &pdev->dev, "Boot video device\n"); + if (!vga_default_device()) + vga_set_default_device(pdev); } } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, |