From d4ad2534e8e9f9ac9324d85d702d11e47f9ccdb0 Mon Sep 17 00:00:00 2001 From: "Lee, Chun-Yi" Date: Wed, 20 Oct 2010 13:51:19 +0800 Subject: [PATCH] --- yaml --- r: 218351 b: refs/heads/master c: e26fd1199ebab0d469fc3e037da5932d382f0669 h: refs/heads/master i: 218349: a788bad4a713b5e811f81b88f95518b424147270 218347: ed74081f9e31ecac36babb74b8b2d02b05dd3e2b 218343: 60cf9f0b6828f51fc296c287f4ea72e6d01c7722 218335: b9eb63c8c5fbd654fc8b37aefba003decd909600 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/Makefile | 2 +- trunk/drivers/gpu/stub/Kconfig | 13 +++++++ trunk/drivers/gpu/stub/Makefile | 1 + trunk/drivers/gpu/stub/poulsbo.c | 64 ++++++++++++++++++++++++++++++++ trunk/drivers/video/Kconfig | 2 + 6 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 trunk/drivers/gpu/stub/Kconfig create mode 100644 trunk/drivers/gpu/stub/Makefile create mode 100644 trunk/drivers/gpu/stub/poulsbo.c diff --git a/[refs] b/[refs] index 5146238a2444..46c08d43c8c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b7d8cce5b558e0c0aa6898c9865356481598b46d +refs/heads/master: e26fd1199ebab0d469fc3e037da5932d382f0669 diff --git a/trunk/drivers/gpu/Makefile b/trunk/drivers/gpu/Makefile index 30879df3daea..cc9277885dd0 100644 --- a/trunk/drivers/gpu/Makefile +++ b/trunk/drivers/gpu/Makefile @@ -1 +1 @@ -obj-y += drm/ vga/ +obj-y += drm/ vga/ stub/ diff --git a/trunk/drivers/gpu/stub/Kconfig b/trunk/drivers/gpu/stub/Kconfig new file mode 100644 index 000000000000..742c423567cf --- /dev/null +++ b/trunk/drivers/gpu/stub/Kconfig @@ -0,0 +1,13 @@ +config STUB_POULSBO + tristate "Intel GMA500 Stub Driver" + depends on PCI + # Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled + # but for select to work, need to select ACPI_VIDEO's dependencies, ick + select ACPI_VIDEO if ACPI + help + Choose this option if you have a system that has Intel GMA500 + (Poulsbo) integrated graphics. If M is selected, the module will + be called Poulsbo. This driver is a stub driver for Poulsbo that + will call poulsbo.ko to enable the acpi backlight control sysfs + entry file because there have no poulsbo native driver can support + intel opregion. diff --git a/trunk/drivers/gpu/stub/Makefile b/trunk/drivers/gpu/stub/Makefile new file mode 100644 index 000000000000..cd940cc9d36d --- /dev/null +++ b/trunk/drivers/gpu/stub/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o diff --git a/trunk/drivers/gpu/stub/poulsbo.c b/trunk/drivers/gpu/stub/poulsbo.c new file mode 100644 index 000000000000..7edfd27b8dee --- /dev/null +++ b/trunk/drivers/gpu/stub/poulsbo.c @@ -0,0 +1,64 @@ +/* + * Intel Poulsbo Stub driver + * + * Copyright (C) 2010 Novell + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + * + */ + +#include +#include +#include +#include + +#define DRIVER_NAME "poulsbo" + +enum { + CHIP_PSB_8108 = 0, + CHIP_PSB_8109 = 1, +}; + +static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { + {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \ + {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \ + {0, 0, 0} +}; + +static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id) +{ + return acpi_video_register(); +} + +static void poulsbo_remove(struct pci_dev *pdev) +{ + acpi_video_unregister(); +} + +static struct pci_driver poulsbo_driver = { + .name = DRIVER_NAME, + .id_table = pciidlist, + .probe = poulsbo_probe, + .remove = poulsbo_remove, +}; + +static int __init poulsbo_init(void) +{ + return pci_register_driver(&poulsbo_driver); +} + +static void __exit poulsbo_exit(void) +{ + pci_unregister_driver(&poulsbo_driver); +} + +module_init(poulsbo_init); +module_exit(poulsbo_exit); + +MODULE_AUTHOR("Lee, Chun-Yi "); +MODULE_DESCRIPTION("Poulsbo Stub Driver"); +MODULE_LICENSE("GPL"); + +MODULE_DEVICE_TABLE(pci, pciidlist); diff --git a/trunk/drivers/video/Kconfig b/trunk/drivers/video/Kconfig index 8b31fdfefc98..8807ae5f8b21 100644 --- a/trunk/drivers/video/Kconfig +++ b/trunk/drivers/video/Kconfig @@ -17,6 +17,8 @@ source "drivers/gpu/vga/Kconfig" source "drivers/gpu/drm/Kconfig" +source "drivers/gpu/stub/Kconfig" + config VGASTATE tristate default n