On 2016-11-11 13:04, Peter Rosin wrote: > On 2016-11-11 12:47, MikeB wrote: >> On Thu, Nov 10, 2016 at 8:01 AM, Peter Rosin <peda@xxxxxxxxxx> wrote: >>>> There is however one requirement, the CPLD-mux must be "mux-locked" >>>> as explained in Documentation/i2c/i2c-topology. Otherwise accesses >>>> to devices behind that mux will lock the PCA9547 mux for the full >>>> duration of the transaction and thus lock out any attempts to update >>>> the CPLD mux as part of the transaction. >> >> Thank you for the informative reply. I was unfamiliar with the new >> mux and parent locking schemes. They do make the solution for this >> problem much easier to deal with. I'm working with release 4.4 >> (Ubuntu Xenial), so the mux/parent locking hadn't shown up on my radar >> yet. Unfortunately, the target release for my work is and will remain >> 4.4 for a while. > > Lucky you :-) > > Anyway, you might be able to backport the changes? > > Start with: > > a7ab72390b77062420fb50e4451f71c9321aae05 > "i2c: mux: add common data for every i2c-mux instance" > > through to > > 23fe440c59b9f08afe108e7ec7b6714cb2a3b955 > "i2c: mux: drop old unused i2c-mux api" > > And then: > > 785d32c7a9638a96730686663564d1842f7c2f03 > "i2c: allow adapter drivers to override the adapter locking" > > through to > > f76b724ee915415c52068c622ca48c652c1bd10c > "i2c-mux: document i2c muxes and elaborate on parent-/mux-locked muxes" Correction, those two commits became 8320f495cf441d593f7cd4f30e6b63455be71a2c and 2254d24aff3ab472dca287aef0123e8f0e06a14a when they got upstream. > There are a handful of commits right after that that are also > related, but they should be irrelevant to you... > > Haven't tried it though, YMMV, and I might have forgotten a patch > or two that came in later, but I don't remember any serious fallout... -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html