Hi, On Sat, May 26, 2018 at 08:24:56PM +0300, Laurent Pinchart wrote: > Rename the jump labels according to the cleanup they perform, not the > location they're accessed from, and move functions from error checks to > cleanup paths, and move reference handling to simplify cleanup. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/omapdrm/dss/dpi.c | 10 ++-------- > drivers/gpu/drm/omapdrm/dss/dsi.c | 9 ++++----- > drivers/gpu/drm/omapdrm/dss/hdmi4.c | 7 ++++--- > drivers/gpu/drm/omapdrm/dss/hdmi5.c | 7 ++++--- > drivers/gpu/drm/omapdrm/dss/sdi.c | 7 ++----- > drivers/gpu/drm/omapdrm/dss/venc.c | 7 +++---- > 6 files changed, 19 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c > index 8a7c951a413c..e97f54d5f3e1 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dpi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c > @@ -745,15 +745,14 @@ int dpi_init_port(struct dss_device *dss, struct platform_device *pdev, > return 0; > > r = of_property_read_u32(ep, "data-lines", &datalines); > + of_node_put(ep); > if (r) { > DSSERR("failed to parse datalines\n"); > - goto err_datalines; > + return r; > } > > dpi->data_lines = datalines; > > - of_node_put(ep); > - > dpi->pdev = pdev; > dpi->dss_model = dss_model; > dpi->dss = dss; > @@ -764,11 +763,6 @@ int dpi_init_port(struct dss_device *dss, struct platform_device *pdev, > dpi_init_output_port(dpi, port); > > return 0; > - > -err_datalines: > - of_node_put(ep); > - > - return r; > } > > void dpi_uninit_port(struct device_node *port) > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index b3e50d8a7477..278094f29255 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -5360,7 +5360,7 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) > > r = dsi_runtime_get(dsi); > if (r) > - goto err_runtime_get; > + goto err_pm_disable; > > rev = dsi_read_reg(dsi, DSI_REVISION); > dev_dbg(dev, "OMAP DSI rev %d.%d\n", > @@ -5381,7 +5381,7 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) > r = dsi_probe_of(dsi); > if (r) { > DSSERR("Invalid DSI DT data\n"); > - goto err_probe_of; > + goto err_uninit_output; > } > > r = of_platform_populate(dev->of_node, NULL, NULL, dev); > @@ -5404,11 +5404,10 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) > > return 0; > > -err_probe_of: > +err_uninit_output: > dsi_uninit_output(dsi); > dsi_runtime_put(dsi); > - > -err_runtime_get: > +err_pm_disable: > pm_runtime_disable(dev); > return r; > } > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c > index bf800cede2ad..1d1f2e0b2b2a 100644 > --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c > @@ -780,9 +780,7 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data) > r = hdmi_audio_register(hdmi); > if (r) { > DSSERR("Registering HDMI audio failed\n"); > - hdmi_uninit_output(hdmi); > - pm_runtime_disable(&pdev->dev); > - return r; > + goto err_uninit_output; > } > > hdmi->debugfs = dss_debugfs_create_file(dss, "hdmi", hdmi_dump_regs, > @@ -790,6 +788,9 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data) > > return 0; > > +err_uninit_output: > + hdmi_uninit_output(hdmi); > + pm_runtime_disable(&pdev->dev); > err_pll: > hdmi_pll_uninit(&hdmi->pll); > err_free: > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c > index e5d23dd19f99..92ae561bf974 100644 > --- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c > @@ -773,9 +773,7 @@ static int hdmi5_bind(struct device *dev, struct device *master, void *data) > r = hdmi_audio_register(hdmi); > if (r) { > DSSERR("Registering HDMI audio failed %d\n", r); > - hdmi_uninit_output(hdmi); > - pm_runtime_disable(&pdev->dev); > - return r; > + goto err_uninit_output; > } > > hdmi->debugfs = dss_debugfs_create_file(dss, "hdmi", hdmi_dump_regs, > @@ -783,6 +781,9 @@ static int hdmi5_bind(struct device *dev, struct device *master, void *data) > > return 0; > > +err_uninit_output: > + hdmi_uninit_output(hdmi); > + pm_runtime_disable(&pdev->dev); > err_pll: > hdmi_pll_uninit(&hdmi->pll); > err_free: > diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c > index fd5320041911..0ace553a21c5 100644 > --- a/drivers/gpu/drm/omapdrm/dss/sdi.c > +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c > @@ -355,16 +355,15 @@ int sdi_init_port(struct dss_device *dss, struct platform_device *pdev, > } > > r = of_property_read_u32(ep, "datapairs", &datapairs); > + of_node_put(ep); > if (r) { > DSSERR("failed to parse datapairs\n"); > - goto err_datapairs; > + goto err_free; > } > > sdi->datapairs = datapairs; > sdi->dss = dss; > > - of_node_put(ep); > - > sdi->pdev = pdev; > port->data = sdi; > > @@ -372,8 +371,6 @@ int sdi_init_port(struct dss_device *dss, struct platform_device *pdev, > > return 0; > > -err_datapairs: > - of_node_put(ep); > err_free: > kfree(sdi); > > diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c > index 47985549a81c..c8fb91bb1ad3 100644 > --- a/drivers/gpu/drm/omapdrm/dss/venc.c > +++ b/drivers/gpu/drm/omapdrm/dss/venc.c > @@ -867,7 +867,7 @@ static int venc_bind(struct device *dev, struct device *master, void *data) > > r = venc_runtime_get(venc); > if (r) > - goto err_runtime_get; > + goto err_pm_disable; > > rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff); > dev_dbg(&pdev->dev, "OMAP VENC rev %d\n", rev_id); > @@ -877,7 +877,7 @@ static int venc_bind(struct device *dev, struct device *master, void *data) > r = venc_probe_of(venc); > if (r) { > DSSERR("Invalid DT data\n"); > - goto err_probe_of; > + goto err_pm_disable; > } > > venc->debugfs = dss_debugfs_create_file(dss, "venc", venc_dump_regs, > @@ -887,8 +887,7 @@ static int venc_bind(struct device *dev, struct device *master, void *data) > > return 0; > > -err_probe_of: > -err_runtime_get: > +err_pm_disable: > pm_runtime_disable(&pdev->dev); > err_free: > kfree(venc); > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel