Thread (111 messages) 111 messages, 9 authors, 2023-03-02

Re: [PATCH v10 08/26] gunyah: rsc_mgr: Add resource manager RPC core

From: Elliot Berman <hidden>
Date: 2023-02-16 17:41:20
Also in: linux-arm-msm, linux-devicetree, linux-doc, lkml


On 2/15/2023 10:43 PM, Greg Kroah-Hartman wrote:
On Tue, Feb 14, 2023 at 01:23:25PM -0800, Elliot Berman wrote:
quoted
+struct gh_rm {
+	struct device *dev;
What device does this point to?
The platform device.
quoted
+	struct gunyah_resource tx_ghrsc, rx_ghrsc;
+	struct gh_msgq msgq;
+	struct mbox_client msgq_client;
+	struct gh_rm_connection *active_rx_connection;
+	int last_tx_ret;
+
+	struct idr call_idr;
+	struct mutex call_idr_lock;
+
+	struct kmem_cache *cache;
+	struct mutex send_lock;
+	struct blocking_notifier_head nh;
+};
This obviously is the "device" that your system works on, so what are
the lifetime rules of it?  Why isn't is just a real 'struct device' in
the system instead of a random memory blob with a pointer to a device?

What controls the lifetime of this structure and where is the reference
counting logic for it?
The lifetime of the structure is bound by the platform device that above 
struct device *dev points to. get_gh_rm and put_gh_rm increments the 
device ref counter and ensures lifetime of the struct is also extended.
And why no documentation for this core structure?
Sure, I will add.
thanks,

greg k-h
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help