diff options
author | Peter Chen <peter.chen@freescale.com> | 2014-08-18 21:51:55 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-24 00:28:41 -0400 |
commit | 05f8b35a62efb8e70ebcd78e9c957324e9caddad (patch) | |
tree | 1d91d0740b04d1c018a53586b84c443cd397d7e4 | |
parent | 9bd0181c74527dbfd3a63ffef412b5d1c660d7e4 (diff) |
usb: common: add API to get if the platform supports TPL
The TPL (Targeted Peripheral List) is used for targeted hosts
(non-PC hosts), and it can be used at USB OTG & EH certification
and some specific products which need white list.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/common/usb-common.c | 15 | ||||
-rw-r--r-- | include/linux/usb/of.h | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/drivers/usb/common/usb-common.c b/drivers/usb/common/usb-common.c index 6dfd30a863c7..b530fd403ffb 100644 --- a/drivers/usb/common/usb-common.c +++ b/drivers/usb/common/usb-common.c | |||
@@ -139,6 +139,21 @@ enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np) | |||
139 | } | 139 | } |
140 | EXPORT_SYMBOL_GPL(of_usb_get_maximum_speed); | 140 | EXPORT_SYMBOL_GPL(of_usb_get_maximum_speed); |
141 | 141 | ||
142 | /** | ||
143 | * of_usb_host_tpl_support - to get if Targeted Peripheral List is supported | ||
144 | * for given targeted hosts (non-PC hosts) | ||
145 | * @np: Pointer to the given device_node | ||
146 | * | ||
147 | * The function gets if the targeted hosts support TPL or not | ||
148 | */ | ||
149 | bool of_usb_host_tpl_support(struct device_node *np) | ||
150 | { | ||
151 | if (of_find_property(np, "tpl-support", NULL)) | ||
152 | return true; | ||
153 | |||
154 | return false; | ||
155 | } | ||
156 | EXPORT_SYMBOL_GPL(of_usb_host_tpl_support); | ||
142 | #endif | 157 | #endif |
143 | 158 | ||
144 | MODULE_LICENSE("GPL"); | 159 | MODULE_LICENSE("GPL"); |
diff --git a/include/linux/usb/of.h b/include/linux/usb/of.h index 8c38aa26b3bb..cfe0528cdbb1 100644 --- a/include/linux/usb/of.h +++ b/include/linux/usb/of.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #if IS_ENABLED(CONFIG_OF) | 14 | #if IS_ENABLED(CONFIG_OF) |
15 | enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np); | 15 | enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np); |
16 | enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np); | 16 | enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np); |
17 | bool of_usb_host_tpl_support(struct device_node *np); | ||
17 | #else | 18 | #else |
18 | static inline enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np) | 19 | static inline enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np) |
19 | { | 20 | { |
@@ -25,6 +26,10 @@ of_usb_get_maximum_speed(struct device_node *np) | |||
25 | { | 26 | { |
26 | return USB_SPEED_UNKNOWN; | 27 | return USB_SPEED_UNKNOWN; |
27 | } | 28 | } |
29 | static inline bool of_usb_host_tpl_support(struct device_node *np) | ||
30 | { | ||
31 | return false; | ||
32 | } | ||
28 | #endif | 33 | #endif |
29 | 34 | ||
30 | #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) | 35 | #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) |