Re: [PATCH 1/3] SLIMbus: Device management on SLIMbus

From: Sagar Dharia
Date: Wed Jun 17 2015 - 13:10:22 EST


On 6/17/2015 5:45 AM, Mark Brown wrote:
On Tue, Jun 16, 2015 at 09:22:31AM -0600, Sagar Dharia wrote:
On 6/15/2015 4:54 AM, Mark Brown wrote:
On Sat, Jun 13, 2015 at 11:49:16PM -0600, Sagar Dharia wrote:
+void slim_ctrl_add_boarddevs(struct slim_controller *ctrl)
+{
Why are these operations split?
Some slaves may choose to do expensive operations in their probes (or wait
for logical address assignment). That will delay/block controller
registration and further HW initialization of the controller.
I did not see any downside/side-effect in splitting them. I am open however
to have them combined if that's the preferred way.
How does this resolve the issue? As far as I can see it just shuffles
it around so any delay happens later (and possibly not at a convenient
time), possibly not helping if there's multiple controllers. If devices
are doing excessively expensive things in their probe that seems like
something that we should fix in the drivers. For LA assignment
shouldn't we be addressing that by having a callback when the LA is
assigned? That will avoid single threading effects and is more like the
pattern for other buses. Slimbus isn't particularly unique in this
regard.
I agree that using the 'device_up' callback (it's called when the device has LA assignment) will make sure slaves can keep their probes non-blocking.
I was just trying to accommodate that blocking call by slaves and did not realize the downside you now mentioned about multiple-controllers
I will combine these in next patchset.
Thanks
Sagar

Greg, the LA assignment thing here is an example of the issue is an
example of the pattern I raised a while ago (but never got round to
coding up handling of) where we have devices on an enumerable bus with
static registrations. LA assignment is the end of the hotplug process
for a Slimbus device but most devices will need something doing to power
them up so they enumerate.


--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/