From 61319aef4d9cf79c56e59bf70287fb6b77058463 Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Mon, 12 Feb 2024 15:07:41 +0000 Subject: [PATCH] drm/tegra: Don't print error on probe defer The following error messages are sometimes observed on boot ... tegra-nvjpg 15380000.nvjpg: failed to get icc write handle tegra-nvdec 15480000.nvdec: failed to get icc write handle tegra-nvjpg 15540000.nvjpg: failed to get icc write handle tegra-nvenc 154c0000.nvenc: failed to get icc write handle tegra-vic 15340000.vic: failed to get icc write handle tegra-nvjpg 15380000.nvjpg: failed to get icc write handle The above messages are harmless because the ICC core is returning -EPROBE_DEFER to indicate that the ICC provider is not available. When -EPROBE_DEFER is returned the kernel will attempt to probe the device again and so print an error on -EPROBE_DEFER can be misleading. Fix the above by using the function dev_err_probe() to print error messages because this function will only print an error message if the error code is not -EPROBE_DEFER. Bug 3436156 Bug 4496044 Change-Id: I47b77e5a0f2bdb817a832daa305246c8803f456b Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3075237 Reviewed-by: Brad Griffis GVS: Gerrit_Virtual_Submit --- drivers/gpu/drm/tegra/nvdec.c | 9 ++++----- drivers/gpu/drm/tegra/nvenc.c | 9 ++++----- drivers/gpu/drm/tegra/nvjpg.c | 9 ++++----- drivers/gpu/drm/tegra/vic.c | 9 ++++----- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/tegra/nvdec.c b/drivers/gpu/drm/tegra/nvdec.c index ca3c1823..69963178 100644 --- a/drivers/gpu/drm/tegra/nvdec.c +++ b/drivers/gpu/drm/tegra/nvdec.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * SPDX-FileCopyrightText: Copyright (c) 2015-2023, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. + * SPDX-FileCopyrightText: Copyright (c) 2015-2024, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. */ #include @@ -804,10 +804,9 @@ static int nvdec_probe(struct platform_device *pdev) } nvdec->icc_write = devm_of_icc_get(dev, "write"); - if (IS_ERR(nvdec->icc_write)) { - dev_err(&pdev->dev, "failed to get icc write handle\n"); - return PTR_ERR(nvdec->icc_write); - } + if (IS_ERR(nvdec->icc_write)) + return dev_err_probe(&pdev->dev, PTR_ERR(nvdec->icc_write), + "failed to get icc write handle\n"); platform_set_drvdata(pdev, nvdec); diff --git a/drivers/gpu/drm/tegra/nvenc.c b/drivers/gpu/drm/tegra/nvenc.c index 055c126b..a5605a72 100644 --- a/drivers/gpu/drm/tegra/nvenc.c +++ b/drivers/gpu/drm/tegra/nvenc.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2023, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. */ #include @@ -670,10 +670,9 @@ static int nvenc_probe(struct platform_device *pdev) return err; nvenc->icc_write = devm_of_icc_get(dev, "write"); - if (IS_ERR(nvenc->icc_write)) { - dev_err(&pdev->dev, "failed to get icc write handle\n"); - return PTR_ERR(nvenc->icc_write); - } + if (IS_ERR(nvenc->icc_write)) + return dev_err_probe(&pdev->dev, PTR_ERR(nvenc->icc_write), + "failed to get icc write handle\n"); platform_set_drvdata(pdev, nvenc); diff --git a/drivers/gpu/drm/tegra/nvjpg.c b/drivers/gpu/drm/tegra/nvjpg.c index 7d80306d..4e9528c5 100644 --- a/drivers/gpu/drm/tegra/nvjpg.c +++ b/drivers/gpu/drm/tegra/nvjpg.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2024, NVIDIA CORPORATION & AFFILIATES. All Rights Reserved. */ #include @@ -655,10 +655,9 @@ static int nvjpg_probe(struct platform_device *pdev) return err; nvjpg->icc_write = devm_of_icc_get(dev, "write"); - if (IS_ERR(nvjpg->icc_write)) { - dev_err(&pdev->dev, "failed to get icc write handle\n"); - return PTR_ERR(nvjpg->icc_write); - } + if (IS_ERR(nvjpg->icc_write)) + return dev_err_probe(&pdev->dev, PTR_ERR(nvjpg->icc_write), + "failed to get icc write handle\n"); platform_set_drvdata(pdev, nvjpg); diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c index 3ed92ead..ada3dcd8 100644 --- a/drivers/gpu/drm/tegra/vic.c +++ b/drivers/gpu/drm/tegra/vic.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * SPDX-FileCopyrightText: Copyright (C) 2015-2023 NVIDIA CORPORATION. All rights reserved. + * SPDX-FileCopyrightText: Copyright (C) 2015-2024 NVIDIA CORPORATION. All rights reserved. */ #include @@ -723,10 +723,9 @@ static int vic_probe(struct platform_device *pdev) } vic->icc_write = devm_of_icc_get(dev, "write"); - if (IS_ERR(vic->icc_write)) { - dev_err(&pdev->dev, "failed to get icc write handle\n"); - return PTR_ERR(vic->icc_write); - } + if (IS_ERR(vic->icc_write)) + return dev_err_probe(&pdev->dev, PTR_ERR(vic->icc_write), + "failed to get icc write handle\n"); if (!dev->pm_domain) { vic->rst = devm_reset_control_get(dev, "vic");