Messages in this thread | | | Date | Mon, 27 Nov 2017 14:48:50 +0530 | From | Vinod Koul <> | Subject | Re: [PATCH v2 04/14] soundwire: Add MIPI DisCo property helpers |
| |
On Mon, Nov 27, 2017 at 07:59:40AM +0000, Charles Keepax wrote:
> > > Apologies for the long and slightly vague comment, but I guess my > > > question is do you have a thought on how drivers should know when > > > it is safe to communicate with a SoundWire device? > > > > IMO it is safe to communicate with SoundWire device when the Slave > > status is ATTACHED. In any case bus will report error if it is not able > > to communicate with SoundWire device. > > Yeah I guess my point here is that there is currently no way in > this SoundWire framework for the slave driver to know if the > device is attached or not, unless I am missing something? There > are calls by which the master can inform the framework, but > nothing to pass that on to the slave driver.
Nope, as Sanyog pointed out there are deterministic ways for Slave driver to find out. We can do that by: a) check the slave->status and communicate only if status is SDW_SLAVE_ATTACHED b) Implement sdw_slave_ops->update_status() which is invoked by Bus on any status changes.
So to summarize, for a Slave driver during the probe, if the status is not SDW_SLAVE_ATTACHED it should not communicate and should implement sdw_slave_ops->update_status and attempt IO when this callback gets invoked with SDW_SLAVE_ATTACHED status.
Does that clarify and solve the problem.
-- ~Vinod
| |