* [PATCH 0/2] drm/rockchip: lvds: probe logging improvements @ 2025-02-28 16:57 Heiko Stuebner 2025-02-28 16:57 ` [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get Heiko Stuebner 2025-02-28 16:57 ` [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral Heiko Stuebner 0 siblings, 2 replies; 7+ messages in thread From: Heiko Stuebner @ 2025-02-28 16:57 UTC (permalink / raw) To: heiko Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, quentin.schulz Getting the panel already uses dev_err_probe to stay silent, when the panel just probes later, and the lvds defers. But the phy needed on px30, also has the capability to probe after the lvds. So make the rest of the lvds probe/bind logic also use more modern logging than DRM_DEV_ERR, that is deprecated anyway. Heiko Stuebner (2): drm/rockchip: lvds: move pclk preparation in with clk_get drm/rockchip: lvds: Hide scary error messages on probe deferral drivers/gpu/drm/rockchip/rockchip_lvds.c | 76 +++++++++--------------- 1 file changed, 28 insertions(+), 48 deletions(-) -- 2.47.2 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get 2025-02-28 16:57 [PATCH 0/2] drm/rockchip: lvds: probe logging improvements Heiko Stuebner @ 2025-02-28 16:57 ` Heiko Stuebner 2025-02-28 17:19 ` Quentin Schulz 2025-02-28 16:57 ` [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral Heiko Stuebner 1 sibling, 1 reply; 7+ messages in thread From: Heiko Stuebner @ 2025-02-28 16:57 UTC (permalink / raw) To: heiko Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, quentin.schulz, Heiko Stuebner From: Heiko Stuebner <heiko.stuebner@cherry.de> The LVDS block needs a separate pclk only on some socs, so currently requests and prepares it in the soc-specific probe function, but common code is required to unprepare it in the error path or on driver remove. While this works because clk_unprepare just does nothing if clk is NULL, this mismatch of who is responsible still is not very nice. The clock-framework already has a helper for clk-get-and-prepare even with devres support in devm_clk_get_prepared(). This will get and prepare the clock and also unprepare it on driver removal, saving the driver from having to handle it "manually". Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> --- drivers/gpu/drm/rockchip/rockchip_lvds.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/rockchip/rockchip_lvds.c index 385cf6881504..c19b7b1f6cb5 100644 --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -448,13 +448,11 @@ struct drm_encoder_helper_funcs px30_lvds_encoder_helper_funcs = { static int rk3288_lvds_probe(struct platform_device *pdev, struct rockchip_lvds *lvds) { - int ret; - lvds->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(lvds->regs)) return PTR_ERR(lvds->regs); - lvds->pclk = devm_clk_get(lvds->dev, "pclk_lvds"); + lvds->pclk = devm_clk_get_prepared(lvds->dev, "pclk_lvds"); if (IS_ERR(lvds->pclk)) { DRM_DEV_ERROR(lvds->dev, "could not get pclk_lvds\n"); return PTR_ERR(lvds->pclk); @@ -480,12 +478,6 @@ static int rk3288_lvds_probe(struct platform_device *pdev, } } - ret = clk_prepare(lvds->pclk); - if (ret < 0) { - DRM_DEV_ERROR(lvds->dev, "failed to prepare pclk_lvds\n"); - return ret; - } - return 0; } @@ -728,20 +720,15 @@ static int rockchip_lvds_probe(struct platform_device *pdev) dev_set_drvdata(dev, lvds); ret = component_add(&pdev->dev, &rockchip_lvds_component_ops); - if (ret < 0) { + if (ret < 0) DRM_DEV_ERROR(dev, "failed to add component\n"); - clk_unprepare(lvds->pclk); - } return ret; } static void rockchip_lvds_remove(struct platform_device *pdev) { - struct rockchip_lvds *lvds = platform_get_drvdata(pdev); - component_del(&pdev->dev, &rockchip_lvds_component_ops); - clk_unprepare(lvds->pclk); } struct platform_driver rockchip_lvds_driver = { -- 2.47.2 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get 2025-02-28 16:57 ` [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get Heiko Stuebner @ 2025-02-28 17:19 ` Quentin Schulz 0 siblings, 0 replies; 7+ messages in thread From: Quentin Schulz @ 2025-02-28 17:19 UTC (permalink / raw) To: Heiko Stuebner Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner Hi Heiko, On 2/28/25 5:57 PM, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@cherry.de> > > The LVDS block needs a separate pclk only on some socs, so currently > requests and prepares it in the soc-specific probe function, but common > code is required to unprepare it in the error path or on driver remove. > > While this works because clk_unprepare just does nothing if clk is NULL, > this mismatch of who is responsible still is not very nice. > The clock-framework already has a helper for clk-get-and-prepare even > with devres support in devm_clk_get_prepared(). > > This will get and prepare the clock and also unprepare it on driver > removal, saving the driver from having to handle it "manually". > > Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Small nitpick below. > --- > drivers/gpu/drm/rockchip/rockchip_lvds.c | 17 ++--------------- > 1 file changed, 2 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/rockchip/rockchip_lvds.c > index 385cf6881504..c19b7b1f6cb5 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c > +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c > @@ -448,13 +448,11 @@ struct drm_encoder_helper_funcs px30_lvds_encoder_helper_funcs = { > static int rk3288_lvds_probe(struct platform_device *pdev, > struct rockchip_lvds *lvds) > { > - int ret; > - > lvds->regs = devm_platform_ioremap_resource(pdev, 0); > if (IS_ERR(lvds->regs)) > return PTR_ERR(lvds->regs); > > - lvds->pclk = devm_clk_get(lvds->dev, "pclk_lvds"); > + lvds->pclk = devm_clk_get_prepared(lvds->dev, "pclk_lvds"); > if (IS_ERR(lvds->pclk)) { > DRM_DEV_ERROR(lvds->dev, "could not get pclk_lvds\n"); Should we say Could not get or prepare pclk_lvds\n instead? Thanks! Quentin _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral 2025-02-28 16:57 [PATCH 0/2] drm/rockchip: lvds: probe logging improvements Heiko Stuebner 2025-02-28 16:57 ` [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get Heiko Stuebner @ 2025-02-28 16:57 ` Heiko Stuebner 2025-02-28 17:42 ` Quentin Schulz 1 sibling, 1 reply; 7+ messages in thread From: Heiko Stuebner @ 2025-02-28 16:57 UTC (permalink / raw) To: heiko Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, quentin.schulz, Heiko Stuebner From: Heiko Stuebner <heiko.stuebner@cherry.de> Commit 52d11c863ac9 ("drm/rockchip: lvds: do not print scary message when probing defer") already started hiding scary messages that are not relevant if the requested supply just returned EPROBE_DEFER, but there are more possible sources - like the phy. So modernize the whole logging in the probe path by replacing the remaining deprecated DRM_DEV_ERROR with appropriate dev_err(_probe) and drm_err calls. The distinction here is that all messages talking about mishaps of the lvds element use dev_err(_probe) while messages caused by interaction with the main Rockchip drm-device use drm_err. Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> --- drivers/gpu/drm/rockchip/rockchip_lvds.c | 59 +++++++++++------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/rockchip/rockchip_lvds.c index c19b7b1f6cb5..2b5101a764c8 100644 --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -453,10 +453,9 @@ static int rk3288_lvds_probe(struct platform_device *pdev, return PTR_ERR(lvds->regs); lvds->pclk = devm_clk_get_prepared(lvds->dev, "pclk_lvds"); - if (IS_ERR(lvds->pclk)) { - DRM_DEV_ERROR(lvds->dev, "could not get pclk_lvds\n"); - return PTR_ERR(lvds->pclk); - } + if (IS_ERR(lvds->pclk)) + return dev_err_probe(lvds->dev, PTR_ERR(lvds->pclk), + "could not get pclk_lvds\n"); lvds->pins = devm_kzalloc(lvds->dev, sizeof(*lvds->pins), GFP_KERNEL); @@ -465,14 +464,14 @@ static int rk3288_lvds_probe(struct platform_device *pdev, lvds->pins->p = devm_pinctrl_get(lvds->dev); if (IS_ERR(lvds->pins->p)) { - DRM_DEV_ERROR(lvds->dev, "no pinctrl handle\n"); + dev_err(lvds->dev, "no pinctrl handle\n"); devm_kfree(lvds->dev, lvds->pins); lvds->pins = NULL; } else { lvds->pins->default_state = pinctrl_lookup_state(lvds->pins->p, "lcdc"); if (IS_ERR(lvds->pins->default_state)) { - DRM_DEV_ERROR(lvds->dev, "no default pinctrl state\n"); + dev_err(lvds->dev, "no default pinctrl state\n"); devm_kfree(lvds->dev, lvds->pins); lvds->pins = NULL; } @@ -547,11 +546,10 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, lvds->drm_dev = drm_dev; port = of_graph_get_port_by_id(dev->of_node, 1); - if (!port) { - DRM_DEV_ERROR(dev, - "can't found port point, please init lvds panel port!\n"); - return -EINVAL; - } + if (!port) + return dev_err_probe(dev, -EINVAL, + "can't found port point, please init lvds panel port!\n"); + for_each_child_of_node(port, endpoint) { child_count++; of_property_read_u32(endpoint, "reg", &endpoint_id); @@ -563,7 +561,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, } } if (!child_count) { - DRM_DEV_ERROR(dev, "lvds port does not have any children\n"); + dev_err(dev, "lvds port does not have any children\n"); ret = -EINVAL; goto err_put_port; } else if (ret) { @@ -581,7 +579,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, lvds->output = rockchip_lvds_name_to_output(name); if (lvds->output < 0) { - DRM_DEV_ERROR(dev, "invalid output type [%s]\n", name); + dev_err(dev, "invalid output type [%s]\n", name); ret = lvds->output; goto err_put_remote; } @@ -593,7 +591,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, lvds->format = rockchip_lvds_name_to_format(name); if (lvds->format < 0) { - DRM_DEV_ERROR(dev, "invalid data-mapping format [%s]\n", name); + dev_err(dev, "invalid data-mapping format [%s]\n", name); ret = lvds->format; goto err_put_remote; } @@ -604,8 +602,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_LVDS); if (ret < 0) { - DRM_DEV_ERROR(drm_dev->dev, - "failed to initialize encoder: %d\n", ret); + drm_err(drm_dev, + "failed to initialize encoder: %d\n", ret); goto err_put_remote; } @@ -618,8 +616,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, &rockchip_lvds_connector_funcs, DRM_MODE_CONNECTOR_LVDS); if (ret < 0) { - DRM_DEV_ERROR(drm_dev->dev, - "failed to initialize connector: %d\n", ret); + drm_err(drm_dev, + "failed to initialize connector: %d\n", ret); goto err_free_encoder; } @@ -633,9 +631,9 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, connector = drm_bridge_connector_init(lvds->drm_dev, encoder); if (IS_ERR(connector)) { - DRM_DEV_ERROR(drm_dev->dev, - "failed to initialize bridge connector: %pe\n", - connector); + drm_err(drm_dev, + "failed to initialize bridge connector: %pe\n", + connector); ret = PTR_ERR(connector); goto err_free_encoder; } @@ -643,8 +641,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, ret = drm_connector_attach_encoder(connector, encoder); if (ret < 0) { - DRM_DEV_ERROR(drm_dev->dev, - "failed to attach encoder: %d\n", ret); + drm_err(drm_dev, "failed to attach encoder: %d\n", ret); goto err_free_connector; } @@ -706,24 +703,20 @@ static int rockchip_lvds_probe(struct platform_device *pdev) lvds->grf = syscon_regmap_lookup_by_phandle(dev->of_node, "rockchip,grf"); - if (IS_ERR(lvds->grf)) { - DRM_DEV_ERROR(dev, "missing rockchip,grf property\n"); - return PTR_ERR(lvds->grf); - } + if (IS_ERR(lvds->grf)) + return dev_err_probe(dev, PTR_ERR(lvds->grf), "missing rockchip,grf property\n"); ret = lvds->soc_data->probe(pdev, lvds); - if (ret) { - DRM_DEV_ERROR(dev, "Platform initialization failed\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Platform initialization failed\n"); dev_set_drvdata(dev, lvds); ret = component_add(&pdev->dev, &rockchip_lvds_component_ops); if (ret < 0) - DRM_DEV_ERROR(dev, "failed to add component\n"); + return dev_err_probe(dev, ret, "failed to add component\n"); - return ret; + return 0; } static void rockchip_lvds_remove(struct platform_device *pdev) -- 2.47.2 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral 2025-02-28 16:57 ` [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral Heiko Stuebner @ 2025-02-28 17:42 ` Quentin Schulz 2025-02-28 17:45 ` Heiko Stübner 0 siblings, 1 reply; 7+ messages in thread From: Quentin Schulz @ 2025-02-28 17:42 UTC (permalink / raw) To: Heiko Stuebner Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner Hi Heiko, On 2/28/25 5:57 PM, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@cherry.de> > > Commit 52d11c863ac9 ("drm/rockchip: lvds: do not print scary message when > probing defer") already started hiding scary messages that are not relevant > if the requested supply just returned EPROBE_DEFER, but there are more > possible sources - like the phy. > > So modernize the whole logging in the probe path by replacing the > remaining deprecated DRM_DEV_ERROR with appropriate dev_err(_probe) > and drm_err calls. > > The distinction here is that all messages talking about mishaps of the > lvds element use dev_err(_probe) while messages caused by interaction > with the main Rockchip drm-device use drm_err. > > Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> > --- > drivers/gpu/drm/rockchip/rockchip_lvds.c | 59 +++++++++++------------- > 1 file changed, 26 insertions(+), 33 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/rockchip/rockchip_lvds.c > index c19b7b1f6cb5..2b5101a764c8 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c > +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c > @@ -453,10 +453,9 @@ static int rk3288_lvds_probe(struct platform_device *pdev, > return PTR_ERR(lvds->regs); > > lvds->pclk = devm_clk_get_prepared(lvds->dev, "pclk_lvds"); > - if (IS_ERR(lvds->pclk)) { > - DRM_DEV_ERROR(lvds->dev, "could not get pclk_lvds\n"); > - return PTR_ERR(lvds->pclk); > - } > + if (IS_ERR(lvds->pclk)) > + return dev_err_probe(lvds->dev, PTR_ERR(lvds->pclk), > + "could not get pclk_lvds\n"); > > lvds->pins = devm_kzalloc(lvds->dev, sizeof(*lvds->pins), > GFP_KERNEL); > @@ -465,14 +464,14 @@ static int rk3288_lvds_probe(struct platform_device *pdev, > > lvds->pins->p = devm_pinctrl_get(lvds->dev); > if (IS_ERR(lvds->pins->p)) { > - DRM_DEV_ERROR(lvds->dev, "no pinctrl handle\n"); > + dev_err(lvds->dev, "no pinctrl handle\n"); > devm_kfree(lvds->dev, lvds->pins); > lvds->pins = NULL; > } else { > lvds->pins->default_state = > pinctrl_lookup_state(lvds->pins->p, "lcdc"); > if (IS_ERR(lvds->pins->default_state)) { > - DRM_DEV_ERROR(lvds->dev, "no default pinctrl state\n"); > + dev_err(lvds->dev, "no default pinctrl state\n"); > devm_kfree(lvds->dev, lvds->pins); > lvds->pins = NULL; > } > @@ -547,11 +546,10 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > > lvds->drm_dev = drm_dev; > port = of_graph_get_port_by_id(dev->of_node, 1); > - if (!port) { > - DRM_DEV_ERROR(dev, > - "can't found port point, please init lvds panel port!\n"); > - return -EINVAL; > - } > + if (!port) > + return dev_err_probe(dev, -EINVAL, > + "can't found port point, please init lvds panel port!\n"); > + > for_each_child_of_node(port, endpoint) { > child_count++; > of_property_read_u32(endpoint, "reg", &endpoint_id); > @@ -563,7 +561,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > } > } > if (!child_count) { > - DRM_DEV_ERROR(dev, "lvds port does not have any children\n"); > + dev_err(dev, "lvds port does not have any children\n"); > ret = -EINVAL; What about ret = dev_err_probe(dev, -EINVAL, "lvds port does not have any children\n") ? > goto err_put_port; > } else if (ret) { > @@ -581,7 +579,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > lvds->output = rockchip_lvds_name_to_output(name); > > if (lvds->output < 0) { > - DRM_DEV_ERROR(dev, "invalid output type [%s]\n", name); > + dev_err(dev, "invalid output type [%s]\n", name); > ret = lvds->output; ret = dev_err_probe(dev, lvds->output, "invalid output type [%s]\n", name); maybe? > goto err_put_remote; > } > @@ -593,7 +591,7 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > lvds->format = rockchip_lvds_name_to_format(name); > > if (lvds->format < 0) { > - DRM_DEV_ERROR(dev, "invalid data-mapping format [%s]\n", name); > + dev_err(dev, "invalid data-mapping format [%s]\n", name); > ret = lvds->format; ret = dev_err_probe(dev, lvds->format, "invalid data-mapping format [%s]\n", name); maybe? > goto err_put_remote; > } > @@ -604,8 +602,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > > ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_LVDS); > if (ret < 0) { > - DRM_DEV_ERROR(drm_dev->dev, > - "failed to initialize encoder: %d\n", ret); > + drm_err(drm_dev, > + "failed to initialize encoder: %d\n", ret); All the above are using dev_err, but starting here, it's drm_err, is that on purpose? > goto err_put_remote; > } > > @@ -618,8 +616,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > &rockchip_lvds_connector_funcs, > DRM_MODE_CONNECTOR_LVDS); > if (ret < 0) { > - DRM_DEV_ERROR(drm_dev->dev, > - "failed to initialize connector: %d\n", ret); > + drm_err(drm_dev, > + "failed to initialize connector: %d\n", ret); > goto err_free_encoder; > } > > @@ -633,9 +631,9 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > > connector = drm_bridge_connector_init(lvds->drm_dev, encoder); > if (IS_ERR(connector)) { > - DRM_DEV_ERROR(drm_dev->dev, > - "failed to initialize bridge connector: %pe\n", > - connector); > + drm_err(drm_dev, > + "failed to initialize bridge connector: %pe\n", > + connector); > ret = PTR_ERR(connector); What about using dev_err_probe() here as well? Looks ok to me otherwise! Cheers, Quentin _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral 2025-02-28 17:42 ` Quentin Schulz @ 2025-02-28 17:45 ` Heiko Stübner 2025-02-28 17:55 ` Quentin Schulz 0 siblings, 1 reply; 7+ messages in thread From: Heiko Stübner @ 2025-02-28 17:45 UTC (permalink / raw) To: Quentin Schulz Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner Am Freitag, 28. Februar 2025, 18:42:32 MEZ schrieb Quentin Schulz: > Hi Heiko, > > On 2/28/25 5:57 PM, Heiko Stuebner wrote: > > From: Heiko Stuebner <heiko.stuebner@cherry.de> > > > > Commit 52d11c863ac9 ("drm/rockchip: lvds: do not print scary message when > > probing defer") already started hiding scary messages that are not relevant > > if the requested supply just returned EPROBE_DEFER, but there are more > > possible sources - like the phy. > > > > So modernize the whole logging in the probe path by replacing the > > remaining deprecated DRM_DEV_ERROR with appropriate dev_err(_probe) > > and drm_err calls. > > > > The distinction here is that all messages talking about mishaps of the > > lvds element use dev_err(_probe) while messages caused by interaction > > with the main Rockchip drm-device use drm_err. > > > > Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> > > @@ -604,8 +602,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, > > > > ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_LVDS); > > if (ret < 0) { > > - DRM_DEV_ERROR(drm_dev->dev, > > - "failed to initialize encoder: %d\n", ret); > > + drm_err(drm_dev, > > + "failed to initialize encoder: %d\n", ret); > > All the above are using dev_err, but starting here, it's drm_err, is > that on purpose? The last paragraph of the commit message was supposed to explain that (which it seemingly did poorly :-) ) : > > The distinction here is that all messages talking about mishaps of the > > lvds element use dev_err(_probe) while messages caused by interaction > > with the main Rockchip drm-device use drm_err. _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral 2025-02-28 17:45 ` Heiko Stübner @ 2025-02-28 17:55 ` Quentin Schulz 0 siblings, 0 replies; 7+ messages in thread From: Quentin Schulz @ 2025-02-28 17:55 UTC (permalink / raw) To: Heiko Stübner Cc: andy.yan, maarten.lankhorst, mripard, tzimmermann, dri-devel, linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner Hi Heiko, On 2/28/25 6:45 PM, Heiko Stübner wrote: > Am Freitag, 28. Februar 2025, 18:42:32 MEZ schrieb Quentin Schulz: >> Hi Heiko, >> >> On 2/28/25 5:57 PM, Heiko Stuebner wrote: >>> From: Heiko Stuebner <heiko.stuebner@cherry.de> >>> >>> Commit 52d11c863ac9 ("drm/rockchip: lvds: do not print scary message when >>> probing defer") already started hiding scary messages that are not relevant >>> if the requested supply just returned EPROBE_DEFER, but there are more >>> possible sources - like the phy. >>> >>> So modernize the whole logging in the probe path by replacing the >>> remaining deprecated DRM_DEV_ERROR with appropriate dev_err(_probe) >>> and drm_err calls. >>> >>> The distinction here is that all messages talking about mishaps of the >>> lvds element use dev_err(_probe) while messages caused by interaction >>> with the main Rockchip drm-device use drm_err. >>> >>> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> > >>> @@ -604,8 +602,8 @@ static int rockchip_lvds_bind(struct device *dev, struct device *master, >>> >>> ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_LVDS); >>> if (ret < 0) { >>> - DRM_DEV_ERROR(drm_dev->dev, >>> - "failed to initialize encoder: %d\n", ret); >>> + drm_err(drm_dev, >>> + "failed to initialize encoder: %d\n", ret); >> >> All the above are using dev_err, but starting here, it's drm_err, is >> that on purpose? > > The last paragraph of the commit message was supposed to explain that > (which it seemingly did poorly :-) ) : > Mmmm someone didn't read that commit log entirely. That someone apologizes for the noise. Cheers, Quentin _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-02-28 17:57 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-28 16:57 [PATCH 0/2] drm/rockchip: lvds: probe logging improvements Heiko Stuebner 2025-02-28 16:57 ` [PATCH 1/2] drm/rockchip: lvds: move pclk preparation in with clk_get Heiko Stuebner 2025-02-28 17:19 ` Quentin Schulz 2025-02-28 16:57 ` [PATCH 2/2] drm/rockchip: lvds: Hide scary error messages on probe deferral Heiko Stuebner 2025-02-28 17:42 ` Quentin Schulz 2025-02-28 17:45 ` Heiko Stübner 2025-02-28 17:55 ` Quentin Schulz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox