the poulsbo stub driver should not select ACPI video driver. The reason why i915 driver selects ACPI video driver is that it needs some cooperation between these two drivers during initialization, or else the system may hang. So if users want ACPI backlight control, please set CONFIG_ACPI_VIDEO manually. http://marc.info/?l=linux-acpi&m=128952659018533&w=2 CC: Ingo Molnar <mingo@xxxxxxx> CC: Dave Airlie <airlied@xxxxxxxxxx> CC: Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> --- drivers/gpu/stub/Kconfig | 11 +---------- drivers/gpu/stub/poulsbo.c | 5 +---- 2 files changed, 2 insertions(+), 14 deletions(-) Index: linux-2.6/drivers/gpu/stub/Kconfig =================================================================== --- linux-2.6.orig/drivers/gpu/stub/Kconfig +++ linux-2.6/drivers/gpu/stub/Kconfig @@ -1,16 +1,7 @@ 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 VIDEO_OUTPUT_CONTROL if ACPI - select BACKLIGHT_CLASS_DEVICE if ACPI - select INPUT if ACPI - 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. + be called Poulsbo. Index: linux-2.6/drivers/gpu/stub/poulsbo.c =================================================================== --- linux-2.6.orig/drivers/gpu/stub/poulsbo.c +++ linux-2.6/drivers/gpu/stub/poulsbo.c @@ -11,8 +11,6 @@ #include <linux/module.h> #include <linux/pci.h> -#include <linux/acpi.h> -#include <acpi/video.h> #define DRIVER_NAME "poulsbo" @@ -29,12 +27,11 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id) { - return acpi_video_register(); + return 0; } static void poulsbo_remove(struct pci_dev *pdev) { - acpi_video_unregister(); } static struct pci_driver poulsbo_driver = { -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html