[alsa-devel] [PATCH v7 04/13] slimbus: core: Add slim controllers support

Greg KH gregkh at linuxfoundation.org
Fri Nov 17 09:13:22 CET 2017


On Fri, Nov 17, 2017 at 10:12:22AM +0530, Vinod Koul wrote:
> On Thu, Nov 16, 2017 at 05:29:35PM +0000, Srinivas Kandagatla wrote:
> > thanks for the comments.
> > 
> > 
> > On 16/11/17 16:42, Vinod Koul wrote:
> > >On Wed, Nov 15, 2017 at 02:10:34PM +0000, srinivas.kandagatla at linaro.org wrote:
> > >
> > >>+static void slim_dev_release(struct device *dev)
> > >>+{
> > >>+	struct slim_device *sbdev = to_slim_device(dev);
> > >>+
> > >>+	put_device(sbdev->ctrl->dev);
> > >
> > >which device would that be?
> > This is controller device
> > 
> > >
> > >>+static int slim_add_device(struct slim_controller *ctrl,
> > >>+			   struct slim_device *sbdev,
> > >>+			   struct device_node *node)
> > >>+{
> > >>+	sbdev->dev.bus = &slimbus_bus;
> > >>+	sbdev->dev.parent = ctrl->dev;
> > >>+	sbdev->dev.release = slim_dev_release;
> > >>+	sbdev->dev.driver = NULL;
> > >>+	sbdev->ctrl = ctrl;
> > >>+
> > >>+	dev_set_name(&sbdev->dev, "%x:%x:%x:%x",
> > >>+				  sbdev->e_addr.manf_id,
> > >>+				  sbdev->e_addr.prod_code,
> > >>+				  sbdev->e_addr.dev_index,
> > >>+				  sbdev->e_addr.instance);
> > >>+
> > >>+	get_device(ctrl->dev);
> > >
> > >is this controller device and you ensuring it doesnt go away while you have
> > >slaves on it?
> > 
> > Yes.
> 
> I thought since you are marking ctrl->dev as parent, the device core should
> ensure that parent doesn't go off when you have child device?
> 
> Greg, is that understanding correct, if so we may not need these calls.

That understanding should be correct, as the reference count is
incremented on the parent when a child is added.

It would be trivial for this to be tested, and yes, I am pretty sure you
don't need this call.

thanks,

greg k-h


More information about the Alsa-devel mailing list