aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/vc4/vc4_dpi.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c
index 9817dbfa4ac3..9cb2d3e6e1c0 100644
--- a/drivers/gpu/drm/vc4/vc4_dpi.c
+++ b/drivers/gpu/drm/vc4/vc4_dpi.c
@@ -236,14 +236,12 @@ static struct drm_connector *vc4_dpi_connector_init(struct drm_device *dev,
236{ 236{
237 struct drm_connector *connector = NULL; 237 struct drm_connector *connector = NULL;
238 struct vc4_dpi_connector *dpi_connector; 238 struct vc4_dpi_connector *dpi_connector;
239 int ret = 0;
240 239
241 dpi_connector = devm_kzalloc(dev->dev, sizeof(*dpi_connector), 240 dpi_connector = devm_kzalloc(dev->dev, sizeof(*dpi_connector),
242 GFP_KERNEL); 241 GFP_KERNEL);
243 if (!dpi_connector) { 242 if (!dpi_connector)
244 ret = -ENOMEM; 243 return ERR_PTR(-ENOMEM);
245 goto fail; 244
246 }
247 connector = &dpi_connector->base; 245 connector = &dpi_connector->base;
248 246
249 dpi_connector->encoder = dpi->encoder; 247 dpi_connector->encoder = dpi->encoder;
@@ -260,12 +258,6 @@ static struct drm_connector *vc4_dpi_connector_init(struct drm_device *dev,
260 drm_mode_connector_attach_encoder(connector, dpi->encoder); 258 drm_mode_connector_attach_encoder(connector, dpi->encoder);
261 259
262 return connector; 260 return connector;
263
264 fail:
265 if (connector)
266 vc4_dpi_connector_destroy(connector);
267
268 return ERR_PTR(ret);
269} 261}
270 262
271static const struct drm_encoder_funcs vc4_dpi_encoder_funcs = { 263static const struct drm_encoder_funcs vc4_dpi_encoder_funcs = {