Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt...
[cascardo/linux.git] / include / linux / usb / of.h
1 /*
2  * OF helpers for usb devices.
3  *
4  * This file is released under the GPLv2
5  */
6
7 #ifndef __LINUX_USB_OF_H
8 #define __LINUX_USB_OF_H
9
10 #include <linux/usb/ch9.h>
11 #include <linux/usb/otg.h>
12 #include <linux/usb/phy.h>
13
14 #if IS_ENABLED(CONFIG_OF)
15 enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *phy_np);
16 bool of_usb_host_tpl_support(struct device_node *np);
17 int of_usb_update_otg_caps(struct device_node *np,
18                         struct usb_otg_caps *otg_caps);
19 #else
20 static inline enum usb_dr_mode
21 of_usb_get_dr_mode_by_phy(struct device_node *phy_np)
22 {
23         return USB_DR_MODE_UNKNOWN;
24 }
25 static inline bool of_usb_host_tpl_support(struct device_node *np)
26 {
27         return false;
28 }
29 static inline int of_usb_update_otg_caps(struct device_node *np,
30                                 struct usb_otg_caps *otg_caps)
31 {
32         return 0;
33 }
34 #endif
35
36 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
37 enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
38 #else
39 static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
40 {
41         return USBPHY_INTERFACE_MODE_UNKNOWN;
42 }
43
44 #endif
45
46 #endif /* __LINUX_USB_OF_H */