summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/display/intel_opregion.c
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2023-03-08 19:25:02 +0300
committerImre Deak <imre.deak@intel.com>2023-03-10 19:17:07 +0300
commit3e226e4a21808e4582020f813b041504f316022f (patch)
treec15a1e4e26c42561a7e18b48b5af211ed9589abc /drivers/gpu/drm/i915/display/intel_opregion.c
parentc4a1e57b3544bd3d0252cf4e1d73d9a317de0923 (diff)
downloadlinux-3e226e4a21808e4582020f813b041504f316022f.tar.xz
drm/i915/opregion: Cleanup opregion after errors during driver loading
Clean up the opregion state if something fails after intel_opregion_setup() is called. Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230308162503.3219200-2-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_opregion.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_opregion.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index bbcc2142d7df..b7973a05d022 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -1237,6 +1237,14 @@ void intel_opregion_unregister(struct drm_i915_private *i915)
unregister_acpi_notifier(&opregion->acpi_notifier);
opregion->acpi_notifier.notifier_call = NULL;
}
+}
+
+void intel_opregion_cleanup(struct drm_i915_private *i915)
+{
+ struct intel_opregion *opregion = &i915->display.opregion;
+
+ if (!opregion->header)
+ return;
/* just clear all opregion memory pointers now */
memunmap(opregion->header);