On Mon, Apr 01, 2019 at 12:34:29PM +0200, Greg KH wrote: > On Mon, Apr 01, 2019 at 01:15:53PM +0300, Heikki Krogerus wrote: > > Registering real device entries (struct device) for the mode > > muxes as well as for the orientation switches. > > > > The Type-C mux code was deliberately attempting to avoid > > creation of separate device entries for the orientation > > switch and the mode switch (alternate modes) because they > > are not physical devices. They are functions of a single > > physical multiplexer/demultiplexer switch device. > > > > Unfortunately because of the dependency we still have on the > > underlying mux device driver, we had to put in hacks like > > the one in the commit 3e3b81965cbf ("usb: typec: mux: Take > > care of driver module reference counting") to make sure the > > driver does not disappear from underneath us. Even with > > those hacks we were still left with a potential NUll pointer > > dereference scenario, so just creating the device entries, > > and letting the core take care of the dependencies. No more > > hacks needed. > > > > Fixes: 3e3b81965cbf ("usb: typec: mux: Take care of driver module reference counting") > > Cc: v4.19.x <stable@xxxxxxxxxxxxxxx> # v4.19.x+ > > Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > > This looks good to me, nice work! > > But, it would be nice if someone who has this hardware can test it to > verify it does actually work :) This alone does not work on Intel Cherrytrail platforms. I need to make the Intel Cherrytrail MFD driver (intel_cht_int33fe.c) to use the new device names that we now have for the muxes. Sorry for the mistake. I'll resend this and include the needed modifications to intel_cht_int33fe.c. Hans should be able to test this once I do that. I hope he has time. thanks, -- heikki