Loading Documentation/kernel-parameters.txt +0 −5 Original line number Diff line number Diff line Loading @@ -199,11 +199,6 @@ and is between 256 and 4096 characters. It is defined in the file unusable. The "log_buf_len" parameter may be useful if you need to capture more output. acpi_display_output= [HW,ACPI] acpi_display_output=vendor acpi_display_output=video See above. acpi_irq_balance [HW,ACPI] ACPI will balance active IRQs default in APIC mode Loading drivers/acpi/video.c +3 −86 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include <linux/input.h> #include <linux/backlight.h> #include <linux/thermal.h> #include <linux/video_output.h> #include <linux/sort.h> #include <linux/pci.h> #include <linux/pci_ids.h> Loading Loading @@ -172,9 +171,6 @@ struct acpi_video_device_cap { u8 _BQC:1; /* Get current brightness level */ u8 _BCQ:1; /* Some buggy BIOS uses _BCQ instead of _BQC */ u8 _DDC:1; /*Return the EDID for this device */ u8 _DCS:1; /*Return status of output device */ u8 _DGS:1; /*Query graphics state */ u8 _DSS:1; /*Device state set */ }; struct acpi_video_brightness_flags { Loading Loading @@ -202,7 +198,6 @@ struct acpi_video_device { struct acpi_video_device_brightness *brightness; struct backlight_device *backlight; struct thermal_cooling_device *cooling_dev; struct output_device *output_dev; }; static const char device_decode[][30] = { Loading @@ -226,10 +221,6 @@ static int acpi_video_get_next_level(struct acpi_video_device *device, u32 level_current, u32 event); static int acpi_video_switch_brightness(struct acpi_video_device *device, int event); static int acpi_video_device_get_state(struct acpi_video_device *device, unsigned long long *state); static int acpi_video_output_get(struct output_device *od); static int acpi_video_device_set_state(struct acpi_video_device *device, int state); /*backlight device sysfs support*/ static int acpi_video_get_brightness(struct backlight_device *bd) Loading Loading @@ -265,30 +256,6 @@ static struct backlight_ops acpi_backlight_ops = { .update_status = acpi_video_set_brightness, }; /*video output device sysfs support*/ static int acpi_video_output_get(struct output_device *od) { unsigned long long state; struct acpi_video_device *vd = (struct acpi_video_device *)dev_get_drvdata(&od->dev); acpi_video_device_get_state(vd, &state); return (int)state; } static int acpi_video_output_set(struct output_device *od) { unsigned long state = od->request_state; struct acpi_video_device *vd= (struct acpi_video_device *)dev_get_drvdata(&od->dev); return acpi_video_device_set_state(vd, state); } static struct output_properties acpi_output_properties = { .set_state = acpi_video_output_set, .get_status = acpi_video_output_get, }; /* thermal cooling device callbacks */ static int video_get_max_state(struct thermal_cooling_device *cooling_dev, unsigned long *state) Loading Loading @@ -344,34 +311,6 @@ static struct thermal_cooling_device_ops video_cooling_ops = { Video Management -------------------------------------------------------------------------- */ /* device */ static int acpi_video_device_get_state(struct acpi_video_device *device, unsigned long long *state) { int status; status = acpi_evaluate_integer(device->dev->handle, "_DCS", NULL, state); return status; } static int acpi_video_device_set_state(struct acpi_video_device *device, int state) { int status; union acpi_object arg0 = { ACPI_TYPE_INTEGER }; struct acpi_object_list args = { 1, &arg0 }; unsigned long long ret; arg0.integer.value = state; status = acpi_evaluate_integer(device->dev->handle, "_DSS", &args, &ret); return status; } static int acpi_video_device_lcd_query_levels(struct acpi_video_device *device, union acpi_object **levels) Loading Loading @@ -831,15 +770,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DDC", &h_dummy1))) { device->cap._DDC = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DCS", &h_dummy1))) { device->cap._DCS = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DGS", &h_dummy1))) { device->cap._DGS = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DSS", &h_dummy1))) { device->cap._DSS = 1; } if (acpi_video_backlight_support()) { struct backlight_properties props; Loading Loading @@ -904,21 +834,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) printk(KERN_ERR PREFIX "Create sysfs link\n"); } if (acpi_video_display_switch_support()) { if (device->cap._DCS && device->cap._DSS) { static int count; char *name; name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; count++; device->output_dev = video_output_register(name, NULL, device, &acpi_output_properties); kfree(name); } } } /* Loading Loading @@ -1360,6 +1275,9 @@ int acpi_video_get_edid(struct acpi_device *device, int type, int device_id, if (!video_device) continue; if (!video_device->cap._DDC) continue; if (type) { switch (type) { case ACPI_VIDEO_DISPLAY_CRT: Loading Loading @@ -1452,7 +1370,6 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device) thermal_cooling_device_unregister(device->cooling_dev); device->cooling_dev = NULL; } video_output_unregister(device->output_dev); return 0; } Loading drivers/acpi/video_detect.c +4 −53 Original line number Diff line number Diff line Loading @@ -17,15 +17,14 @@ * capabilities the graphics cards plugged in support. The check for general * video capabilities will be triggered by the first caller of * acpi_video_get_capabilities(NULL); which will happen when the first * backlight (or display output) switching supporting driver calls: * backlight switching supporting driver calls: * acpi_video_backlight_support(); * * Depending on whether ACPI graphics extensions (cmp. ACPI spec Appendix B) * are available, video.ko should be used to handle the device. * * Otherwise vendor specific drivers like thinkpad_acpi, asus_acpi, * sony_acpi,... can take care about backlight brightness and display output * switching. * sony_acpi,... can take care about backlight brightness. * * If CONFIG_ACPI_VIDEO is neither set as "compiled in" (y) nor as a module (m) * this file will not be compiled, acpi_video_get_capabilities() and Loading Loading @@ -83,11 +82,6 @@ long acpi_is_video_device(struct acpi_device *device) if (!device) return 0; /* Is this device able to support video switching ? */ if (ACPI_SUCCESS(acpi_get_handle(device->handle, "_DOD", &h_dummy)) || ACPI_SUCCESS(acpi_get_handle(device->handle, "_DOS", &h_dummy))) video_caps |= ACPI_VIDEO_OUTPUT_SWITCHING; /* Is this device able to retrieve a video ROM ? */ if (ACPI_SUCCESS(acpi_get_handle(device->handle, "_ROM", &h_dummy))) video_caps |= ACPI_VIDEO_ROM_AVAILABLE; Loading Loading @@ -161,8 +155,6 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle) * * if (dmi_name_in_vendors("XY")) { * acpi_video_support |= * ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VENDOR; * acpi_video_support |= * ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; *} */ Loading Loading @@ -212,33 +204,8 @@ int acpi_video_backlight_support(void) EXPORT_SYMBOL(acpi_video_backlight_support); /* * Returns true if video.ko can do display output switching. * This does not work well/at all with binary graphics drivers * which disable system io ranges and do it on their own. */ int acpi_video_display_switch_support(void) { if (!acpi_video_caps_checked) acpi_video_get_capabilities(NULL); if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VENDOR) return 0; else if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VIDEO) return 1; if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VENDOR) return 0; else if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VIDEO) return 1; return acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING; } EXPORT_SYMBOL(acpi_video_display_switch_support); /* * Use acpi_display_output=vendor/video or acpi_backlight=vendor/video * To force that backlight or display output switching is processed by vendor * specific acpi drivers or video.ko driver. * Use acpi_backlight=vendor/video to force that backlight switching * is processed by vendor specific acpi drivers or video.ko driver. */ static int __init acpi_backlight(char *str) { Loading @@ -255,19 +222,3 @@ static int __init acpi_backlight(char *str) return 1; } __setup("acpi_backlight=", acpi_backlight); static int __init acpi_display_output(char *str) { if (str == NULL || *str == '\0') return 1; else { if (!strcmp("vendor", str)) acpi_video_support |= ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VENDOR; if (!strcmp("video", str)) acpi_video_support |= ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VIDEO; } return 1; } __setup("acpi_display_output=", acpi_display_output); drivers/gpu/drm/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,6 @@ config DRM_I915 select FB_CFB_IMAGEBLIT # i915 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 Loading drivers/gpu/stub/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ config STUB_POULSBO 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 Loading Loading
Documentation/kernel-parameters.txt +0 −5 Original line number Diff line number Diff line Loading @@ -199,11 +199,6 @@ and is between 256 and 4096 characters. It is defined in the file unusable. The "log_buf_len" parameter may be useful if you need to capture more output. acpi_display_output= [HW,ACPI] acpi_display_output=vendor acpi_display_output=video See above. acpi_irq_balance [HW,ACPI] ACPI will balance active IRQs default in APIC mode Loading
drivers/acpi/video.c +3 −86 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include <linux/input.h> #include <linux/backlight.h> #include <linux/thermal.h> #include <linux/video_output.h> #include <linux/sort.h> #include <linux/pci.h> #include <linux/pci_ids.h> Loading Loading @@ -172,9 +171,6 @@ struct acpi_video_device_cap { u8 _BQC:1; /* Get current brightness level */ u8 _BCQ:1; /* Some buggy BIOS uses _BCQ instead of _BQC */ u8 _DDC:1; /*Return the EDID for this device */ u8 _DCS:1; /*Return status of output device */ u8 _DGS:1; /*Query graphics state */ u8 _DSS:1; /*Device state set */ }; struct acpi_video_brightness_flags { Loading Loading @@ -202,7 +198,6 @@ struct acpi_video_device { struct acpi_video_device_brightness *brightness; struct backlight_device *backlight; struct thermal_cooling_device *cooling_dev; struct output_device *output_dev; }; static const char device_decode[][30] = { Loading @@ -226,10 +221,6 @@ static int acpi_video_get_next_level(struct acpi_video_device *device, u32 level_current, u32 event); static int acpi_video_switch_brightness(struct acpi_video_device *device, int event); static int acpi_video_device_get_state(struct acpi_video_device *device, unsigned long long *state); static int acpi_video_output_get(struct output_device *od); static int acpi_video_device_set_state(struct acpi_video_device *device, int state); /*backlight device sysfs support*/ static int acpi_video_get_brightness(struct backlight_device *bd) Loading Loading @@ -265,30 +256,6 @@ static struct backlight_ops acpi_backlight_ops = { .update_status = acpi_video_set_brightness, }; /*video output device sysfs support*/ static int acpi_video_output_get(struct output_device *od) { unsigned long long state; struct acpi_video_device *vd = (struct acpi_video_device *)dev_get_drvdata(&od->dev); acpi_video_device_get_state(vd, &state); return (int)state; } static int acpi_video_output_set(struct output_device *od) { unsigned long state = od->request_state; struct acpi_video_device *vd= (struct acpi_video_device *)dev_get_drvdata(&od->dev); return acpi_video_device_set_state(vd, state); } static struct output_properties acpi_output_properties = { .set_state = acpi_video_output_set, .get_status = acpi_video_output_get, }; /* thermal cooling device callbacks */ static int video_get_max_state(struct thermal_cooling_device *cooling_dev, unsigned long *state) Loading Loading @@ -344,34 +311,6 @@ static struct thermal_cooling_device_ops video_cooling_ops = { Video Management -------------------------------------------------------------------------- */ /* device */ static int acpi_video_device_get_state(struct acpi_video_device *device, unsigned long long *state) { int status; status = acpi_evaluate_integer(device->dev->handle, "_DCS", NULL, state); return status; } static int acpi_video_device_set_state(struct acpi_video_device *device, int state) { int status; union acpi_object arg0 = { ACPI_TYPE_INTEGER }; struct acpi_object_list args = { 1, &arg0 }; unsigned long long ret; arg0.integer.value = state; status = acpi_evaluate_integer(device->dev->handle, "_DSS", &args, &ret); return status; } static int acpi_video_device_lcd_query_levels(struct acpi_video_device *device, union acpi_object **levels) Loading Loading @@ -831,15 +770,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DDC", &h_dummy1))) { device->cap._DDC = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DCS", &h_dummy1))) { device->cap._DCS = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DGS", &h_dummy1))) { device->cap._DGS = 1; } if (ACPI_SUCCESS(acpi_get_handle(device->dev->handle, "_DSS", &h_dummy1))) { device->cap._DSS = 1; } if (acpi_video_backlight_support()) { struct backlight_properties props; Loading Loading @@ -904,21 +834,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) printk(KERN_ERR PREFIX "Create sysfs link\n"); } if (acpi_video_display_switch_support()) { if (device->cap._DCS && device->cap._DSS) { static int count; char *name; name = kasprintf(GFP_KERNEL, "acpi_video%d", count); if (!name) return; count++; device->output_dev = video_output_register(name, NULL, device, &acpi_output_properties); kfree(name); } } } /* Loading Loading @@ -1360,6 +1275,9 @@ int acpi_video_get_edid(struct acpi_device *device, int type, int device_id, if (!video_device) continue; if (!video_device->cap._DDC) continue; if (type) { switch (type) { case ACPI_VIDEO_DISPLAY_CRT: Loading Loading @@ -1452,7 +1370,6 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device) thermal_cooling_device_unregister(device->cooling_dev); device->cooling_dev = NULL; } video_output_unregister(device->output_dev); return 0; } Loading
drivers/acpi/video_detect.c +4 −53 Original line number Diff line number Diff line Loading @@ -17,15 +17,14 @@ * capabilities the graphics cards plugged in support. The check for general * video capabilities will be triggered by the first caller of * acpi_video_get_capabilities(NULL); which will happen when the first * backlight (or display output) switching supporting driver calls: * backlight switching supporting driver calls: * acpi_video_backlight_support(); * * Depending on whether ACPI graphics extensions (cmp. ACPI spec Appendix B) * are available, video.ko should be used to handle the device. * * Otherwise vendor specific drivers like thinkpad_acpi, asus_acpi, * sony_acpi,... can take care about backlight brightness and display output * switching. * sony_acpi,... can take care about backlight brightness. * * If CONFIG_ACPI_VIDEO is neither set as "compiled in" (y) nor as a module (m) * this file will not be compiled, acpi_video_get_capabilities() and Loading Loading @@ -83,11 +82,6 @@ long acpi_is_video_device(struct acpi_device *device) if (!device) return 0; /* Is this device able to support video switching ? */ if (ACPI_SUCCESS(acpi_get_handle(device->handle, "_DOD", &h_dummy)) || ACPI_SUCCESS(acpi_get_handle(device->handle, "_DOS", &h_dummy))) video_caps |= ACPI_VIDEO_OUTPUT_SWITCHING; /* Is this device able to retrieve a video ROM ? */ if (ACPI_SUCCESS(acpi_get_handle(device->handle, "_ROM", &h_dummy))) video_caps |= ACPI_VIDEO_ROM_AVAILABLE; Loading Loading @@ -161,8 +155,6 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle) * * if (dmi_name_in_vendors("XY")) { * acpi_video_support |= * ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VENDOR; * acpi_video_support |= * ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; *} */ Loading Loading @@ -212,33 +204,8 @@ int acpi_video_backlight_support(void) EXPORT_SYMBOL(acpi_video_backlight_support); /* * Returns true if video.ko can do display output switching. * This does not work well/at all with binary graphics drivers * which disable system io ranges and do it on their own. */ int acpi_video_display_switch_support(void) { if (!acpi_video_caps_checked) acpi_video_get_capabilities(NULL); if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VENDOR) return 0; else if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VIDEO) return 1; if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VENDOR) return 0; else if (acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING_DMI_VIDEO) return 1; return acpi_video_support & ACPI_VIDEO_OUTPUT_SWITCHING; } EXPORT_SYMBOL(acpi_video_display_switch_support); /* * Use acpi_display_output=vendor/video or acpi_backlight=vendor/video * To force that backlight or display output switching is processed by vendor * specific acpi drivers or video.ko driver. * Use acpi_backlight=vendor/video to force that backlight switching * is processed by vendor specific acpi drivers or video.ko driver. */ static int __init acpi_backlight(char *str) { Loading @@ -255,19 +222,3 @@ static int __init acpi_backlight(char *str) return 1; } __setup("acpi_backlight=", acpi_backlight); static int __init acpi_display_output(char *str) { if (str == NULL || *str == '\0') return 1; else { if (!strcmp("vendor", str)) acpi_video_support |= ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VENDOR; if (!strcmp("video", str)) acpi_video_support |= ACPI_VIDEO_OUTPUT_SWITCHING_FORCE_VIDEO; } return 1; } __setup("acpi_display_output=", acpi_display_output);
drivers/gpu/drm/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,6 @@ config DRM_I915 select FB_CFB_IMAGEBLIT # i915 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 Loading
drivers/gpu/stub/Kconfig +0 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ config STUB_POULSBO 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 Loading