aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2023-06-16 09:16:39 +0200
committerRafał Miłecki <rafal@milecki.pl>2023-07-10 12:54:53 +0200
commitef7d8003336544198b83b0b606b9bc0767183f5f (patch)
tree793e2b43a24c875db3697affcaf8b1a1a4c0ce34 /target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch
parentf4e1f999617b0d968fcb9ff2e5a4e1171d8d5d9f (diff)
downloadupstream-ef7d8003336544198b83b0b606b9bc0767183f5f.tar.gz
upstream-ef7d8003336544198b83b0b606b9bc0767183f5f.tar.bz2
upstream-ef7d8003336544198b83b0b606b9bc0767183f5f.zip
kernel: backport NVMEM patches queued for the v6.5
This includes some driver changes and support for fixed cells layout. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 07bdc5551558287f7a99f6ae8e6d82d7d09d5781)
Diffstat (limited to 'target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch')
-rw-r--r--target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch b/target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch
new file mode 100644
index 0000000000..37cb927b10
--- /dev/null
+++ b/target/linux/generic/backport-5.15/813-v6.5-0007-nvmem-rockchip-otp-Improve-probe-error-handling.patch
@@ -0,0 +1,71 @@
+From 912517345b867a69542dc9f5c2cc3e9d8beaccf5 Mon Sep 17 00:00:00 2001
+From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+Date: Sun, 11 Jun 2023 15:03:16 +0100
+Subject: [PATCH] nvmem: rockchip-otp: Improve probe error handling
+
+Enhance error handling in the probe function by making use of
+dev_err_probe(), which ensures the error code is always printed, in
+addition to the specified error message.
+
+Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+Tested-by: Vincent Legoll <vincent.legoll@gmail.com>
+Reviewed-by: Heiko Stuebner <heiko@sntech.de>
+Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+Message-ID: <20230611140330.154222-13-srinivas.kandagatla@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/nvmem/rockchip-otp.c | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+--- a/drivers/nvmem/rockchip-otp.c
++++ b/drivers/nvmem/rockchip-otp.c
+@@ -235,10 +235,8 @@ static int rockchip_otp_probe(struct pla
+ int ret, i;
+
+ data = of_device_get_match_data(dev);
+- if (!data) {
+- dev_err(dev, "failed to get match data\n");
+- return -EINVAL;
+- }
++ if (!data)
++ return dev_err_probe(dev, -EINVAL, "failed to get match data\n");
+
+ otp = devm_kzalloc(&pdev->dev, sizeof(struct rockchip_otp),
+ GFP_KERNEL);
+@@ -249,7 +247,8 @@ static int rockchip_otp_probe(struct pla
+ otp->dev = dev;
+ otp->base = devm_platform_ioremap_resource(pdev, 0);
+ if (IS_ERR(otp->base))
+- return PTR_ERR(otp->base);
++ return dev_err_probe(dev, PTR_ERR(otp->base),
++ "failed to ioremap resource\n");
+
+ otp->clks = devm_kcalloc(dev, data->num_clks, sizeof(*otp->clks),
+ GFP_KERNEL);
+@@ -261,18 +260,22 @@ static int rockchip_otp_probe(struct pla
+
+ ret = devm_clk_bulk_get(dev, data->num_clks, otp->clks);
+ if (ret)
+- return ret;
++ return dev_err_probe(dev, ret, "failed to get clocks\n");
+
+ otp->rst = devm_reset_control_array_get_exclusive(dev);
+ if (IS_ERR(otp->rst))
+- return PTR_ERR(otp->rst);
++ return dev_err_probe(dev, PTR_ERR(otp->rst),
++ "failed to get resets\n");
+
+ otp_config.size = data->size;
+ otp_config.priv = otp;
+ otp_config.dev = dev;
+- nvmem = devm_nvmem_register(dev, &otp_config);
+
+- return PTR_ERR_OR_ZERO(nvmem);
++ nvmem = devm_nvmem_register(dev, &otp_config);
++ if (IS_ERR(nvmem))
++ return dev_err_probe(dev, PTR_ERR(nvmem),
++ "failed to register nvmem device\n");
++ return 0;
+ }
+
+ static struct platform_driver rockchip_otp_driver = {