Skip to content
  • Heikki Krogerus's avatar
    usb: typec: Registering real device entries for the muxes · 3370db35
    Heikki Krogerus authored
    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 3e3b8196
    
     ("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.
    
    Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    3370db35