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

Vinod Koul vinod.koul at intel.com
Fri Nov 17 05:42:22 CET 2017


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.

-- 
~Vinod


More information about the Alsa-devel mailing list