From 95ed86e0379eac498c70746e2eaf7b340ac9ec53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 09:52:43 +0200 Subject: [PATCH 1/9] remoteproc: adi: Fix order of resource release in remove callback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workqueue might still be in use until rproc_del() returns, so better don't release before calling rproc_del(). Ditto for the mbox channels. Fixes: ca6c93f72808 ("remoteproc: adi: Add driver for ADSP SHARC cores") Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index ce5235591ced25..e5f46511657949 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -1019,9 +1019,9 @@ static void adi_remoteproc_remove(struct platform_device *pdev) struct adi_rproc_data *rproc_data = rproc->priv; dmaengine_put(); + rproc_del(rproc); destroy_workqueue(rproc_data->core_workqueue); mbox_free_channel(rproc_data->kick_chan); - rproc_del(rproc); rproc_free(rproc); } From df5cdbecff46425191c7dcd7b3f53339e9fa0204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 09:44:17 +0200 Subject: [PATCH 2/9] remoteproc: adi: Call dmaengine_get() before using DMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As soon as rproc_add() is called, the dma operations in the callbacks might be used. So call dmaengine_get() before rproc_add(). Reorder the function calls in the remove callback accordingly. Fixes: ca6c93f72808 ("remoteproc: adi: Add driver for ADSP SHARC cores") Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index e5f46511657949..2c0d900afd17c0 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -991,16 +991,19 @@ static int adi_remoteproc_probe(struct platform_device *pdev) rproc_data->ldr_load_addr = SHARC_IDLE_ADDR; rproc_data->rpmsg_state = ADI_RP_RPMSG_TIMED_OUT; + dmaengine_get(); + ret = rproc_add(rproc); if (ret) { dev_err(dev, "Failed to add rproc\n"); - goto free_workqueue; + goto put_dmaengine; } - dmaengine_get(); - return 0; +put_dmaengine: + dmaengine_put(); + free_workqueue: destroy_workqueue(rproc_data->core_workqueue); @@ -1018,8 +1021,8 @@ static void adi_remoteproc_remove(struct platform_device *pdev) struct rproc *rproc = platform_get_drvdata(pdev); struct adi_rproc_data *rproc_data = rproc->priv; - dmaengine_put(); rproc_del(rproc); + dmaengine_put(); destroy_workqueue(rproc_data->core_workqueue); mbox_free_channel(rproc_data->kick_chan); rproc_free(rproc); From 257f22bb6df8e11822127ffddd4c5315556c33e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 14:36:54 +0200 Subject: [PATCH 3/9] remoteproc: adi: Fix error handling for devm_ioremap_wc() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the error case devm_ioremap_wc() returns NULL not an error pointer. Adapt the check accordingly. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index 2c0d900afd17c0..4f5b7d8d6eaf3e 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -919,9 +919,9 @@ static int adi_remoteproc_probe(struct platform_device *pdev) rproc_data->adi_rsc_table = devm_ioremap_wc(dev, rmem->base, rmem->size); - if (IS_ERR(rproc_data->adi_rsc_table)) { + if (!rproc_data->adi_rsc_table) { dev_err(dev, "Can't map adi,rsc-table\n"); - ret = PTR_ERR(rproc_data->adi_rsc_table); + ret = -ENOMEM; goto free_mbox; } @@ -955,9 +955,9 @@ static int adi_remoteproc_probe(struct platform_device *pdev) rproc_data->L1_shared_base = devm_ioremap_wc(dev, res->start, resource_size(res)); - if (IS_ERR(rproc_data->L1_shared_base)) { + if (!rproc_data->L1_shared_base) { dev_err(dev, "Cannot map L1 shared memory\n"); - ret = PTR_ERR(rproc_data->L1_shared_base); + ret = -ENOMEM; goto free_workqueue; } @@ -970,9 +970,9 @@ static int adi_remoteproc_probe(struct platform_device *pdev) rproc_data->L2_shared_base = devm_ioremap_wc(dev, res->start, resource_size(res)); - if (IS_ERR(rproc_data->L2_shared_base)) { + if (!rproc_data->L2_shared_base) { dev_err(dev, "Cannot map L2 shared memory\n"); - ret = PTR_ERR(rproc_data->L2_shared_base); + ret = -ENOMEM; goto free_workqueue; } From e2068b96a6689256b9ef657515437e9a563b1cca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 16:40:04 +0200 Subject: [PATCH 4/9] remoteproc: adi: Cleanup device_node pointers using __free MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a missing of_node_put in the last hunk. Fixes: ca6c93f72808 ("remoteproc: adi: Add driver for ADSP SHARC cores") Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index 4f5b7d8d6eaf3e..b162573e3d1f79 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -533,7 +533,6 @@ static int adi_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) struct device_node *np = dev->of_node; struct sharc_resource_table *rsc_table; struct rproc_mem_entry *mem; - struct device_node *node; struct reserved_mem *rmem; phys_addr_t size; int ret, i, mem_regions, num; @@ -569,9 +568,8 @@ static int adi_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) */ mem_regions = of_count_phandle_with_args(np, "vdev-vring", NULL); for (i = 0; i < mem_regions; i++) { - node = of_parse_phandle(np, "vdev-vring", i); + struct device_node *node __free(device_node) = of_parse_phandle(np, "vdev-vring", i); rmem = of_reserved_mem_lookup(node); - of_node_put(node); if (!rmem) { dev_err(dev, "Failed to acquire vdev-vring at idx %d\n", i); return -EINVAL; @@ -640,7 +638,7 @@ static int adi_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) */ mem_regions = of_count_phandle_with_args(np, "memory-region", NULL); for (i = 0; i < mem_regions; i++) { - node = of_parse_phandle(np, "memory-region", i); + struct device_node *node __free(device_node) = of_parse_phandle(np, "memory-region", i); rmem = of_reserved_mem_lookup(node); mem = rproc_of_resm_mem_entry_init(dev, i, rmem->size, rmem->base, "vdev%dbuffer", i); From 1549aebdd0821a71408d0d199f085d74911e4d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 09:34:02 +0200 Subject: [PATCH 5/9] remoteproc: adi: Don't use of_match_ptr for the match table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since commit 5ab23c7923a1 ("modpost: Create modalias for builtin modules") MODULE_DEVICE_TABLE() is enough to reference a match table and the data isn't discarded by the linker even when the driver is built-in and CONFIG_OF is disabled. So there is no valid reason to not store the address of that table in the driver struct. Drop the of_match_ptr() accordingly. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index b162573e3d1f79..5dc6799ada799a 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -1037,7 +1037,7 @@ static struct platform_driver adi_rproc_driver = { .remove = adi_remoteproc_remove, .driver = { .name = "adi_remoteproc", - .of_match_table = of_match_ptr(adi_rproc_of_match), + .of_match_table = adi_rproc_of_match, }, }; module_platform_driver(adi_rproc_driver); From b45e96e36a8542e32bb8cdfb6330366ef11c4372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 09:57:03 +0200 Subject: [PATCH 6/9] remoteproc: adi: Don't use a comma after the of_device_id terminator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New additions after the terminator are not expected, so usually there is no comma added either. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index 5dc6799ada799a..92295eb733c95b 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -1028,7 +1028,7 @@ static void adi_remoteproc_remove(struct platform_device *pdev) static const struct of_device_id adi_rproc_of_match[] = { { .compatible = "adi,remoteproc" }, - { }, + { } }; MODULE_DEVICE_TABLE(of, adi_rproc_of_match); From c2fb8c50caa2cab8922ce460ae85a927bdc10c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 10:10:36 +0200 Subject: [PATCH 7/9] remoteproc: adi: Make use of devm_rproc_alloc() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the devm managed version of rproc_alloc() the error codes can be simplified a bit. Also given that after rproc_alloc() some devm managed resources are allocated this improves the order of resource freeing on device remove. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index 92295eb733c95b..55d718612ae7fc 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -822,8 +822,8 @@ static int adi_remoteproc_probe(struct platform_device *pdev) return ret; } - rproc = rproc_alloc(dev, np->name, &adi_rproc_ops, - name, sizeof(*rproc_data)); + rproc = devm_rproc_alloc(dev, np->name, &adi_rproc_ops, + name, sizeof(*rproc_data)); if (!rproc) { dev_err(dev, "Unable to allocate remoteproc\n"); return -ENOMEM; @@ -836,39 +836,35 @@ static int adi_remoteproc_probe(struct platform_device *pdev) &svect_args); if (ret) { dev_err(dev, "Missing adi,svect property\n"); - goto free_rproc; + return ret; } rproc_data->svect_regmap = syscon_node_to_regmap(svect_args.np); of_node_put(svect_args.np); if (IS_ERR(rproc_data->svect_regmap)) { dev_err(dev, "Unable to get SVECT regmap\n"); - ret = PTR_ERR(rproc_data->svect_regmap); - goto free_rproc; + return PTR_ERR(rproc_data->svect_regmap); } rproc_data->svect_offset = svect_args.args[0]; rproc_data->rst_crst = devm_reset_control_get_exclusive(dev, "crst"); if (IS_ERR(rproc_data->rst_crst)) { dev_err(dev, "Unable to get crst reset control\n"); - ret = PTR_ERR(rproc_data->rst_crst); - goto free_rproc; + return PTR_ERR(rproc_data->rst_crst); } rproc_data->rst_start = devm_reset_control_get_exclusive(dev, "start"); if (IS_ERR(rproc_data->rst_start)) { dev_err(dev, "Unable to get start reset control\n"); - ret = PTR_ERR(rproc_data->rst_start); - goto free_rproc; + return PTR_ERR(rproc_data->rst_start); } ret = reset_control_status(rproc_data->rst_start); if (ret < 0) { dev_err(dev, "Unable to read core status\n"); - goto free_rproc; + return ret; } else if (ret == 0) { dev_err(dev, "Error: Core%d not idle\n", core_id); - ret = -EBUSY; - goto free_rproc; + return -EBUSY; } rproc_data->kick_client.dev = dev; @@ -880,7 +876,7 @@ static int adi_remoteproc_probe(struct platform_device *pdev) ret = PTR_ERR(rproc_data->kick_chan); if (ret != -EPROBE_DEFER) dev_err(dev, "Unable to get kick mailbox channel\n"); - goto free_rproc; + return ret; } /* for now device addresses are represented as 32 bits and expanded to 64 @@ -1008,9 +1004,6 @@ static int adi_remoteproc_probe(struct platform_device *pdev) free_mbox: mbox_free_channel(rproc_data->kick_chan); -free_rproc: - rproc_free(rproc); - return ret; } @@ -1023,7 +1016,6 @@ static void adi_remoteproc_remove(struct platform_device *pdev) dmaengine_put(); destroy_workqueue(rproc_data->core_workqueue); mbox_free_channel(rproc_data->kick_chan); - rproc_free(rproc); } static const struct of_device_id adi_rproc_of_match[] = { From 0fc069cf0bd88bd6aac3b964ffd318d7dd969b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 10:24:20 +0200 Subject: [PATCH 8/9] remoteproc: adi: Convert to use dev_err_probe() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Compared to dev_err() dev_err_probe() is more compact and improves the error message by mentioning the error code. Also it has EPROBE_DEFER handing built-in. For out-of-memory errors no message should be emitted ---the kernel is loud enough in this case already---so the respective messages are dropped. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 97 +++++++++++------------------ 1 file changed, 36 insertions(+), 61 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index 55d718612ae7fc..cb1ea6f1e82ec3 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -811,88 +811,74 @@ static int adi_remoteproc_probe(struct platform_device *pdev) const char *name; ret = of_property_read_string(np, "firmware-name", &name); - if (ret) { - dev_err(dev, "Unable to get firmware-name property\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Unable to get firmware-name property\n"); ret = of_property_read_u32(np, "core-id", &core_id); - if (ret) { - dev_err(dev, "Unable to get core-id property\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Unable to get core-id property\n"); rproc = devm_rproc_alloc(dev, np->name, &adi_rproc_ops, name, sizeof(*rproc_data)); - if (!rproc) { - dev_err(dev, "Unable to allocate remoteproc\n"); + if (!rproc) return -ENOMEM; - } rproc_data = (struct adi_rproc_data *)rproc->priv; platform_set_drvdata(pdev, rproc); ret = of_parse_phandle_with_fixed_args(np, "adi,svect", 1, 0, &svect_args); - if (ret) { - dev_err(dev, "Missing adi,svect property\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Missing adi,svect property\n"); + rproc_data->svect_regmap = syscon_node_to_regmap(svect_args.np); of_node_put(svect_args.np); - if (IS_ERR(rproc_data->svect_regmap)) { - dev_err(dev, "Unable to get SVECT regmap\n"); - return PTR_ERR(rproc_data->svect_regmap); - } + if (IS_ERR(rproc_data->svect_regmap)) + return dev_err_probe(dev, PTR_ERR(rproc_data->svect_regmap), + "Unable to get SVECT regmap\n"); + rproc_data->svect_offset = svect_args.args[0]; rproc_data->rst_crst = devm_reset_control_get_exclusive(dev, "crst"); - if (IS_ERR(rproc_data->rst_crst)) { - dev_err(dev, "Unable to get crst reset control\n"); - return PTR_ERR(rproc_data->rst_crst); - } + if (IS_ERR(rproc_data->rst_crst)) + return dev_err_probe(dev, PTR_ERR(rproc_data->rst_crst), + "Unable to get crst reset control\n"); rproc_data->rst_start = devm_reset_control_get_exclusive(dev, "start"); - if (IS_ERR(rproc_data->rst_start)) { - dev_err(dev, "Unable to get start reset control\n"); - return PTR_ERR(rproc_data->rst_start); - } + if (IS_ERR(rproc_data->rst_start)) + return dev_err_probe(dev, PTR_ERR(rproc_data->rst_start), + "Unable to get start reset control\n"); ret = reset_control_status(rproc_data->rst_start); - if (ret < 0) { - dev_err(dev, "Unable to read core status\n"); - return ret; - } else if (ret == 0) { - dev_err(dev, "Error: Core%d not idle\n", core_id); - return -EBUSY; - } + if (ret < 0) + return dev_err_probe(dev, ret, "Unable to read core status\n"); + else if (ret == 0) + return dev_err_probe(dev, -EBUSY, + "Error: Core%d not idle\n", core_id); rproc_data->kick_client.dev = dev; rproc_data->kick_client.tx_block = false; rproc_data->kick_chan = mbox_request_channel_byname(&rproc_data->kick_client, "kick"); - if (IS_ERR(rproc_data->kick_chan)) { - ret = PTR_ERR(rproc_data->kick_chan); - if (ret != -EPROBE_DEFER) - dev_err(dev, "Unable to get kick mailbox channel\n"); - return ret; - } + if (IS_ERR(rproc_data->kick_chan)) + return dev_err_probe(dev, PTR_ERR(rproc_data->kick_chan), + "Unable to get kick mailbox channel\n"); /* for now device addresses are represented as 32 bits and expanded to 64 * here in driver code */ if (of_property_read_u32_array(np, "adi,l1-da", addr, 2)) { - dev_err(dev, "Missing adi,l1-da with L1 device address range information\n"); - ret = -ENODEV; + ret = dev_err_probe(dev, -ENODEV, + "Missing adi,l1-da with L1 device address range information\n"); goto free_mbox; } rproc_data->l1_da_range[0] = addr[0]; rproc_data->l1_da_range[1] = addr[1]; if (of_property_read_u32_array(np, "adi,l2-da", addr, 2)) { - dev_err(dev, "Missing adi,l2-da with L2 device address range information\n"); - ret = -ENODEV; + ret = dev_err_probe(dev, -ENODEV, + "Missing adi,l2-da with L2 device address range information\n"); goto free_mbox; } rproc_data->l2_da_range[0] = addr[0]; @@ -904,25 +890,20 @@ static int adi_remoteproc_probe(struct platform_device *pdev) dev_info(&pdev->dev, "Resource table set, enable rpmsg\n"); rmem = of_reserved_mem_lookup(node); of_node_put(node); - if (!rmem) { - dev_err(&pdev->dev, "Translating adi,rsc-table failed\n"); - ret = -ENOMEM; + if (!rmem) goto free_mbox; - } rproc_data->adi_rsc_table = devm_ioremap_wc(dev, rmem->base, rmem->size); if (!rproc_data->adi_rsc_table) { - dev_err(dev, "Can't map adi,rsc-table\n"); ret = -ENOMEM; goto free_mbox; } rproc_data->icc_irq = platform_get_irq(pdev, 0); if (rproc_data->icc_irq <= 0) { - dev_err(dev, "No ICC IRQ specified\n"); - ret = -ENOENT; + ret = dev_err_probe(dev, -ENOENT, "No ICC IRQ specified\n"); goto free_mbox; } @@ -934,31 +915,25 @@ static int adi_remoteproc_probe(struct platform_device *pdev) rproc_data->core_workqueue = alloc_workqueue("Core workqueue", WQ_UNBOUND | WQ_MEM_RECLAIM, 1); - if (!rproc_data->core_workqueue) { - dev_err(dev, "Unable to allocate core workqueue\n"); - ret = -ENOMEM; + if (!rproc_data->core_workqueue) goto free_mbox; - } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { - dev_err(dev, "Cannot get L1 base address (reg 0)\n"); - ret = -ENODEV; + ret = dev_err_probe(dev, -ENODEV, "Cannot get L1 base address (reg 0)\n"); goto free_workqueue; } rproc_data->L1_shared_base = devm_ioremap_wc(dev, res->start, resource_size(res)); if (!rproc_data->L1_shared_base) { - dev_err(dev, "Cannot map L1 shared memory\n"); ret = -ENOMEM; goto free_workqueue; } res = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!res) { - dev_err(dev, "Cannot get L2 base address (reg 1)\n"); - ret = -ENODEV; + ret = dev_err_probe(dev, -ENODEV, "Cannot get L2 base address (reg 1)\n"); goto free_workqueue; } rproc_data->L2_shared_base = devm_ioremap_wc(dev, @@ -989,7 +964,7 @@ static int adi_remoteproc_probe(struct platform_device *pdev) ret = rproc_add(rproc); if (ret) { - dev_err(dev, "Failed to add rproc\n"); + dev_err_probe(dev, ret, "Failed to add rproc\n"); goto put_dmaengine; } From 68d061bb21e73fd6c1884523b3569d144ab9a28b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 13 Jul 2026 11:05:21 +0200 Subject: [PATCH 9/9] remoteproc: adi: Fix commenting style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Multiline comments start with /* on its own line. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/adi_remoteproc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/remoteproc/adi_remoteproc.c b/drivers/remoteproc/adi_remoteproc.c index cb1ea6f1e82ec3..b084ad710927e2 100644 --- a/drivers/remoteproc/adi_remoteproc.c +++ b/drivers/remoteproc/adi_remoteproc.c @@ -611,7 +611,8 @@ static int adi_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) if (i > 0) { continue; } else { - /* Calc how many buffers we can fit in the vring region, + /* + * Calc how many buffers we can fit in the vring region, * number of buffers must be power of 2 */ for (num = 2; num < 0x00400000; num <<= 1) { @@ -685,7 +686,8 @@ static struct resource_table *adi_rproc_find_loaded_rsc_table(struct rproc *rpro return ret; } -/* @todo store number of vrings from resource table and use it to dynamically +/* + * @todo store number of vrings from resource table and use it to dynamically * notify the correct number of vrings */ static irqreturn_t sharc_virtio_irq_threaded_handler(int irq, void *p) @@ -865,7 +867,8 @@ static int adi_remoteproc_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(rproc_data->kick_chan), "Unable to get kick mailbox channel\n"); - /* for now device addresses are represented as 32 bits and expanded to 64 + /* + * for now device addresses are represented as 32 bits and expanded to 64 * here in driver code */ if (of_property_read_u32_array(np, "adi,l1-da", addr, 2)) {