From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758254AbcH3LQ4 (ORCPT ); Tue, 30 Aug 2016 07:16:56 -0400 Received: from mx2.suse.de ([195.135.220.15]:58943 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757777AbcH3LQx (ORCPT ); Tue, 30 Aug 2016 07:16:53 -0400 Message-ID: <1472555806.2623.16.camel@suse.com> Subject: Re: [PATCHv6 1/3] usb: USB Type-C connector class From: Oliver Neukum To: Heikki Krogerus Cc: Guenter Roeck , Vincent Palatin , Bin Gao , Felipe Balbi , Greg KH , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Date: Tue, 30 Aug 2016 13:16:46 +0200 In-Reply-To: <20160830100437.GA1751@kuha.fi.intel.com> References: <1472474182-43858-1-git-send-email-heikki.krogerus@linux.intel.com> <1472474182-43858-2-git-send-email-heikki.krogerus@linux.intel.com> <1472549521.2623.10.camel@suse.com> <20160830100437.GA1751@kuha.fi.intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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//current_data_role > > > +Date: June 2016 > > > +Contact: Heikki Krogerus > > > +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. Regards Oliver