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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel