ACPI: thinkpad-acpi: make the video output feature optional
The video output port control feature is not very useful on many ThinkPads (especially when a X server is running), and lately userspace is getting better and better at it, so it makes sense to allow users to stripe out the thinkpad-acpi video feature from their kernels and save at least 2KB. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
7526696a01
commit
d7c1d17dfe
2 changed files with 30 additions and 7 deletions
|
@ -258,6 +258,23 @@ config THINKPAD_ACPI_BAY
|
|||
|
||||
If you are not sure, say Y here.
|
||||
|
||||
config THINKPAD_ACPI_VIDEO
|
||||
bool "Video output control support"
|
||||
depends on THINKPAD_ACPI
|
||||
default y
|
||||
---help---
|
||||
Allows the thinkpad_acpi driver to provide an interface to control
|
||||
the various video output ports.
|
||||
|
||||
This feature often won't work well, depending on ThinkPad model,
|
||||
display state, video output devices in use, whether there is a X
|
||||
server running, phase of the moon, and the current mood of
|
||||
Schroedinger's cat. If you can use X.org's RandR to control
|
||||
your ThinkPad's video output ports instead of this feature,
|
||||
don't think twice: do it and say N here to save some memory.
|
||||
|
||||
If you are not sure, say Y here.
|
||||
|
||||
config THINKPAD_ACPI_HOTKEY_POLL
|
||||
bool "Suport NVRAM polling for hot keys"
|
||||
depends on THINKPAD_ACPI
|
||||
|
|
|
@ -301,6 +301,13 @@ TPACPI_HANDLE(hkey, ec, "\\_SB.HKEY", /* 600e/x, 770e, 770x */
|
|||
"HKEY", /* all others */
|
||||
); /* 570 */
|
||||
|
||||
TPACPI_HANDLE(vid, root, "\\_SB.PCI.AGP.VGA", /* 570 */
|
||||
"\\_SB.PCI0.AGP0.VID0", /* 600e/x, 770x */
|
||||
"\\_SB.PCI0.VID0", /* 770e */
|
||||
"\\_SB.PCI0.VID", /* A21e, G4x, R50e, X30, X40 */
|
||||
"\\_SB.PCI0.AGP.VID", /* all others */
|
||||
); /* R30, R31 */
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* ACPI helpers
|
||||
|
@ -2680,6 +2687,8 @@ static struct ibm_struct wan_driver_data = {
|
|||
* Video subdriver
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_THINKPAD_ACPI_VIDEO
|
||||
|
||||
enum video_access_mode {
|
||||
TPACPI_VIDEO_NONE = 0,
|
||||
TPACPI_VIDEO_570, /* 570 */
|
||||
|
@ -2707,13 +2716,6 @@ static int video_orig_autosw;
|
|||
static int video_autosw_get(void);
|
||||
static int video_autosw_set(int enable);
|
||||
|
||||
TPACPI_HANDLE(vid, root, "\\_SB.PCI.AGP.VGA", /* 570 */
|
||||
"\\_SB.PCI0.AGP0.VID0", /* 600e/x, 770x */
|
||||
"\\_SB.PCI0.VID0", /* 770e */
|
||||
"\\_SB.PCI0.VID", /* A21e, G4x, R50e, X30, X40 */
|
||||
"\\_SB.PCI0.AGP.VID", /* all others */
|
||||
); /* R30, R31 */
|
||||
|
||||
TPACPI_HANDLE(vid2, root, "\\_SB.PCI0.AGPB.VID"); /* G41 */
|
||||
|
||||
static int __init video_init(struct ibm_init_struct *iibm)
|
||||
|
@ -3023,6 +3025,8 @@ static struct ibm_struct video_driver_data = {
|
|||
.exit = video_exit,
|
||||
};
|
||||
|
||||
#endif /* CONFIG_THINKPAD_ACPI_VIDEO */
|
||||
|
||||
/*************************************************************************
|
||||
* Light (thinklight) subdriver
|
||||
*/
|
||||
|
@ -5807,10 +5811,12 @@ static struct ibm_init_struct ibms_init[] __initdata = {
|
|||
.init = wan_init,
|
||||
.data = &wan_driver_data,
|
||||
},
|
||||
#ifdef CONFIG_THINKPAD_ACPI_VIDEO
|
||||
{
|
||||
.init = video_init,
|
||||
.data = &video_driver_data,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.init = light_init,
|
||||
.data = &light_driver_data,
|
||||
|
|
Loading…
Reference in a new issue