summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/video.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-03-01 10:41:37 +0000
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-03-04 15:10:36 +0100
commit6e17cb12881ba8d5e456b89f072dc6b70048af36 (patch)
tree15d74ea4f4ff7da5541a97b7ca300d0e7b7dfba7 /drivers/acpi/video.c
parent13a7a6ac0a11197edcd0f756a035f472b42cdf8b (diff)
downloadlinux-6e17cb12881ba8d5e456b89f072dc6b70048af36.tar.gz
linux-6e17cb12881ba8d5e456b89f072dc6b70048af36.tar.bz2
linux-6e17cb12881ba8d5e456b89f072dc6b70048af36.zip
ACPI / video: Load the module even if ACPI is disabled
i915.ko depends upon the acpi/video.ko module and so refuses to load if ACPI is disabled at runtime if for example the BIOS is broken beyond repair. acpi/video provides an optional service for i915.ko and so we should just allow the modules to load, but do no nothing in order to let the machines boot correctly. Reported-by: Bill Augur <bill-auger@programmer.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Jani Nikula <jani.nikula@intel.com> Cc: All applicable <stable@vger.kernel.org> Acked-by: Aaron Lu <aaron.lu@intel.com> [ rjw: Fixed up the new comment in acpi_video_init() ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/video.c')
-rw-r--r--drivers/acpi/video.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index debd30917010..5f98ac69729a 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -2176,6 +2176,17 @@ EXPORT_SYMBOL(acpi_video_unregister_backlight);
static int __init acpi_video_init(void)
{
+ /*
+ * Let the module load even if ACPI is disabled (e.g. due to
+ * a broken BIOS) so that i915.ko can still be loaded on such
+ * old systems without an AcpiOpRegion.
+ *
+ * acpi_video_register() will report -ENODEV later as well due
+ * to acpi_disabled when i915.ko tries to register itself afterwards.
+ */
+ if (acpi_disabled)
+ return 0;
+
dmi_check_system(video_dmi_table);
if (intel_opregion_present())