Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[GitHub/moto-9609/android_kernel_motorola_exynos9610.git] / drivers / gpu / drm / radeon / radeon_connectors.c
index a1866738a65789ae477a6b7ec5864b05706cdabc..2ef6d513506404075307c5f5865e091b8e4653ea 100644 (file)
@@ -40,6 +40,10 @@ radeon_atombios_connected_scratch_regs(struct drm_connector *connector,
                                       struct drm_encoder *encoder,
                                       bool connected);
 
+extern void
+radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder,
+                            struct drm_connector *drm_connector);
+
 void radeon_connector_hotplug(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
@@ -1552,6 +1556,17 @@ radeon_add_legacy_connector(struct drm_device *dev,
                connector->polled = DRM_CONNECTOR_POLL_HPD;
        connector->display_info.subpixel_order = subpixel_order;
        drm_sysfs_connector_add(connector);
+       if (connector_type == DRM_MODE_CONNECTOR_LVDS) {
+               struct drm_encoder *drm_encoder;
+
+               list_for_each_entry(drm_encoder, &dev->mode_config.encoder_list, head) {
+                       struct radeon_encoder *radeon_encoder;
+
+                       radeon_encoder = to_radeon_encoder(drm_encoder);
+                       if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_LVDS)
+                               radeon_legacy_backlight_init(radeon_encoder, connector);
+               }
+       }
        return;
 
 failed: