Hi, On Tue, Aug 19, 2014 at 09:51:55AM +0800, Peter Chen wrote: > 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@xxxxxxxxxxxxx> > --- > drivers/usb/common/usb-common.c | 15 +++++++++++++++ > include/linux/usb/of.h | 5 +++++ > 2 files changed, 20 insertions(+) > > diff --git a/drivers/usb/common/usb-common.c b/drivers/usb/common/usb-common.c > index 6dfd30a..b530fd4 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) > } > EXPORT_SYMBOL_GPL(of_usb_get_maximum_speed); > > +/** > + * of_usb_host_tpl_support - to get if Targeted Peripheral List is supported > + * for given targeted hosts (non-PC hosts) > + * @np: Pointer to the given device_node > + * > + * The function gets if the targeted hosts support TPL or not > + */ > +bool of_usb_host_tpl_support(struct device_node *np) > +{ > + if (of_find_property(np, "tpl-support", NULL)) > + return true; > + > + return false; please don't. Quite frankly, TPL support in Linux is quite braindead. The way it's done it prevents USB from being used as an accessory port. I talked to the USB-IF long ago and I was told that the spec is a bit badly worded but preventing new drivers from being installed is wrong. What we really need is a notification for when Linux can't bind any driver to the new device. That would be an unsupported device. -- balbi
Attachment:
signature.asc
Description: Digital signature