lkml.org 
[lkml]   [2021]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 10/11] drm/bridge: ti-sn65dsi86: Improve probe errors with dev_err_probe()
    Date
    As I was testing to make sure that the DEFER path worked well with my
    patch series, I got tired of seeing this scary message in my logs just
    because the panel needed to defer:
    [drm:ti_sn_bridge_probe] *ERROR* could not find any panel node

    Let's use dev_err_probe() which nicely quiets this error and also
    simplifies the code a tiny bit. We'll also update other places in the
    file which can use dev_err_probe().

    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    ---

    Changes in v9:
    - ("Improve probe errors") patch new for v9.

    drivers/gpu/drm/bridge/ti-sn65dsi86.c | 31 +++++++++++----------------
    1 file changed, 13 insertions(+), 18 deletions(-)

    diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
    index b544cbce7fdd..5d712c8c3c3b 100644
    --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
    +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
    @@ -1305,10 +1305,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
    int ret;

    ret = drm_of_find_panel_or_bridge(np, 1, 0, &pdata->panel, NULL);
    - if (ret) {
    - DRM_ERROR("could not find any panel node\n");
    - return ret;
    - }
    + if (ret)
    + return dev_err_probe(&adev->dev, ret,
    + "could not find any panel node\n");

    ti_sn_bridge_parse_lanes(pdata, np);

    @@ -1456,27 +1455,23 @@ static int ti_sn65dsi86_probe(struct i2c_client *client,

    pdata->regmap = devm_regmap_init_i2c(client,
    &ti_sn65dsi86_regmap_config);
    - if (IS_ERR(pdata->regmap)) {
    - DRM_ERROR("regmap i2c init failed\n");
    - return PTR_ERR(pdata->regmap);
    - }
    + if (IS_ERR(pdata->regmap))
    + return dev_err_probe(dev, PTR_ERR(pdata->regmap),
    + "regmap i2c init failed\n");

    pdata->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
    - if (IS_ERR(pdata->enable_gpio)) {
    - DRM_ERROR("failed to get enable gpio from DT\n");
    - ret = PTR_ERR(pdata->enable_gpio);
    - return ret;
    - }
    + if (IS_ERR(pdata->enable_gpio))
    + return dev_err_probe(dev, PTR_ERR(pdata->enable_gpio),
    + "failed to get enable gpio from DT\n");

    ret = ti_sn65dsi86_parse_regulators(pdata);
    - if (ret) {
    - DRM_ERROR("failed to parse regulators\n");
    - return ret;
    - }
    + if (ret)
    + return dev_err_probe(dev, ret, "failed to parse regulators\n");

    pdata->refclk = devm_clk_get_optional(dev, "refclk");
    if (IS_ERR(pdata->refclk))
    - return PTR_ERR(pdata->refclk);
    + return dev_err_probe(dev, PTR_ERR(pdata->refclk),
    + "failed to get reference clock\n");

    pm_runtime_enable(dev);
    ret = devm_add_action_or_reset(dev, ti_sn65dsi86_runtime_disable, dev);
    --
    2.32.0.rc1.229.g3e70b5a671-goog
    \
     
     \ /
      Last update: 2021-06-07 19:08    [W:3.400 / U:1.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site