summaryrefslogtreecommitdiff
path: root/drivers/firmware/imx/imx-scu.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2025-11-25 11:32:26 +0100
committerArnd Bergmann <arnd@arndb.de>2025-11-25 11:32:27 +0100
commit16e8af6c037e2b9549338cecbbbf004bf958c7ba (patch)
treea86e7431ccd3c3672d6a3e25a193d05706aac7fd /drivers/firmware/imx/imx-scu.c
parente7ec4df2226a0429908953699a4fe216e76e0126 (diff)
parent97a07dd2b559d149598cd49574ce50614752211a (diff)
Merge tag 'imx-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers
i.MX drivers update for 6.19: - A series from Peng Fan to to improve i.MX SCU firmware drivers * tag 'imx-drivers-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: firmware: imx: scu: Use devm_mutex_init firmware: imx: scu: Suppress bind attrs firmware: imx: scu: Update error code firmware: imx: scu-irq: Remove unused export of imx_scu_enable_general_irq_channel firmware: imx: scu-irq: Set mu_resource_id before get handle firmware: imx: scu-irq: Init workqueue before request mbox channel firmware: imx: scu-irq: Free mailbox client on failure at imx_scu_enable_general_irq_channel() firmware: imx: scu-irq: fix OF node leak in Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/firmware/imx/imx-scu.c')
-rw-r--r--drivers/firmware/imx/imx-scu.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/firmware/imx/imx-scu.c b/drivers/firmware/imx/imx-scu.c
index 8c28e25ddc8a..67b267a7408a 100644
--- a/drivers/firmware/imx/imx-scu.c
+++ b/drivers/firmware/imx/imx-scu.c
@@ -73,9 +73,9 @@ static int imx_sc_linux_errmap[IMX_SC_ERR_LAST] = {
-EACCES, /* IMX_SC_ERR_NOACCESS */
-EACCES, /* IMX_SC_ERR_LOCKED */
-ERANGE, /* IMX_SC_ERR_UNAVAILABLE */
- -EEXIST, /* IMX_SC_ERR_NOTFOUND */
- -EPERM, /* IMX_SC_ERR_NOPOWER */
- -EPIPE, /* IMX_SC_ERR_IPC */
+ -ENOENT, /* IMX_SC_ERR_NOTFOUND */
+ -ENODEV, /* IMX_SC_ERR_NOPOWER */
+ -ECOMM, /* IMX_SC_ERR_IPC */
-EBUSY, /* IMX_SC_ERR_BUSY */
-EIO, /* IMX_SC_ERR_FAIL */
};
@@ -324,7 +324,9 @@ static int imx_scu_probe(struct platform_device *pdev)
}
sc_ipc->dev = dev;
- mutex_init(&sc_ipc->lock);
+ ret = devm_mutex_init(dev, &sc_ipc->lock);
+ if (ret)
+ return ret;
init_completion(&sc_ipc->done);
imx_sc_ipc_handle = sc_ipc;
@@ -352,6 +354,7 @@ static struct platform_driver imx_scu_driver = {
.driver = {
.name = "imx-scu",
.of_match_table = imx_scu_match,
+ .suppress_bind_attrs = true,
},
.probe = imx_scu_probe,
};