1
0
Fork 0
alistair23-linux/include/linux/usb
Heikki Krogerus 3370db3519 usb: typec: Registering real device entries for the muxes
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 3e3b81965c ("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: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-06-03 10:55:38 +02:00
..
association.h
audio-v2.h
audio-v3.h
audio.h
c67x00.h
ccid.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cdc-wdm.h
cdc.h
cdc_ncm.h
ch9.h usb: introduce usb_ep_type_string() function 2019-05-03 09:13:48 +03:00
chipidea.h usb: chipidea: add flag for imx hsic implementation 2018-12-11 09:12:29 +08:00
composite.h
ehci-dbgp.h
ehci_def.h
ehci_pdriver.h
ezusb.h
functionfs.h
g_hid.h
gadget.h usb: gadget: Introduce frame_number to usb_request 2018-12-05 11:14:11 +02:00
gadget_configfs.h
gpio_vbus.h
hcd.h USB: changes for v5.2 merge window 2019-05-03 18:05:27 +02:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
isp1760.h
m66592.h
musb-ux500.h
musb.h
net2280.h
of.h
ohci_pdriver.h
otg-fsm.h
otg.h
pd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
pd_ado.h
pd_bdo.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
pd_ext_sdb.h
pd_vdo.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
phy.h
phy_companion.h
quirks.h USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub 2018-11-07 13:23:18 +01:00
r8a66597.h
renesas_usbhs.h
rndis_host.h
role.h usb: roles: Find the muxes by also matching against the device node 2019-02-14 10:52:25 +01:00
samsung_usb_phy.h
serial.h USB: serial: drop unused iflag macro 2019-04-30 10:26:32 +02:00
sl811.h
storage.h
tcpm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tegra_usb_phy.h
typec.h
typec_altmode.h
typec_dp.h usb: typec: Add driver for NVIDIA Alt Modes 2019-04-25 11:04:56 +02:00
typec_mux.h usb: typec: Registering real device entries for the muxes 2019-06-03 10:55:38 +02:00
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbnet.h
wusb-wa.h
wusb.h wusb: Remove unnecessary static function ckhdid_printf 2019-03-01 20:53:41 +01:00
xhci-dbgp.h