summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson2010-08-04 14:50:23 +0200
committerEric Anholt2010-08-09 20:24:28 +0200
commitea5b213ad4b161463e76b63dbb115ea20e2200f0 (patch)
treeb6d07b00b479fcc3849e0fdc4c98f498aa3645bf /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Do not clobber the contents of TRANS_DP_CTL when enabling. (diff)
downloadkernel-qcow2-linux-ea5b213ad4b161463e76b63dbb115ea20e2200f0.tar.gz
kernel-qcow2-linux-ea5b213ad4b161463e76b63dbb115ea20e2200f0.tar.xz
kernel-qcow2-linux-ea5b213ad4b161463e76b63dbb115ea20e2200f0.zip
drm/i915: Subclass intel_encoder.
Subclass intel_encoder to reduce the pointer dance through intel_encoder->dev_priv. 10 files changed, 896 insertions(+), 997 deletions(-) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index c7f19ec88f98..9839494528ae 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2537,6 +2537,20 @@ void intel_encoder_commit (struct drm_encoder *encoder)
encoder_funcs->dpms(encoder, DRM_MODE_DPMS_ON);
}
+void intel_encoder_destroy(struct drm_encoder *encoder)
+{
+ struct intel_encoder *intel_encoder = enc_to_intel_encoder(encoder);
+
+ if (intel_encoder->ddc_bus)
+ intel_i2c_destroy(intel_encoder->ddc_bus);
+
+ if (intel_encoder->i2c_bus)
+ intel_i2c_destroy(intel_encoder->i2c_bus);
+
+ drm_encoder_cleanup(encoder);
+ kfree(intel_encoder);
+}
+
static bool intel_crtc_mode_fixup(struct drm_crtc *crtc,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)