[PATCH v7 1/2] drm/panel: Add support for Truly NT35597 panel driver

Abhinav Kumar abhinavk at codeaurora.org
Thu Sep 20 17:45:45 UTC 2018


Hi Bjorn

Thanks for the comment.

Yes, I will move of_node_put(dsi1) to right after 
of_find_mipi_dsi_host_by_node and remove it from err_dsi_device.

Thanks

Abhinav
On 2018-09-20 09:54, Bjorn Andersson wrote:
> On Wed 19 Sep 19:55 PDT 2018, Abhinav Kumar wrote:
>> +static int truly_nt35597_probe(struct mipi_dsi_device *dsi)
>> +{
> [..]
>> +	dsi1 = of_graph_get_remote_node(dsi->dev.of_node, 1, -1);
>> +	if (!dsi1) {
>> +		DRM_DEV_ERROR(dev,
>> +			"failed to get remote node for dsi1_device\n");
>> +		ret = -ENODEV;
>> +		goto err_get_remote;
>> +	}
>> +
>> +	dsi1_host = of_find_mipi_dsi_host_by_node(dsi1);
>> +	if (!dsi1_host) {
>> +		DRM_DEV_ERROR(dev, "failed to find dsi host\n");
>> +		ret = -EPROBE_DEFER;
>> +		goto err_host;
>> +	}
>> +
>> +	of_node_put(dsi1);
>> +
>> +	/* register the second DSI device */
>> +	dsi1_device = mipi_dsi_device_register_full(dsi1_host, &info);
>> +	if (IS_ERR(dsi1_device)) {
> [..]
>> +		goto err_dsi_device;
> [..]
>> +		if (ret < 0) {
>> +			DRM_DEV_ERROR(dev,
>> +				"dsi attach failed i = %d\n", i);
>> +				goto err_dsi_attach;
>> +		}
>> +	}
>> +
>> +	return 0;
>> +
>> +err_dsi_attach:
>> +	drm_panel_remove(&ctx->panel);
>> +err_panel_add:
>> +	mipi_dsi_device_unregister(dsi1_device);
>> +err_dsi_device:
>> +err_host:
>> +	of_node_put(dsi1);
> 
> dsi1 is already put if we came here through err_dsi_device et al.
> 
> You don't need to reference dsi1 beyond the call to
> of_find_mipi_dsi_host_by_node() to put it before checking the 
> dsi1_host.
> 
>> +err_get_remote:
>> +	return ret;
>> +}
> 
> Regards,
> Bjorn


More information about the dri-devel mailing list