Re: [PATCHv6 1/3] usb: USB Type-C connector class
From: Heikki Krogerus
Date: Tue Aug 30 2016 - 07:50:06 EST
On Tue, Aug 30, 2016 at 01:16:46PM +0200, Oliver Neukum wrote:
> On Tue, 2016-08-30 at 13:04 +0300, Heikki Krogerus wrote:
> > On Tue, Aug 30, 2016 at 11:32:01AM +0200, Oliver Neukum wrote:
>
> Hi,
>
> > > On Mon, 2016-08-29 at 15:36 +0300, Heikki Krogerus wrote:
> > > > +What: /sys/class/typec/<port>/current_data_role
> > > > +Date: June 2016
> > > > +Contact: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> > > > +Description:
> > > > + The current USB data role the port is operating in.
> > > > This
> > > > + attribute can be used for requesting data role
> > > > swapping on the
> > > > + port. Swapping is only supported as an asynchronous
> > > > operation
> > > > + and requires polling of the attribute in order to know
> > > > the
> > > > + result, so successful write operation does not mean
> > > > successful
> > > > + swap.
> > > > +
> > >
> > > That is badly formulated. Does it mean that poll() or select()
> > > can be used or does the value need to be repearedly read?
> >
> > Does polling not always mean poll/select?
>
> No, it does not.
>
> > > And how would you learn about an error?
> >
> > This is what I'm also really worried about. I'm now wondering did I
> > give up too easily on this to Guenter in hope to move this thing
> > forward. He said it's problematic to do these calls synchronously for
>
> Error reporting does not require a synchronous operation. Reporting
> it in the next read() or write() and making it pollable is perfectly
> viable. It just must not be silently dropped.
OK, I think I got it. I need to document that. I'll also add
get_pr/dr/vconn hooks to the API for getting the status.
Thanks Oliver,
--
heikki