From fc722edbf3fdfc447c3848bff67820ec90617588 Mon Sep 17 00:00:00 2001 From: Akhil R Date: Mon, 4 Aug 2025 10:37:03 +0530 Subject: [PATCH] i2c: tegra: Register Err Injection driver based on DT Register the error injection driver only if there is a reporter ID assigned to the I2C instance. Bug 5421820 Signed-off-by: Akhil R Change-Id: I990ca2014b98a922216e3c6bff0e16778921eba4 Reviewed-on: https://git-master.nvidia.com/r/c/3rdparty/canonical/linux-noble/+/3424404 GVS: buildbot_gerritrpt Reviewed-by: Bibek Basu --- drivers/i2c/busses/i2c-tegra.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 6e52756fcdd5..21213ef58f4e 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -2205,15 +2205,17 @@ static int tegra_i2c_probe(struct platform_device *pdev) if (err) goto release_rpm; - /* Register error reporting callback */ - err = hsierrrpt_reg_cb(IP_I2C, i2c_dev->adapter.nr, i2c_inject_err_fsi, i2c_dev); + /* Register error reporting callback if a reporter ID is registered */ + if (i2c_dev->epl_reporter_id) { + err = hsierrrpt_reg_cb(IP_I2C, i2c_dev->adapter.nr, i2c_inject_err_fsi, i2c_dev); - if (err != 0) - dev_info(i2c_dev->dev, "Err inj callback registration failed: %d", err); - /* Continue init despite err inj utility - * registration failure, as the err inj support - * is meant only for debug purposes. - */ + /* Continue init despite err inj utility + * registration failure, as the err inj support + * is meant only for debug purposes. + */ + if (err != 0) + dev_info(i2c_dev->dev, "Err inj callback registration failed: %d", err); + } return 0;