Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752282AbdCCKSa (ORCPT ); Fri, 3 Mar 2017 05:18:30 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35892 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752251AbdCCKS1 (ORCPT ); Fri, 3 Mar 2017 05:18:27 -0500 Date: Fri, 3 Mar 2017 12:52:46 +0800 From: Peter Chen To: Guenter Roeck Cc: Heikki Krogerus , Greg KH , Felipe Balbi , Oliver Neukum , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Roger Quadros , Jun Li Subject: Re: [PATCH v17 2/3] usb: USB Type-C connector class Message-ID: <20170303045246.GB18650@b29397-desktop> References: <20170221142405.76299-1-heikki.krogerus@linux.intel.com> <20170221142405.76299-3-heikki.krogerus@linux.intel.com> <20170303033529.GA18650@b29397-desktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Content-Length: 1735 Lines: 56 On Thu, Mar 02, 2017 at 08:29:07PM -0800, Guenter Roeck wrote: > On 03/02/2017 07:35 PM, Peter Chen wrote: > >On Tue, Feb 21, 2017 at 05:24:04PM +0300, Heikki Krogerus wrote: > >>+/* --------------------------------------- */ > >>+/* Driver callbacks to report role updates */ > >>+ > >>+/** > >>+ * typec_set_data_role - Report data role change > >>+ * @port: The USB Type-C Port where the role was changed > >>+ * @role: The new data role > >>+ * > >>+ * This routine is used by the port drivers to report data role changes. > >>+ */ > >>+void typec_set_data_role(struct typec_port *port, enum typec_data_role role) > >>+{ > >>+ if (port->data_role == role) > >>+ return; > >>+ > >>+ port->data_role = role; > >>+ sysfs_notify(&port->dev.kobj, NULL, "data_role"); > >>+ kobject_uevent(&port->dev.kobj, KOBJ_CHANGE); > >>+} > >>+EXPORT_SYMBOL_GPL(typec_set_data_role); > >>+ > > > >Hi Keikki, > > > >Have you tested this interface with real dual-role controller/board? > > If it helps, my primary test system is a HP Chromebook 13 G1. > > >What interface you use when you receive this event to handle > >dual-role switch? I am wonder if a common dual-role class is > >needed, then we can have a common user utility. > > I don't really understand "What interface you use when you receive > this event". Can you explain ? > I mean "How to trigger kernel USB controller driver do role switch?" > > > >Eg, if "data_role" has changed, the udev can echo "data_role" to > >/sys/class/usb-dual-role/role > > > That sounds like a kernel event delivered to user space via udev or > sysfs notification and returned back into the kernel through a sysfs > attribute. Do I understand that correctly ? > Yes. -- Best Regards, Peter Chen