Merge tag 'sched_ext-for-6.12-rc1-fixes-1' of git://git.kernel.org/pub/scm/linux...
[linux-block.git] / include / linux / usb / of.h
CommitLineData
5fd54ace 1// SPDX-License-Identifier: GPL-2.0
1c9af653
MG
2/*
3 * OF helpers for usb devices.
1c9af653
MG
4 */
5
6#ifndef __LINUX_USB_OF_H
7#define __LINUX_USB_OF_H
8
82e82130 9#include <linux/usb.h>
1494a1f6 10#include <linux/usb/ch9.h>
1c9af653
MG
11#include <linux/usb/otg.h>
12#include <linux/usb/phy.h>
13
1a7e3948
JH
14struct usb_device;
15
848d5b91 16#if IS_ENABLED(CONFIG_OF)
ce15ed4c 17enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0);
05f8b35a 18bool of_usb_host_tpl_support(struct device_node *np);
929412d9
LJ
19int of_usb_update_otg_caps(struct device_node *np,
20 struct usb_otg_caps *otg_caps);
82e82130 21enum usb_port_connect_type usb_of_get_connect_type(struct usb_device *hub, int port1);
7739376e 22struct device_node *usb_of_get_device_node(struct usb_device *hub, int port1);
1a7e3948
JH
23bool usb_of_has_combined_node(struct usb_device *udev);
24struct device_node *usb_of_get_interface_node(struct usb_device *udev,
25 u8 config, u8 ifnum);
5095cb89 26struct device *usb_of_get_companion_dev(struct device *dev);
1c9af653 27#else
be99c843 28static inline enum usb_dr_mode
ce15ed4c 29of_usb_get_dr_mode_by_phy(struct device_node *np, int arg0)
98bfb394
BL
30{
31 return USB_DR_MODE_UNKNOWN;
32}
05f8b35a
PC
33static inline bool of_usb_host_tpl_support(struct device_node *np)
34{
35 return false;
36}
929412d9
LJ
37static inline int of_usb_update_otg_caps(struct device_node *np,
38 struct usb_otg_caps *otg_caps)
39{
40 return 0;
41}
82e82130
SB
42static inline enum usb_port_connect_type
43usb_of_get_connect_type(const struct usb_device *hub, int port1)
44{
45 return USB_PORT_CONNECT_TYPE_UNKNOWN;
46}
7739376e
JH
47static inline struct device_node *
48usb_of_get_device_node(struct usb_device *hub, int port1)
69bec725
PC
49{
50 return NULL;
51}
1a7e3948
JH
52static inline bool usb_of_has_combined_node(struct usb_device *udev)
53{
54 return false;
55}
56static inline struct device_node *
57usb_of_get_interface_node(struct usb_device *udev, u8 config, u8 ifnum)
58{
59 return NULL;
60}
5095cb89
YS
61static inline struct device *usb_of_get_companion_dev(struct device *dev)
62{
63 return NULL;
64}
848d5b91 65#endif
1c9af653 66
9cf7b244 67#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT)
848d5b91
PC
68enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np);
69#else
70static inline enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
1c9af653 71{
848d5b91 72 return USBPHY_INTERFACE_MODE_UNKNOWN;
1c9af653 73}
848d5b91 74
1c9af653
MG
75#endif
76
77#endif /* __LINUX_USB_OF_H */