Re: [PATCH v3 4/6] usb: common: add API to get if the platform supports TPL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 21, 2014 at 12:14:42AM +0800, Felipe Balbi wrote:
> 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.
> 

But the newest otg & eh spec still has TPL definition, and the newest
compliance test still needs to support it.

I think we should have TPL support at Linux kernel, in that case,
The embedded linux box can pass the USB-IF certification test without
changing design code except define their TPL devices.

This patchset has no side effect, and can help embedded linux box
pass USB certification easier, why not accept it?

> 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.
> 

This was my the first thought, but current usb device and usb driver
bind uses standard linux device model framework, we only know
if current device matches current driver or not. Maybe we can have a patchset
to support it, but it may change some code, since TPL framework has already
been existed, why not enhance it?

-- 
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux