On Mon, Nov 21, 2022 at 05:59:59AM -0800, Elliot Berman wrote: > +struct gh_rm_rpc { > + struct device *dev; > + 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 mutex send_lock; > + > + struct work_struct recv_work; > +}; What handles the reference counting for this object? Shouldn't this be a real 'struct device' and just have a pointer to the parent? Otherwise how do you know when to free this? thanks, greg k-h