Hi, I've now removed the conditional creation of the mux device, and the connection for it that was checked in intel_cht_int33fe.c. I'm instead making the intel_cht_int33fe driver depend on the mux drivers. I also added a trivial cleanup patch (patch 10/10) for the fusb302.c to this series, and also a few fixes (1/10 and 2/10) to the mux handling. The origin thread can be read here: https://www.spinics.net/lists/linux-usb/msg172033.html Heikki Krogerus (10): usb: typec: Take care of driver module reference counting usb: roles: Handle driver reference counting platform: x86: intel_cht_int33fe: Add dependency on muxes drivers: base: Helpers for adding device connection descriptions platform: x86: intel_cht_int33fe: Register all connections at once platform: x86: intel_cht_int33fe: Fix the identifier for the mux connection platform: x86: intel_cht_int33fe: Add connections for the USB Type-C port usb: typec: class: Don't use port parent for getting mux handles platform: x86: intel_cht_int33fe: Remove the old connections for the muxes usb: typec: fusb302: reorganizing the probe function a little drivers/platform/x86/Kconfig | 2 ++ drivers/platform/x86/intel_cht_int33fe.c | 20 +++++-------- drivers/usb/common/roles.c | 15 ++++++++-- drivers/usb/typec/class.c | 38 ++++++++++-------------- drivers/usb/typec/fusb302/fusb302.c | 25 ++++++---------- drivers/usb/typec/mux.c | 17 ++++++++--- include/linux/device.h | 24 +++++++++++++++ 7 files changed, 82 insertions(+), 59 deletions(-) -- 2.18.0