Re: [PATCH] Add intel drm blacklist to intel_opregion_presentdetect

From: Joey Lee
Date: Tue Aug 24 2010 - 06:09:23 EST


Hi Matthew, Thomas,

æ äï2010-08-24 æ 01:03 -0600ïJoey Lee æåï
> Hi Matthew,
>
> æ äï2010-08-23 æ 18:51 +0100ïMatthew Garrett æåï
> > On Mon, Aug 23, 2010 at 07:53:21PM +0200, Thomas Renninger wrote:
> >
> > > Hm, needing a module option to get a system running is not what the user expects.
> > > By default, the system should run fine and a module option should be added
> > > as a workaround or for debugging only.
> >
> > How about we do this instead: add a psb stub driver that does nothing
> > other than call acpi_backlight_register()?
> >
>
> The attached file is a draft stub driver for poulsbo. Like you said, it
> will only call acpi_video_register and acpi_video_unregister when
> initial and exit.
> And I added the Poulsbo pci id in the module alias.
>
> It's works to me, where can we put the driver? in driver/staging ? or
> put in driver/gpu/stub ?
>

The attached file is the patch to add a poulsbo stub module in
drivers/gpu/stub.

Please kindly review it and give me any suggestions.


Thank's a lot!
Joey Lee

>From 18d66ed453e4052874280ff0c17b68f5ce3cbc3a Mon Sep 17 00:00:00 2001
From: Lee, Chun-Yi <jlee@xxxxxxxxxx>
Date: Tue, 24 Aug 2010 17:55:23 +0800
Subject: [PATCH] Add Intel Poulsbo Stub Driver

Currently, there have no Poulsbo native video driver to support
intel opregion. So, use this stub driver to call acpi_video_register
to enable the acpi backlight control sysfs entry files.

Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxxxx>
---
drivers/gpu/Makefile | 2 +-
drivers/gpu/stub/Kconfig | 13 +++++++++++++
drivers/gpu/stub/Makefile | 1 +
drivers/gpu/stub/poulsbo.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
drivers/video/Kconfig | 2 ++
5 files changed, 61 insertions(+), 1 deletions(-)
create mode 100644 drivers/gpu/stub/Kconfig
create mode 100644 drivers/gpu/stub/Makefile
create mode 100644 drivers/gpu/stub/poulsbo.c

diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
index 30879df..cc92778 100644
--- a/drivers/gpu/Makefile
+++ b/drivers/gpu/Makefile
@@ -1 +1 @@
-obj-y += drm/ vga/
+obj-y += drm/ vga/ stub/
diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
new file mode 100644
index 0000000..88fd919
--- /dev/null
+++ b/drivers/gpu/stub/Kconfig
@@ -0,0 +1,13 @@
+config STUB_POULSBO
+ tristate "Intel Poulsbo Stub Driver"
+ default m
+ # 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 Poulsbo
+ integrated graphics. If M is selected, the module will be called
+ Poulsbo. This driver is a stub driver for Poulsbo that will call
+ acpi_video_register to enable the acpi backlight control sysfs
+ entry file because there have no poulsbo native driver can support
+ intel opregion.
diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
new file mode 100644
index 0000000..cd940cc
--- /dev/null
+++ b/drivers/gpu/stub/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
new file mode 100644
index 0000000..c93cd67
--- /dev/null
+++ b/drivers/gpu/stub/poulsbo.c
@@ -0,0 +1,44 @@
+/*
+ * Intel Poulsbo Stub
+ *
+ * Copyright (C) 2010 Novell <jlee@xxxxxxxxxx>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <linux/module.h>
+#include <acpi/video.h>
+
+static int __init poulsbo_init(void)
+{
+ printk(KERN_INFO "poulsbo: stub driver load.\n");
+ return acpi_video_register();
+}
+
+static void __exit poulsbo_cleanup(void)
+{
+ acpi_video_unregister();
+ printk(KERN_INFO "poulsbo: stub driver unloaded.\n");
+}
+
+module_init(poulsbo_init);
+module_exit(poulsbo_cleanup);
+
+MODULE_AUTHOR("Lee, Chun-Yi <jlee@xxxxxxxxxx>");
+MODULE_DESCRIPTION("Poulsbo Stub Driver");
+MODULE_LICENSE("GPL");
+
+MODULE_ALIAS("pci:v00008086d00008108sv*sd*bc*sc*i*");
+MODULE_ALIAS("pci:v00008086d00008109sv*sd*bc*sc*i*");
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 8b31fdf..8807ae5 100644
--- a/drivers/video/Kconfig
+++ b/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
--
1.6.0.2