Re: [PATCH v7 04/13] slimbus: core: Add slim controllers support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






On 17/11/17 08:13, Greg KH wrote:
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@xxxxxxxxxx  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 for suggestion, I will remove this in next version.


thanks,
srini
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux