/
usr
/
src
/
kernels
/
4.18.0-553.121.1.el8_10.x86_64
/
include
/
linux
/
usb
/
/usr/src/kernels/4.18.0-553.121.1.el8_10.x86_64/include/linux/usb
mkdir
upload
Name
Size
Mode
Actions
association.h
4697
0644
edit
dl
rm
audio-v2.h
13775
0644
edit
dl
rm
audio-v3.h
14270
0644
edit
dl
rm
audio.h
1108
0644
edit
dl
rm
c67x00.h
1867
0644
edit
dl
rm
ccid.h
787
0644
edit
dl
rm
cdc-wdm.h
461
0644
edit
dl
rm
cdc.h
1327
0644
edit
dl
rm
cdc_ncm.h
5956
0644
edit
dl
rm
ch9.h
2342
0644
edit
dl
rm
chipidea.h
3128
0644
edit
dl
rm
composite.h
25638
0644
edit
dl
rm
ehci-dbgp.h
2099
0644
edit
dl
rm
ehci_def.h
8076
0644
edit
dl
rm
ehci_pdriver.h
2395
0644
edit
dl
rm
ezusb.h
286
0644
edit
dl
rm
functionfs.h
151
0644
edit
dl
rm
gadget.h
34335
0644
edit
dl
rm
gadget_configfs.h
3014
0644
edit
dl
rm
gpio_vbus.h
1153
0644
edit
dl
rm
g_hid.h
1158
0644
edit
dl
rm
hcd.h
28423
0644
edit
dl
rm
input.h
526
0644
edit
dl
rm
iowarrior.h
1374
0644
edit
dl
rm
irda.h
3853
0644
edit
dl
rm
isp116x.h
1160
0644
edit
dl
rm
isp1301.h
1975
0644
edit
dl
rm
isp1362.h
1628
0644
edit
dl
rm
m66592.h
773
0644
edit
dl
rm
musb-ux500.h
899
0644
edit
dl
rm
musb.h
3600
0644
edit
dl
rm
net2280.h
24120
0644
edit
dl
rm
of.h
1815
0644
edit
dl
rm
ohci_pdriver.h
1748
0644
edit
dl
rm
otg-fsm.h
8823
0644
edit
dl
rm
otg.h
3080
0644
edit
dl
rm
pd.h
16539
0644
edit
dl
rm
pd_ado.h
1191
0644
edit
dl
rm
pd_bdo.h
555
0644
edit
dl
rm
pd_ext_sdb.h
698
0644
edit
dl
rm
pd_vdo.h
16554
0644
edit
dl
rm
phy.h
8435
0644
edit
dl
rm
phy_companion.h
1196
0644
edit
dl
rm
quirks.h
2403
0644
edit
dl
rm
r8a66597.h
17398
0644
edit
dl
rm
r8152.h
970
0644
edit
dl
rm
renesas_usbhs.h
4322
0644
edit
dl
rm
rndis_host.h
6080
0644
edit
dl
rm
role.h
3538
0644
edit
dl
rm
serial.h
17384
0644
edit
dl
rm
sl811.h
838
0644
edit
dl
rm
storage.h
2582
0644
edit
dl
rm
tcpci.h
7771
0644
edit
dl
rm
tcpm.h
7009
0644
edit
dl
rm
tegra_usb_phy.h
2490
0644
edit
dl
rm
typec.h
10136
0644
edit
dl
rm
typec_altmode.h
6641
0644
edit
dl
rm
typec_dp.h
3978
0644
edit
dl
rm
typec_mux.h
2986
0644
edit
dl
rm
typec_retimer.h
1198
0644
edit
dl
rm
typec_tbt.h
1774
0644
edit
dl
rm
uas.h
2121
0644
edit
dl
rm
ulpi.h
2147
0644
edit
dl
rm
usb338x.h
7977
0644
edit
dl
rm
usbnet.h
10506
0644
edit
dl
rm
usb_phy_generic.h
582
0644
edit
dl
rm
uvc.h
6339
0644
edit
dl
rm
wusb-wa.h
7679
0644
edit
dl
rm
wusb.h
9586
0644
edit
dl
rm
xhci-dbgp.h
651
0644
edit
dl
rm
Edit:
/usr/src/kernels/4.18.0-553.121.1.el8_10.x86_64/include/linux/usb/role.h
(3538B)
// SPDX-License-Identifier: GPL-2.0 #ifndef __LINUX_USB_ROLE_H #define __LINUX_USB_ROLE_H #include <linux/device.h> 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_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 */
Save
cmd:
run