From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757368AbcBISUt (ORCPT ); Tue, 9 Feb 2016 13:20:49 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:33568 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757263AbcBISUp (ORCPT ); Tue, 9 Feb 2016 13:20:45 -0500 Date: Tue, 9 Feb 2016 10:20:45 -0800 From: Greg KH To: Heikki Krogerus Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Mathias Nyman , Felipe Balbi Subject: Re: [PATCH 1/3] usb: USB Type-C Connector Class Message-ID: <20160209182045.GB31787@kroah.com> References: <1455037283-106479-1-git-send-email-heikki.krogerus@linux.intel.com> <1455037283-106479-2-git-send-email-heikki.krogerus@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1455037283-106479-2-git-send-email-heikki.krogerus@linux.intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 09, 2016 at 07:01:21PM +0200, Heikki Krogerus wrote: > The purpose of this class is to provide unified interface > for user space to get the status and basic information about > USB Type-C Connectors in the system, control data role > swapping, and when USB PD is available, also power role > swapping and Altenate Modes. > > The class will export the following interfaces for every > USB Type-C Connector in the system to sysfs: > > 1. connected - Connection status of the connector > 2. alternate_mode - The current Alternate Mode > 3. alternate_modes - Lists all Alternate Modes the connector supports > 4. partner_alt_modes - Lists partner's Alternate Modes when connected > 5. partner_type - Can be USB, Charger, Alt Mode or Accessory > 6. data_role - The current data role, host or device > 7. data_roles - Data roles supported by the connector > 8. power_role - Connector's current power role, source or sink > 9. power_roles - Power roles supported by the connector > 10. power_operation_mode - The current power level in use > 11. usb_pd - yes if the connector supports USB PD. > 12. audio_accessory - yes if the connector supports Audio Accessory > 13. debug_accessory - yes if the connector supports Debug Accessory You forgot to document these sysfs files in Documenataion/ABI :( And what is userspace going to do with these files? Why does it care? > The data_role, power_role and alternate_mode are also > writable and can be used for executing role swapping and > entering modes. When USB PD is not supported by the > connector or partner, power_role will reflect the value of > the data_role, and is not swappable independently. How does this implementation differ from those in other drivers that we have seen, but not submitted for merging? I'm referring to the code from Fairchild for their USB Type C driver: https://github.com/gregkh/fusb30x and the driver that is in the latest Nexus 6 Android release (don't have the link to the android kernel tree at the moment sorry, but it's public and I think Linaro is working on cleaning it up...) thanks, greg k-h