Re: [PATCH v5 4/5] drm: imx: Add i.MX 6 MIPI DSI host platform driver

From: Adrian Ratiu
Date: Mon Mar 30 2020 - 17:19:39 EST


On Mon, 30 Mar 2020, Fabio Estevam <festevam@xxxxxxxxx> wrote:
Hi Adrian,
On Mon, Mar 30, 2020 at 8:34 AM Adrian Ratiu <adrian.ratiu@xxxxxxxxxxxxx> wrote:

This adds support for the Synopsis DesignWare MIPI DSI v1.01 host controller which is embedded in i.MX 6 SoCs.
Based on following patches, but updated/extended to work with existing support found in the kernel:
- drm: imx: Support Synopsys DesignWare MIPI DSI host controller Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx>
- ARM: dtsi: imx6qdl: Add support for MIPI DSI host controller Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx>

This one looks like a devicetree patch, but this patch does not touch devicetree.
+ ret = clk_prepare_enable(dsi->pllref_clk); + if (ret) { + dev_err(dev, "%s: Failed to enable pllref_clk\n", __func__); + return ret; + } + + dsi->mux_sel = syscon_regmap_lookup_by_phandle(dev->of_node, "fsl,gpr"); + if (IS_ERR(dsi->mux_sel)) { + ret = PTR_ERR(dsi->mux_sel); + dev_err(dev, "%s: Failed to get GPR regmap: %d\n", + __func__, ret); + return ret;

You should disable the dsi->pllref_clk clock prior to returning the error.
+ dsi->mipi_dsi = dw_mipi_dsi_probe(pdev, pdata); + if (IS_ERR(dsi->mipi_dsi)) { + ret = PTR_ERR(dsi->mipi_dsi); + dev_dbg(dev, "%s: Unable to probe DW DSI host device: %d\n", + __func__, ret); + return -ENODEV;

Same here. You should disable the clock. Shouldn't you return 'ret' here instead of -ENODEV?
+module_platform_driver(imx_mipi_dsi_driver); + +MODULE_DESCRIPTION("i.MX6 MIPI DSI host controller driver"); +MODULE_AUTHOR("Liu Ying <Ying.Liu@xxxxxxxxxxxxx>");

The freescale.com domain is no longer functional.
Ying Liu's NXP address is victor.liu@xxxxxxxx You could probably add your entry as well.

Hi Fabio,

All the issues you pointed out are valid and will be addressed in v6 (including the device tree ones).

Thank you, much appreciated,
Adrian