Re: [PATCH v5 10/13] gunyah: rsc_mgr: Add resource manager RPC core

From: Elliot Berman
Date: Thu Oct 13 2022 - 18:32:58 EST




On 10/12/2022 3:52 PM, Dmitry Baryshkov wrote:
On 11/10/2022 03:08, Elliot Berman wrote >> diff --git a/drivers/virt/gunyah/Makefile b/drivers/virt/gunyah/Makefile
index dc081e2dc02b..2cae8ea5bc7d 100644
--- a/drivers/virt/gunyah/Makefile
+++ b/drivers/virt/gunyah/Makefile
@@ -1,2 +1,5 @@
  gunyah-y += gunyah.o
  obj-$(CONFIG_GUNYAH) += gunyah.o
+
+gunyah_rsc_mgr-y += rsc_mgr.o
+obj-$(CONFIG_GUNYAH_RESORUCE_MANAGER) += gunyah_rsc_mgr.o

You know, you don't have to do this...


Other places, it's debatable. Here though, I think I do :)

This ends up being a proper composite module in the next patch in series:

-gunyah_rsc_mgr-y += rsc_mgr.o
+gunyah_rsc_mgr-y += rsc_mgr.o rsc_mgr_rpc.o


+
+static int gh_msgq_platform_probe_direction(struct platform_device *pdev,
+                u8 gh_type, int idx, struct gunyah_resource *ghrsc)
+{
+    int ret;
+    struct device_node *node = pdev->dev.of_node;
+
+    ghrsc->type = gh_type;
+
+    ghrsc->irq = platform_get_irq(pdev, idx);
+    if (ghrsc->irq < 0) {
+        dev_err(&pdev->dev, "Failed to get irq%d: %d\n", idx, ghrsc->irq);
+        return ghrsc->irq;
+    }
+
+    ret = of_property_read_u64_index(node, "reg", idx, &ghrsc->capid);

Is there any reason why can't you use platform_get_resource() here?


These don't show up as resources because size-cells = 0.