From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756774AbcBQH6r (ORCPT ); Wed, 17 Feb 2016 02:58:47 -0500 Received: from mga11.intel.com ([192.55.52.93]:49381 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756481AbcBQH6p (ORCPT ); Wed, 17 Feb 2016 02:58:45 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,459,1449561600"; d="scan'208";a="913984079" Date: Wed, 17 Feb 2016 09:58:41 +0200 From: Heikki Krogerus To: Oliver Neukum Cc: Felipe Balbi , Mathias Nyman , Greg KH , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: Re: [PATCH 2/3] usb: type-c: USB Type-C Connector System Software Interface Message-ID: <20160217075841.GA24649@kuha.fi.intel.com> References: <1455037283-106479-1-git-send-email-heikki.krogerus@linux.intel.com> <1455037283-106479-3-git-send-email-heikki.krogerus@linux.intel.com> <20160209182155.GC31787@kroah.com> <20160210103042.GB5270@kuha.fi.intel.com> <20160210172035.GA28335@kroah.com> <20160211135011.GA32213@kuha.fi.intel.com> <1455550218.22176.11.camel@suse.com> <20160216092238.GA18565@kuha.fi.intel.com> <1455629987.4532.25.camel@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1455629987.4532.25.camel@suse.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 16, 2016 at 02:39:47PM +0100, Oliver Neukum wrote: > On Tue, 2016-02-16 at 11:22 +0200, Heikki Krogerus wrote: > > > That question has not been answered. It would be awkward for the OS > > > to find itself in the slave role, which it is ill equipped for. So > > > the data role should be switched before the new device is announced > > > to user space. How is that handled? > > > > In the class driver, once we add support for preselecting the role, > > when the connection happens we compare the initial role to the > > preselected one and execute swap if it differs. Only after that we > > notify userspace. > > Yes, but we need an API. We can't keep adding to it. So if that > is to be supported, it needs to be defined now. When you say API, do you mean the API the class provides to the drivers? Or did you mean ABI which would be the sysfs in this case? For the sysfs I would image we can manage with the current files, current_data_role and current_power_role. If somebody writes to them when we are disconnected, we still callback the dr_swap or pr_swap hooks, and make a rule that when disconnected, it means we are setting the "preferred" roles. Would that be OK? Or did I still misunderstood your question? Thanks, -- heikki