diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_crt.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 15 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dsi.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dvo.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_panel.c | 15 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_tv.c | 1 |
13 files changed, 38 insertions, 16 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 6d96b14b53c8..42298a87db7e 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -3734,6 +3734,7 @@ extern void intel_modeset_init_hw(struct drm_device *dev); | |||
3734 | extern void intel_modeset_init(struct drm_device *dev); | 3734 | extern void intel_modeset_init(struct drm_device *dev); |
3735 | extern void intel_modeset_gem_init(struct drm_device *dev); | 3735 | extern void intel_modeset_gem_init(struct drm_device *dev); |
3736 | extern void intel_modeset_cleanup(struct drm_device *dev); | 3736 | extern void intel_modeset_cleanup(struct drm_device *dev); |
3737 | extern int intel_connector_register(struct drm_connector *); | ||
3737 | extern void intel_connector_unregister(struct drm_connector *); | 3738 | extern void intel_connector_unregister(struct drm_connector *); |
3738 | extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); | 3739 | extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); |
3739 | extern void intel_display_resume(struct drm_device *dev); | 3740 | extern void intel_display_resume(struct drm_device *dev); |
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index e115bcc6766f..8d7d48c74751 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -743,6 +743,7 @@ static const struct drm_connector_funcs intel_crt_connector_funcs = { | |||
743 | .dpms = drm_atomic_helper_connector_dpms, | 743 | .dpms = drm_atomic_helper_connector_dpms, |
744 | .detect = intel_crt_detect, | 744 | .detect = intel_crt_detect, |
745 | .fill_modes = drm_helper_probe_single_connector_modes, | 745 | .fill_modes = drm_helper_probe_single_connector_modes, |
746 | .late_register = intel_connector_register, | ||
746 | .early_unregister = intel_connector_unregister, | 747 | .early_unregister = intel_connector_unregister, |
747 | .destroy = intel_crt_destroy, | 748 | .destroy = intel_crt_destroy, |
748 | .set_property = intel_crt_set_property, | 749 | .set_property = intel_crt_set_property, |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 1141b8699dbe..12897d11df60 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -16314,8 +16314,21 @@ void intel_modeset_gem_init(struct drm_device *dev) | |||
16314 | c->state->plane_mask &= ~(1 << drm_plane_index(c->primary)); | 16314 | c->state->plane_mask &= ~(1 << drm_plane_index(c->primary)); |
16315 | } | 16315 | } |
16316 | } | 16316 | } |
16317 | } | ||
16318 | |||
16319 | int intel_connector_register(struct drm_connector *connector) | ||
16320 | { | ||
16321 | struct intel_connector *intel_connector = to_intel_connector(connector); | ||
16322 | int ret; | ||
16323 | |||
16324 | ret = intel_backlight_device_register(intel_connector); | ||
16325 | if (ret) | ||
16326 | goto err; | ||
16327 | |||
16328 | return 0; | ||
16317 | 16329 | ||
16318 | intel_backlight_register(dev); | 16330 | err: |
16331 | return ret; | ||
16319 | } | 16332 | } |
16320 | 16333 | ||
16321 | void intel_connector_unregister(struct drm_connector *connector) | 16334 | void intel_connector_unregister(struct drm_connector *connector) |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index d4e037e20fa1..30d410173816 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -4507,6 +4507,11 @@ static int | |||
4507 | intel_dp_connector_register(struct drm_connector *connector) | 4507 | intel_dp_connector_register(struct drm_connector *connector) |
4508 | { | 4508 | { |
4509 | struct intel_dp *intel_dp = intel_attached_dp(connector); | 4509 | struct intel_dp *intel_dp = intel_attached_dp(connector); |
4510 | int ret; | ||
4511 | |||
4512 | ret = intel_connector_register(connector); | ||
4513 | if (ret) | ||
4514 | return ret; | ||
4510 | 4515 | ||
4511 | i915_debugfs_connector_add(connector); | 4516 | i915_debugfs_connector_add(connector); |
4512 | 4517 | ||
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 89e7c98f5693..5f88e12575ac 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -336,6 +336,7 @@ static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { | |||
336 | .fill_modes = drm_helper_probe_single_connector_modes, | 336 | .fill_modes = drm_helper_probe_single_connector_modes, |
337 | .set_property = intel_dp_mst_set_property, | 337 | .set_property = intel_dp_mst_set_property, |
338 | .atomic_get_property = intel_connector_atomic_get_property, | 338 | .atomic_get_property = intel_connector_atomic_get_property, |
339 | .late_register = intel_connector_register, | ||
339 | .early_unregister = intel_connector_unregister, | 340 | .early_unregister = intel_connector_unregister, |
340 | .destroy = intel_dp_mst_connector_destroy, | 341 | .destroy = intel_dp_mst_connector_destroy, |
341 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, | 342 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, |
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index ca2de043b9ce..3156d8df7921 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -1506,11 +1506,15 @@ extern struct drm_display_mode *intel_find_panel_downclock( | |||
1506 | struct drm_device *dev, | 1506 | struct drm_device *dev, |
1507 | struct drm_display_mode *fixed_mode, | 1507 | struct drm_display_mode *fixed_mode, |
1508 | struct drm_connector *connector); | 1508 | struct drm_connector *connector); |
1509 | void intel_backlight_register(struct drm_device *dev); | ||
1510 | 1509 | ||
1511 | #if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) | 1510 | #if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) |
1511 | int intel_backlight_device_register(struct intel_connector *connector); | ||
1512 | void intel_backlight_device_unregister(struct intel_connector *connector); | 1512 | void intel_backlight_device_unregister(struct intel_connector *connector); |
1513 | #else /* CONFIG_BACKLIGHT_CLASS_DEVICE */ | 1513 | #else /* CONFIG_BACKLIGHT_CLASS_DEVICE */ |
1514 | static int intel_backlight_device_register(struct intel_connector *connector) | ||
1515 | { | ||
1516 | return 0; | ||
1517 | } | ||
1514 | static inline void intel_backlight_device_unregister(struct intel_connector *connector) | 1518 | static inline void intel_backlight_device_unregister(struct intel_connector *connector) |
1515 | { | 1519 | { |
1516 | } | 1520 | } |
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index ae2dcaf1b52e..80cc0f9de6c9 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c | |||
@@ -1390,6 +1390,7 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs | |||
1390 | static const struct drm_connector_funcs intel_dsi_connector_funcs = { | 1390 | static const struct drm_connector_funcs intel_dsi_connector_funcs = { |
1391 | .dpms = drm_atomic_helper_connector_dpms, | 1391 | .dpms = drm_atomic_helper_connector_dpms, |
1392 | .detect = intel_dsi_detect, | 1392 | .detect = intel_dsi_detect, |
1393 | .late_register = intel_connector_register, | ||
1393 | .early_unregister = intel_connector_unregister, | 1394 | .early_unregister = intel_connector_unregister, |
1394 | .destroy = intel_dsi_connector_destroy, | 1395 | .destroy = intel_dsi_connector_destroy, |
1395 | .fill_modes = drm_helper_probe_single_connector_modes, | 1396 | .fill_modes = drm_helper_probe_single_connector_modes, |
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 60e4ddf2ec6d..669eae46ffa9 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c | |||
@@ -341,6 +341,7 @@ static void intel_dvo_destroy(struct drm_connector *connector) | |||
341 | static const struct drm_connector_funcs intel_dvo_connector_funcs = { | 341 | static const struct drm_connector_funcs intel_dvo_connector_funcs = { |
342 | .dpms = drm_atomic_helper_connector_dpms, | 342 | .dpms = drm_atomic_helper_connector_dpms, |
343 | .detect = intel_dvo_detect, | 343 | .detect = intel_dvo_detect, |
344 | .late_register = intel_connector_register, | ||
344 | .early_unregister = intel_connector_unregister, | 345 | .early_unregister = intel_connector_unregister, |
345 | .destroy = intel_dvo_destroy, | 346 | .destroy = intel_dvo_destroy, |
346 | .fill_modes = drm_helper_probe_single_connector_modes, | 347 | .fill_modes = drm_helper_probe_single_connector_modes, |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index fb21626ada64..48ca48c9faff 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -1774,6 +1774,7 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = { | |||
1774 | .fill_modes = drm_helper_probe_single_connector_modes, | 1774 | .fill_modes = drm_helper_probe_single_connector_modes, |
1775 | .set_property = intel_hdmi_set_property, | 1775 | .set_property = intel_hdmi_set_property, |
1776 | .atomic_get_property = intel_connector_atomic_get_property, | 1776 | .atomic_get_property = intel_connector_atomic_get_property, |
1777 | .late_register = intel_connector_register, | ||
1777 | .early_unregister = intel_connector_unregister, | 1778 | .early_unregister = intel_connector_unregister, |
1778 | .destroy = intel_hdmi_destroy, | 1779 | .destroy = intel_hdmi_destroy, |
1779 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, | 1780 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 6306c5499587..d4d06fb8de2e 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -555,6 +555,7 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = { | |||
555 | .fill_modes = drm_helper_probe_single_connector_modes, | 555 | .fill_modes = drm_helper_probe_single_connector_modes, |
556 | .set_property = intel_lvds_set_property, | 556 | .set_property = intel_lvds_set_property, |
557 | .atomic_get_property = intel_connector_atomic_get_property, | 557 | .atomic_get_property = intel_connector_atomic_get_property, |
558 | .late_register = intel_connector_register, | ||
558 | .early_unregister = intel_connector_unregister, | 559 | .early_unregister = intel_connector_unregister, |
559 | .destroy = intel_lvds_destroy, | 560 | .destroy = intel_lvds_destroy, |
560 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, | 561 | .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, |
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index bf721781c259..3c0b97f0bfae 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c | |||
@@ -1163,7 +1163,7 @@ static const struct backlight_ops intel_backlight_device_ops = { | |||
1163 | .get_brightness = intel_backlight_device_get_brightness, | 1163 | .get_brightness = intel_backlight_device_get_brightness, |
1164 | }; | 1164 | }; |
1165 | 1165 | ||
1166 | static int intel_backlight_device_register(struct intel_connector *connector) | 1166 | int intel_backlight_device_register(struct intel_connector *connector) |
1167 | { | 1167 | { |
1168 | struct intel_panel *panel = &connector->panel; | 1168 | struct intel_panel *panel = &connector->panel; |
1169 | struct backlight_properties props; | 1169 | struct backlight_properties props; |
@@ -1225,11 +1225,6 @@ void intel_backlight_device_unregister(struct intel_connector *connector) | |||
1225 | panel->backlight.device = NULL; | 1225 | panel->backlight.device = NULL; |
1226 | } | 1226 | } |
1227 | } | 1227 | } |
1228 | #else /* CONFIG_BACKLIGHT_CLASS_DEVICE */ | ||
1229 | static int intel_backlight_device_register(struct intel_connector *connector) | ||
1230 | { | ||
1231 | return 0; | ||
1232 | } | ||
1233 | #endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */ | 1228 | #endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */ |
1234 | 1229 | ||
1235 | /* | 1230 | /* |
@@ -1809,11 +1804,3 @@ void intel_panel_fini(struct intel_panel *panel) | |||
1809 | drm_mode_destroy(intel_connector->base.dev, | 1804 | drm_mode_destroy(intel_connector->base.dev, |
1810 | panel->downclock_mode); | 1805 | panel->downclock_mode); |
1811 | } | 1806 | } |
1812 | |||
1813 | void intel_backlight_register(struct drm_device *dev) | ||
1814 | { | ||
1815 | struct intel_connector *connector; | ||
1816 | |||
1817 | for_each_intel_connector(dev, connector) | ||
1818 | intel_backlight_device_register(connector); | ||
1819 | } | ||
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 580cc876a90f..c0c0a65fabf3 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -2181,6 +2181,11 @@ static int | |||
2181 | intel_sdvo_connector_register(struct drm_connector *connector) | 2181 | intel_sdvo_connector_register(struct drm_connector *connector) |
2182 | { | 2182 | { |
2183 | struct intel_sdvo *sdvo = intel_attached_sdvo(connector); | 2183 | struct intel_sdvo *sdvo = intel_attached_sdvo(connector); |
2184 | int ret; | ||
2185 | |||
2186 | ret = intel_connector_register(connector); | ||
2187 | if (ret) | ||
2188 | return ret; | ||
2184 | 2189 | ||
2185 | return sysfs_create_link(&connector->kdev->kobj, | 2190 | return sysfs_create_link(&connector->kdev->kobj, |
2186 | &sdvo->ddc.dev.kobj, | 2191 | &sdvo->ddc.dev.kobj, |
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 4ce70a9f9df2..83fe6706a188 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -1501,6 +1501,7 @@ out: | |||
1501 | static const struct drm_connector_funcs intel_tv_connector_funcs = { | 1501 | static const struct drm_connector_funcs intel_tv_connector_funcs = { |
1502 | .dpms = drm_atomic_helper_connector_dpms, | 1502 | .dpms = drm_atomic_helper_connector_dpms, |
1503 | .detect = intel_tv_detect, | 1503 | .detect = intel_tv_detect, |
1504 | .late_register = intel_connector_register, | ||
1504 | .early_unregister = intel_connector_unregister, | 1505 | .early_unregister = intel_connector_unregister, |
1505 | .destroy = intel_tv_destroy, | 1506 | .destroy = intel_tv_destroy, |
1506 | .set_property = intel_tv_set_property, | 1507 | .set_property = intel_tv_set_property, |