diff options
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_drv.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_rgb.c | 20 |
2 files changed, 10 insertions, 14 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 0da9862ad8ed..70e9fd59c5a2 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c | |||
@@ -142,9 +142,9 @@ static int sun4i_drv_bind(struct device *dev) | |||
142 | 142 | ||
143 | /* Create our layers */ | 143 | /* Create our layers */ |
144 | drv->layers = sun4i_layers_init(drm); | 144 | drv->layers = sun4i_layers_init(drm); |
145 | if (!drv->layers) { | 145 | if (IS_ERR(drv->layers)) { |
146 | dev_err(drm->dev, "Couldn't create the planes\n"); | 146 | dev_err(drm->dev, "Couldn't create the planes\n"); |
147 | ret = -EINVAL; | 147 | ret = PTR_ERR(drv->layers); |
148 | goto free_drm; | 148 | goto free_drm; |
149 | } | 149 | } |
150 | 150 | ||
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index c3ff10f559cc..d198ad7e5323 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c | |||
@@ -152,15 +152,13 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder) | |||
152 | 152 | ||
153 | DRM_DEBUG_DRIVER("Enabling RGB output\n"); | 153 | DRM_DEBUG_DRIVER("Enabling RGB output\n"); |
154 | 154 | ||
155 | if (!IS_ERR(tcon->panel)) { | 155 | if (!IS_ERR(tcon->panel)) |
156 | drm_panel_prepare(tcon->panel); | 156 | drm_panel_prepare(tcon->panel); |
157 | drm_panel_enable(tcon->panel); | ||
158 | } | ||
159 | |||
160 | /* encoder->bridge can be NULL; drm_bridge_enable checks for it */ | ||
161 | drm_bridge_enable(encoder->bridge); | ||
162 | 157 | ||
163 | sun4i_tcon_channel_enable(tcon, 0); | 158 | sun4i_tcon_channel_enable(tcon, 0); |
159 | |||
160 | if (!IS_ERR(tcon->panel)) | ||
161 | drm_panel_enable(tcon->panel); | ||
164 | } | 162 | } |
165 | 163 | ||
166 | static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder) | 164 | static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder) |
@@ -171,15 +169,13 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder) | |||
171 | 169 | ||
172 | DRM_DEBUG_DRIVER("Disabling RGB output\n"); | 170 | DRM_DEBUG_DRIVER("Disabling RGB output\n"); |
173 | 171 | ||
174 | sun4i_tcon_channel_disable(tcon, 0); | 172 | if (!IS_ERR(tcon->panel)) |
173 | drm_panel_disable(tcon->panel); | ||
175 | 174 | ||
176 | /* encoder->bridge can be NULL; drm_bridge_disable checks for it */ | 175 | sun4i_tcon_channel_disable(tcon, 0); |
177 | drm_bridge_disable(encoder->bridge); | ||
178 | 176 | ||
179 | if (!IS_ERR(tcon->panel)) { | 177 | if (!IS_ERR(tcon->panel)) |
180 | drm_panel_disable(tcon->panel); | ||
181 | drm_panel_unprepare(tcon->panel); | 178 | drm_panel_unprepare(tcon->panel); |
182 | } | ||
183 | } | 179 | } |
184 | 180 | ||
185 | static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder, | 181 | static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder, |