diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2016-05-11 13:04:18 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2016-05-30 02:28:33 -0400 |
commit | 7aa2e2b731b337a7bc74cd076bbcd6b8b4b95fbf (patch) | |
tree | 418e748dff765ce9a2174761bd0f1cdca93f8204 | |
parent | 3d6bd9065b7acf8499d414d70bdb4b4955856299 (diff) |
drm/sun4i: Convert to connector register helpers
Now that connector register helpers have been created, switch to them.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_drv.c | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index af62b24c39b1..257d2b4f3645 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c | |||
@@ -24,34 +24,6 @@ | |||
24 | #include "sun4i_layer.h" | 24 | #include "sun4i_layer.h" |
25 | #include "sun4i_tcon.h" | 25 | #include "sun4i_tcon.h" |
26 | 26 | ||
27 | static int sun4i_drv_connector_plug_all(struct drm_device *drm) | ||
28 | { | ||
29 | struct drm_connector *connector, *failed; | ||
30 | int ret; | ||
31 | |||
32 | mutex_lock(&drm->mode_config.mutex); | ||
33 | list_for_each_entry(connector, &drm->mode_config.connector_list, head) { | ||
34 | ret = drm_connector_register(connector); | ||
35 | if (ret) { | ||
36 | failed = connector; | ||
37 | goto err; | ||
38 | } | ||
39 | } | ||
40 | mutex_unlock(&drm->mode_config.mutex); | ||
41 | return 0; | ||
42 | |||
43 | err: | ||
44 | list_for_each_entry(connector, &drm->mode_config.connector_list, head) { | ||
45 | if (failed == connector) | ||
46 | break; | ||
47 | |||
48 | drm_connector_unregister(connector); | ||
49 | } | ||
50 | mutex_unlock(&drm->mode_config.mutex); | ||
51 | |||
52 | return ret; | ||
53 | } | ||
54 | |||
55 | static int sun4i_drv_enable_vblank(struct drm_device *drm, unsigned int pipe) | 27 | static int sun4i_drv_enable_vblank(struct drm_device *drm, unsigned int pipe) |
56 | { | 28 | { |
57 | struct sun4i_drv *drv = drm->dev_private; | 29 | struct sun4i_drv *drv = drm->dev_private; |
@@ -206,7 +178,7 @@ static int sun4i_drv_bind(struct device *dev) | |||
206 | if (ret) | 178 | if (ret) |
207 | goto free_drm; | 179 | goto free_drm; |
208 | 180 | ||
209 | ret = sun4i_drv_connector_plug_all(drm); | 181 | ret = drm_connector_register_all(drm); |
210 | if (ret) | 182 | if (ret) |
211 | goto unregister_drm; | 183 | goto unregister_drm; |
212 | 184 | ||
@@ -223,6 +195,7 @@ static void sun4i_drv_unbind(struct device *dev) | |||
223 | { | 195 | { |
224 | struct drm_device *drm = dev_get_drvdata(dev); | 196 | struct drm_device *drm = dev_get_drvdata(dev); |
225 | 197 | ||
198 | drm_connector_unregister_all(drm); | ||
226 | drm_dev_unregister(drm); | 199 | drm_dev_unregister(drm); |
227 | drm_kms_helper_poll_fini(drm); | 200 | drm_kms_helper_poll_fini(drm); |
228 | sun4i_framebuffer_free(drm); | 201 | sun4i_framebuffer_free(drm); |