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
|
@ -258,6 +258,23 @@ config THINKPAD_ACPI_BAY
|
||||||
|
|
||||||
If you are not sure, say Y here.
|
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
|
config THINKPAD_ACPI_HOTKEY_POLL
|
||||||
bool "Suport NVRAM polling for hot keys"
|
bool "Suport NVRAM polling for hot keys"
|
||||||
depends on THINKPAD_ACPI
|
depends on THINKPAD_ACPI
|
||||||
|
|
|
@ -301,6 +301,13 @@ TPACPI_HANDLE(hkey, ec, "\\_SB.HKEY", /* 600e/x, 770e, 770x */
|
||||||
"HKEY", /* all others */
|
"HKEY", /* all others */
|
||||||
); /* 570 */
|
); /* 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
|
* ACPI helpers
|
||||||
|
@ -2680,6 +2687,8 @@ static struct ibm_struct wan_driver_data = {
|
||||||
* Video subdriver
|
* Video subdriver
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef CONFIG_THINKPAD_ACPI_VIDEO
|
||||||
|
|
||||||
enum video_access_mode {
|
enum video_access_mode {
|
||||||
TPACPI_VIDEO_NONE = 0,
|
TPACPI_VIDEO_NONE = 0,
|
||||||
TPACPI_VIDEO_570, /* 570 */
|
TPACPI_VIDEO_570, /* 570 */
|
||||||
|
@ -2707,13 +2716,6 @@ static int video_orig_autosw;
|
||||||
static int video_autosw_get(void);
|
static int video_autosw_get(void);
|
||||||
static int video_autosw_set(int enable);
|
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 */
|
TPACPI_HANDLE(vid2, root, "\\_SB.PCI0.AGPB.VID"); /* G41 */
|
||||||
|
|
||||||
static int __init video_init(struct ibm_init_struct *iibm)
|
static int __init video_init(struct ibm_init_struct *iibm)
|
||||||
|
@ -3023,6 +3025,8 @@ static struct ibm_struct video_driver_data = {
|
||||||
.exit = video_exit,
|
.exit = video_exit,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif /* CONFIG_THINKPAD_ACPI_VIDEO */
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Light (thinklight) subdriver
|
* Light (thinklight) subdriver
|
||||||
*/
|
*/
|
||||||
|
@ -5807,10 +5811,12 @@ static struct ibm_init_struct ibms_init[] __initdata = {
|
||||||
.init = wan_init,
|
.init = wan_init,
|
||||||
.data = &wan_driver_data,
|
.data = &wan_driver_data,
|
||||||
},
|
},
|
||||||
|
#ifdef CONFIG_THINKPAD_ACPI_VIDEO
|
||||||
{
|
{
|
||||||
.init = video_init,
|
.init = video_init,
|
||||||
.data = &video_driver_data,
|
.data = &video_driver_data,
|
||||||
},
|
},
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
.init = light_init,
|
.init = light_init,
|
||||||
.data = &light_driver_data,
|
.data = &light_driver_data,
|
||||||
|
|
Loading…
Reference in New Issue