/usr/src/linux-headers-5.15.0-190/include/linux/usb
NameSizeModeActions
audio-v2.h143560644editdlrm
audio-v3.h142700644editdlrm
audio.h12610644editdlrm
c67x00.h18670644editdlrm
ccid.h7870644editdlrm
cdc-wdm.h7010644editdlrm
cdc.h15170644editdlrm
cdc_ncm.h59780644editdlrm
ch9.h23420644editdlrm
chipidea.h35120644editdlrm
composite.h261720644editdlrm
ehci-dbgp.h20990644editdlrm
ehci_def.h82770644editdlrm
ehci_pdriver.h23950644editdlrm
ezusb.h2860644editdlrm
functionfs.h1510644editdlrm
gadget.h375430644editdlrm
gadget_configfs.h30140644editdlrm
g_hid.h11580644editdlrm
hcd.h283430644editdlrm
input.h7160644editdlrm
iowarrior.h13740644editdlrm
irda.h38530644editdlrm
isp116x.h11600644editdlrm
isp1301.h24330644editdlrm
isp1362.h16280644editdlrm
m66592.h14440644editdlrm
musb-ux500.h8990644editdlrm
musb.h36000644editdlrm
net2280.h241200644editdlrm
of.h18590644editdlrm
ohci_pdriver.h17480644editdlrm
otg-fsm.h88230644editdlrm
otg.h31580644editdlrm
pd.h152540644editdlrm
pd_ado.h11910644editdlrm
pd_bdo.h5550644editdlrm
pd_ext_sdb.h6980644editdlrm
pd_vdo.h165540644editdlrm
phy.h84350644editdlrm
phy_companion.h11970644editdlrm
quirks.h24030644editdlrm
r8a66597.h180690644editdlrm
r8152.h11020644editdlrm
renesas_usbhs.h43030644editdlrm
rndis_host.h60800644editdlrm
role.h36630644editdlrm
serial.h175960644editdlrm
sl811.h8380644editdlrm
storage.h26450644editdlrm
tcpci.h68830644editdlrm
tcpm.h66140644editdlrm
tegra_usb_phy.h25860644editdlrm
typec.h95900644editdlrm
typec_altmode.h66390644editdlrm
typec_dp.h39980644editdlrm
typec_mux.h21150644editdlrm
typec_tbt.h17740644editdlrm
uas.h21210644editdlrm
ulpi.h23190644editdlrm
usb338x.h79770644editdlrm
usbnet.h108250644editdlrm
usb_phy_generic.h5820644editdlrm
xhci-dbgp.h8250644editdlrm
Edit: /usr/src/linux-headers-5.15.0-190/include/linux/usb/role.h (3663B)
// SPDX-License-Identifier: GPL-2.0 #ifndef __LINUX_USB_ROLE_H #define __LINUX_USB_ROLE_H #include struct usb_role_switch; enum usb_role { USB_ROLE_NONE, USB_ROLE_HOST, USB_ROLE_DEVICE, }; typedef int (*usb_role_switch_set_t)(struct usb_role_switch *sw, enum usb_role role); typedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *sw); /** * struct usb_role_switch_desc - USB Role Switch Descriptor * @fwnode: The device node to be associated with the role switch * @usb2_port: Optional reference to the host controller port device (USB2) * @usb3_port: Optional reference to the host controller port device (USB3) * @udc: Optional reference to the peripheral controller device * @set: Callback for setting the role * @get: Callback for getting the role (optional) * @allow_userspace_control: If true userspace may change the role through sysfs * @driver_data: Private data pointer * @name: Name for the switch (optional) * * @usb2_port and @usb3_port will point to the USB host port and @udc to the USB * device controller behind the USB connector with the role switch. If * @usb2_port, @usb3_port and @udc are included in the description, the * reference count for them should be incremented by the caller of * usb_role_switch_register() before registering the switch. */ struct usb_role_switch_desc { struct fwnode_handle *fwnode; struct device *usb2_port; struct device *usb3_port; struct device *udc; usb_role_switch_set_t set; usb_role_switch_get_t get; bool allow_userspace_control; void *driver_data; const char *name; }; #if IS_ENABLED(CONFIG_USB_ROLE_SWITCH) int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role); enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw); struct usb_role_switch *usb_role_switch_get(struct device *dev); struct usb_role_switch *fwnode_usb_role_switch_get(struct fwnode_handle *node); void usb_role_switch_put(struct usb_role_switch *sw); struct usb_role_switch * usb_role_switch_find_by_fwnode(const struct fwnode_handle *fwnode); struct usb_role_switch * usb_role_switch_register(struct device *parent, const struct usb_role_switch_desc *desc); void usb_role_switch_unregister(struct usb_role_switch *sw); void usb_role_switch_set_drvdata(struct usb_role_switch *sw, void *data); void *usb_role_switch_get_drvdata(struct usb_role_switch *sw); const char *usb_role_string(enum usb_role role); #else static inline int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role) { return 0; } static inline enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw) { return USB_ROLE_NONE; } static inline struct usb_role_switch *usb_role_switch_get(struct device *dev) { return ERR_PTR(-ENODEV); } static inline struct usb_role_switch * fwnode_usb_role_switch_get(struct fwnode_handle *node) { return ERR_PTR(-ENODEV); } static inline void usb_role_switch_put(struct usb_role_switch *sw) { } static inline struct usb_role_switch * usb_role_switch_find_by_fwnode(const struct fwnode_handle *fwnode) { return NULL; } static inline struct usb_role_switch * usb_role_switch_register(struct device *parent, const struct usb_role_switch_desc *desc) { return ERR_PTR(-ENODEV); } static inline void usb_role_switch_unregister(struct usb_role_switch *sw) { } static inline void usb_role_switch_set_drvdata(struct usb_role_switch *sw, void *data) { } static inline void *usb_role_switch_get_drvdata(struct usb_role_switch *sw) { return NULL; } static inline const char *usb_role_string(enum usb_role role) { return "unknown"; } #endif #endif /* __LINUX_USB_ROLE_H */