[{"id":1775198,"web_url":"http://patchwork.ozlabs.org/comment/1775198/","msgid":"<20170926065749.GE6250@kroah.com>","list_archive_url":null,"date":"2017-09-26T06:57:49","subject":"Re: [PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n\tstaging","submitter":{"id":11800,"url":"http://patchwork.ozlabs.org/api/people/11800/","name":"Greg Kroah-Hartman","email":"gregkh@linuxfoundation.org"},"content":"On Tue, Sep 26, 2017 at 08:45:27AM +0800, Li Jun wrote:\n> Move TCPCI(Typec port controller interface) driver out of staging.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>  drivers/staging/Kconfig        |   2 -\n>  drivers/staging/Makefile       |   1 -\n>  drivers/staging/typec/Kconfig  |  14 -\n>  drivers/staging/typec/Makefile |   1 -\n>  drivers/staging/typec/TODO     |   5 -\n>  drivers/staging/typec/tcpci.c  | 637 -----------------------------------------\n>  drivers/staging/typec/tcpci.h  | 133 ---------\n>  drivers/usb/typec/Kconfig      |   7 +\n>  drivers/usb/typec/Makefile     |   1 +\n>  drivers/usb/typec/tcpci.c      | 637 +++++++++++++++++++++++++++++++++++++++++\n>  drivers/usb/typec/tcpci.h      | 133 +++++++++\n>  11 files changed, 778 insertions(+), 793 deletions(-)\n\n\nCreating patches like this with \"-M\" to git format-patch is nice, that\nway we see the rename as just a rename, and not a big delete/add patch.\n\nCan you do that instead and resend this series?\n\nthanks,\n\ngreg k-h\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1Wx25mLRz9t5C\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 16:57:42 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S965834AbdIZG5l (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 02:57:41 -0400","from mail.linuxfoundation.org ([140.211.169.12]:33866 \"EHLO\n\tmail.linuxfoundation.org\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S935846AbdIZG5k (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 02:57:40 -0400","from localhost (LFbn-1-12253-150.w90-92.abo.wanadoo.fr\n\t[90.92.67.150])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPSA id DB1B1A70;\n\tTue, 26 Sep 2017 06:57:39 +0000 (UTC)"],"Date":"Tue, 26 Sep 2017 08:57:49 +0200","From":"Greg KH <gregkh@linuxfoundation.org>","To":"Li Jun <jun.li@nxp.com>","Cc":"linux@roeck-us.net, robh+dt@kernel.org, mark.rutland@arm.com,\n\theikki.krogerus@linux.intel.com, yueyao@google.com,\n\to_leveque@orange.fr, peter.chen@nxp.com, aisheng.dong@nxp.com,\n\tlinux-usb@vger.kernel.org, devicetree@vger.kernel.org","Subject":"Re: [PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n\tstaging","Message-ID":"<20170926065749.GE6250@kroah.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-13-git-send-email-jun.li@nxp.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1506386727-16370-13-git-send-email-jun.li@nxp.com>","User-Agent":"Mutt/1.9.1 (2017-09-22)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775200,"web_url":"http://patchwork.ozlabs.org/comment/1775200/","msgid":"<DB4PR04MB0768423268C5D9D7BFFD3625897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T07:16:24","subject":"RE: [PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n\tstaging","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"Hi,\n\n> -----Original Message-----\n> From: Greg KH [mailto:gregkh@linuxfoundation.org]\n> Sent: Tuesday, September 26, 2017 2:58 PM\n> To: Jun Li <jun.li@nxp.com>\n> Cc: linux@roeck-us.net; robh+dt@kernel.org; mark.rutland@arm.com;\n> heikki.krogerus@linux.intel.com; yueyao@google.com; o_leveque@orange.fr;\n> Peter Chen <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\n> usb@vger.kernel.org; devicetree@vger.kernel.org\n> Subject: Re: [PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n> staging\n> \n> On Tue, Sep 26, 2017 at 08:45:27AM +0800, Li Jun wrote:\n> > Move TCPCI(Typec port controller interface) driver out of staging.\n> >\n> > Signed-off-by: Li Jun <jun.li@nxp.com>\n> > ---\n> >  drivers/staging/Kconfig        |   2 -\n> >  drivers/staging/Makefile       |   1 -\n> >  drivers/staging/typec/Kconfig  |  14 -\n> >  drivers/staging/typec/Makefile |   1 -\n> >  drivers/staging/typec/TODO     |   5 -\n> >  drivers/staging/typec/tcpci.c  | 637\n> > -----------------------------------------\n> >  drivers/staging/typec/tcpci.h  | 133 ---------\n> >  drivers/usb/typec/Kconfig      |   7 +\n> >  drivers/usb/typec/Makefile     |   1 +\n> >  drivers/usb/typec/tcpci.c      | 637\n> +++++++++++++++++++++++++++++++++++++++++\n> >  drivers/usb/typec/tcpci.h      | 133 +++++++++\n> >  11 files changed, 778 insertions(+), 793 deletions(-)\n> \n> \n> Creating patches like this with \"-M\" to git format-patch is nice, that way we see\n> the rename as just a rename, and not a big delete/add patch.\n> \n> Can you do that instead and resend this series?\n\nThanks, I will do that and resend.\n\nLi Jun\n> \n> thanks,\n> \n> greg k-h\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"upeYo60n\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1XLr0lR6z9tXc\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 17:16:36 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S966875AbdIZHQb (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 03:16:31 -0400","from mail-db5eur01on0045.outbound.protection.outlook.com\n\t([104.47.2.45]:18788\n\t\"EHLO EUR01-DB5-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S966836AbdIZHQ3 (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 03:16:29 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB313.eurprd04.prod.outlook.com (10.141.239.146) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 07:16:25 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 07:16:24 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=mki8tckYouyPliEtkq7dlm4q0qxS707ltTGWcN+aRd8=;\n\tb=upeYo60ndmrWq2nhAC8oQGB8i9v65+7dvHTpN26OEquSRCbE69LT5Jp7rJ5187ufDGJUjW1bbl0C6tYPpjRVN+UQd+EHT9HxS1+mxfiD08cWd1Un02sTq5KIKFpjmNRamvzPWKlz8uJzQM7yTe2w3Bsv5IDc6Qf1HK5/C/55Rko=","From":"Jun Li <jun.li@nxp.com>","To":"Greg KH <gregkh@linuxfoundation.org>","CC":"\"linux@roeck-us.net\" <linux@roeck-us.net>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>, \n\t\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n\tstaging","Thread-Topic":"[PATCH 12/12] staging: typec: tcpci: move tcpci driver out of\n\tstaging","Thread-Index":"AQHTNoLFC1r8mhf28EqjJLBaSu8mwKLGvIGAgAADWaA=","Date":"Tue, 26 Sep 2017 07:16:24 +0000","Message-ID":"<DB4PR04MB0768423268C5D9D7BFFD3625897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-13-git-send-email-jun.li@nxp.com>\n\t<20170926065749.GE6250@kroah.com>","In-Reply-To":"<20170926065749.GE6250@kroah.com>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"upeYo60n\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[199.59.231.64]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB313;\n\t6:BZ5CptpCRZN6CwRvs7zj39JMLPXBkbzNergXv+BNVN+uYByDlkmbHww2h4AdsgQYa1yhW4bEPZT3jAWb0V0Si94OdokHpRXeErA9tW4p9YRmaXMIZ4877UTKv3pwX/d9XkdGQvEZQzcXUUN90k+cC6G/3GG+IMkhnaV7UZ6VuuTxTQudql5ONCmtJh1mEVmVlw3MHxMh4++cwz4rvQUY1a1hMymoKwf5RwGFU6LN0YTgY4ILpWpJHe4XuNQSnwz9clPFTtKnmLu+o5GIu4CcPYOE+DO6NRP90zTfDTm7tQDY0AYIMJ81ga5iMsXgYouE+U1e3ZsMjqc0Pmsp0BsNKg==;\n\t5:WvDkLGXst5guEwXslnaIQuxuRFRVDu47xlPyRef41p3vGOI1GefR8GQWkgwkIdlCMqWaKSWlTEYA8xjgdNWM0SkvcIwxG69JD54nKda2/KZknTuGslsTsfcJ2r3rAhxqLlY+o1bepXX2NDUJbQencA==;\n\t24:NBQHNFrkOUp+frv+qQSUcqSN8jJUapSVhYysJhTTZSh03RSxu4FiFYhaP7ru4EvnpaDrDr5tmYJBMrCqzfLROT9zw1XYkBroENHQuAzib5w=;\n\t7:kPwS1km4ykfdm9EB2ZUy2Du1eZn9efgnKiapa5yXAOUvnbG1fQcYGwSHjqnPX3AYkdrFmkZQTddkORGzJuXQ2zCRoch27tmi5kNJgCmwsO7u9Xmx8qHcN2CQLNJJRgkAogP4RloPKI0htujcX65rVwC8V7qRS2OLjT4SgH47CefmzkwejMMVzYQtVxnQQGeyGqvnQQOxlWbVs5MqNDW3Yu0H5lB9zOfbAHi15w6cCRI=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(376002)(39860400002)(346002)(189002)(13464003)(377454003)(24454002)(199003)(76176999)(6506006)(6436002)(53936002)(8936002)(101416001)(54356999)(50986999)(53546010)(5250100002)(68736007)(55016002)(34040400001)(6246003)(189998001)(3660700001)(97736004)(8676002)(66066001)(9686003)(7736002)(74316002)(106356001)(3280700002)(81156014)(6916009)(14454004)(2906002)(105586002)(81166006)(478600001)(305945005)(33656002)(316002)(102836003)(2950100002)(3846002)(229853002)(6116002)(25786009)(86362001)(4326008)(99286003)(7696004)(54906003)(2900100001)(5660300001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB313;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"8111d0b8-633f-4b72-4796-08d504ae7f4b","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB313; ","x-ms-traffictypediagnostic":"DB4PR04MB313:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB313EB540BAC98124E2587E2897B0@DB4PR04MB313.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(920507026)(6055026)(6041248)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB313; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB313; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 07:16:24.8472\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB313","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775201,"web_url":"http://patchwork.ozlabs.org/comment/1775201/","msgid":"<9c461105-fa96-3989-5a95-b9f82b154ea2@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T07:16:37","subject":"Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> As we should only drive connected cc line to be the right state when\n> attached, and keeps the other one to be open, so update the set_cc\n> interface for that.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/usb/typec/tcpm.c | 12 +++++++++++-\n>   include/linux/usb/tcpm.h |  3 ++-\n>   2 files changed, 13 insertions(+), 2 deletions(-)\n> \n> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c\n> index 38a6223..c9966ee 100644\n> --- a/drivers/usb/typec/tcpm.c\n> +++ b/drivers/usb/typec/tcpm.c\n> @@ -1857,9 +1857,15 @@ static bool tcpm_start_drp_toggling(struct tcpm_port *port,\n>   \n>   static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc)\n>   {\n> +\tbool attached;\n> +\n>   \ttcpm_log(port, \"cc:=%d\", cc);\n>   \tport->cc_req = cc;\n> -\tport->tcpc->set_cc(port->tcpc, cc);\n> +\tif (port->state == SRC_ATTACHED || port->state == SNK_ATTACHED)\n> +\t\tattached = true;\n> +\telse\n> +\t\tattached = false;\n> +\tport->tcpc->set_cc(port->tcpc, cc, attached, port->polarity);\n\nPolarity should be set with set_polarity(). Is it necessary to duplicate that ?\n\n>   }\n>   \n>   static int tcpm_init_vbus(struct tcpm_port *port)\n> @@ -1913,6 +1919,8 @@ static int tcpm_src_attach(struct tcpm_port *port)\n>   \tif (ret < 0)\n>   \t\treturn ret;\n>   \n> +\ttcpm_set_cc(port, tcpm_rp_cc(port));\n> +\n>   \tret = tcpm_set_roles(port, true, TYPEC_SOURCE, TYPEC_HOST);\n>   \tif (ret < 0)\n>   \t\treturn ret;\n> @@ -2028,6 +2036,8 @@ static int tcpm_snk_attach(struct tcpm_port *port)\n>   \tif (ret < 0)\n>   \t\treturn ret;\n>   \n> +\ttcpm_set_cc(port, TYPEC_CC_RD);\n> +\n>   \tret = tcpm_set_roles(port, true, TYPEC_SINK, TYPEC_DEVICE);\n>   \tif (ret < 0)\n>   \t\treturn ret;\n> diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h\n> index a67cf77..a007e2a1 100644\n> --- a/include/linux/usb/tcpm.h\n> +++ b/include/linux/usb/tcpm.h\n> @@ -159,7 +159,8 @@ struct tcpc_dev {\n>   \tint (*init)(struct tcpc_dev *dev);\n>   \tint (*get_vbus)(struct tcpc_dev *dev);\n>   \tint (*get_current_limit)(struct tcpc_dev *dev);\n> -\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc);\n> +\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc,\n> +\t\t\tbool attached, enum typec_cc_polarity polarity);\n>   \tint (*get_cc)(struct tcpc_dev *dev, enum typec_cc_status *cc1,\n>   \t\t      enum typec_cc_status *cc2);\n>   \tint (*set_polarity)(struct tcpc_dev *dev,\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"gKndBn7+\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1XM319m8z9tXc\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 17:16:47 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S966913AbdIZHQn (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 03:16:43 -0400","from mail-pf0-f196.google.com ([209.85.192.196]:36887 \"EHLO\n\tmail-pf0-f196.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S966725AbdIZHQj (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 03:16:39 -0400","by mail-pf0-f196.google.com with SMTP id e69so4666700pfg.4;\n\tTue, 26 Sep 2017 00:16:39 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\ta78sm18106789pfl.39.2017.09.26.00.16.37\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 00:16:38 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=VQ442Kji1d0h9kv1Y2snloVpdcuoZm2JMJD+LTkf0sU=;\n\tb=gKndBn7+bOH/IYI47TtiSVmkW7WUuDleC/hYrJ5+Ke7D6seBA5uW8Hd9kUVMJPTVX1\n\tsXbaHk3bRqtBEdnV8z0uEHEkIOV079YgfFJxy9fXLKsy1oBMkKDJpAXrFlgelbOO/5N6\n\td1s711QcS9cZlGS2fxsfG8bmrYsHPymRNpzb3XTjCke7I76Z6HP8C3s5x5QipvFI/qzO\n\t8VWC4jIck8bvyPZ1mQxQykZmofp/ZCDFYTkocBD3C2mtrazOOmIdD1J0k05B1RB2b1NJ\n\tuSxLiGBzhTfEHjCUeiCorwKE3Au6A26XzxQIbqm90oXy9dscX14a6FDXGijzbDjB8ye2\n\tqVZA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=VQ442Kji1d0h9kv1Y2snloVpdcuoZm2JMJD+LTkf0sU=;\n\tb=tv6cAuvj9u/slxBuP22SdrQXT2B6U39JgP1rO7085HYk8yI7fb6vsOiHyNRANm3DVf\n\t8pPqPfEm1FoIUTkxF9ogN782p0xEJ3agPxi7QBh+UxolfDDCr6BUFiqUu618+t8zu6bk\n\t2LQIfQ+y3vCSVfYmwLlosPQl9lUZn/uWVOjlfr1i+Rc94XOKxahvYcuF8i4kNxmHpYqw\n\tQXmDxqLWHns25FwZcRef0QtfVan6qaRKhMPpDWQU5fqRzy024stB41bj3id+tjuXWPmO\n\tVbTUnVG9Y5UpsdbbyMlRm6ZAVSNjZmMv/oMO8P5+OPtzodAFTpoP6izz6uWhalxeKwb3\n\tK2dQ==","X-Gm-Message-State":"AHPjjUh7FWtbWGt8jfC8t2WGHCHRPzFNd9PeK5EOhuKH0gkCqjiOby3q\n\tCrgreu+tPJZ0Q01DJl7b6brPqQ==","X-Google-Smtp-Source":"AOwi7QA4gTIItYzKViYctv8AlDuTlm8BLnMF7nC7PtkNCufPKtZeeLkW73KOjpUEKp8rnfvvC0xxDg==","X-Received":"by 10.84.131.103 with SMTP id 94mr9949314pld.302.1506410199068; \n\tTue, 26 Sep 2017 00:16:39 -0700 (PDT)","Subject":"Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-10-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<9c461105-fa96-3989-5a95-b9f82b154ea2@roeck-us.net>","Date":"Tue, 26 Sep 2017 00:16:37 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-10-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775229,"web_url":"http://patchwork.ozlabs.org/comment/1775229/","msgid":"<20170926080231.GB14296@kuha.fi.intel.com>","list_archive_url":null,"date":"2017-09-26T08:02:31","subject":"Re: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","submitter":{"id":23674,"url":"http://patchwork.ozlabs.org/api/people/23674/","name":"Heikki Krogerus","email":"heikki.krogerus@linux.intel.com"},"content":"Hi,\n\nOn Tue, Sep 26, 2017 at 08:45:16AM +0800, Li Jun wrote:\n> This patch add 2 APIs to get port type and preferred role from firmware\n> description.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>  drivers/usb/typec/typec.c | 45 +++++++++++++++++++++++++++++++++++++++++++++\n>  include/linux/usb/typec.h |  2 ++\n>  2 files changed, 47 insertions(+)\n> \n> diff --git a/drivers/usb/typec/typec.c b/drivers/usb/typec/typec.c\n> index 24e355b..0c77cc4 100644\n> --- a/drivers/usb/typec/typec.c\n> +++ b/drivers/usb/typec/typec.c\n> @@ -12,6 +12,7 @@\n>  #include <linux/device.h>\n>  #include <linux/module.h>\n>  #include <linux/mutex.h>\n> +#include <linux/of.h>\n\nNot needed.\n\n>  #include <linux/slab.h>\n>  #include <linux/usb/typec.h>\n>  \n> @@ -1249,6 +1250,50 @@ void typec_set_pwr_opmode(struct typec_port *port,\n>  }\n>  EXPORT_SYMBOL_GPL(typec_set_pwr_opmode);\n>  \n> +/**\n> + * typec_get_port_type - Get the typec port type\n> + * @dev: Device to get the property of\n> + *\n> + * This routine is used by typec hardware driver to read property port type\n> + * from the device firmware description.\n> + *\n> + * Returns typec_port_type if success, otherwise negative error code.\n> + */\n> +int typec_get_port_type(struct device *dev)\n> +{\n> +\tconst char *type_str;\n> +\tint ret;\n> +\n> +\tret = device_property_read_string(dev, \"port-type\", &type_str);\n> +\tif (ret < 0)\n> +\t\treturn ret;\n> +\n> +\treturn match_string(typec_port_types, ARRAY_SIZE(typec_port_types),\n> +\t\t\t\t\t\t\t\t type_str);\n> +}\n> +EXPORT_SYMBOL_GPL(typec_get_port_type);\n> +\n> +/**\n> + * typec_get_power_role - Get the typec preferred role\n> + * @dev: Device to get the property of\n> + *\n> + * This routine is used by typec hardware driver to read property default role\n> + * from the device firmware description.\n> + *\n> + * Returns typec_role if success, otherwise negative error code.\n> + */\n> +int typec_get_power_role(struct device *dev)\n> +{\n> +\tconst char *power_str;\n> +\tint ret;\n> +\n> +\tret = device_property_read_string(dev, \"default-role\", &power_str);\n> +\tif (ret < 0)\n> +\t\treturn ret;\n> +\n> +\treturn match_string(typec_roles, ARRAY_SIZE(typec_roles), power_str);\n> +}\n> +EXPORT_SYMBOL_GPL(typec_get_power_role);\n>  /* --------------------------------------- */\n>  \n>  /**\n> diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h\n> index ffe7487..bfac685 100644\n> --- a/include/linux/usb/typec.h\n> +++ b/include/linux/usb/typec.h\n> @@ -243,5 +243,7 @@ void typec_set_data_role(struct typec_port *port, enum typec_data_role role);\n>  void typec_set_pwr_role(struct typec_port *port, enum typec_role role);\n>  void typec_set_vconn_role(struct typec_port *port, enum typec_role role);\n>  void typec_set_pwr_opmode(struct typec_port *port, enum typec_pwr_opmode mode);\n> +int typec_get_port_type(struct device *dev);\n> +int typec_get_power_role(struct device *dev);\n>  \n>  #endif /* __LINUX_USB_TYPEC_H */\n> -- \n> 2.6.6\n\nThanks,","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1YT24lpXz9tX4\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 18:07:02 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S967148AbdIZIHA (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 04:07:00 -0400","from mga02.intel.com ([134.134.136.20]:45841 \"EHLO mga02.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S965142AbdIZIG6 (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 04:06:58 -0400","from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t26 Sep 2017 01:06:57 -0700","from kuha.fi.intel.com ([10.237.72.189])\n\tby FMSMGA003.fm.intel.com with SMTP; 26 Sep 2017 01:06:53 -0700","by kuha.fi.intel.com (sSMTP sendmail emulation);\n\tTue, 26 Sep 2017 11:02:31 +0300"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,440,1500966000\"; d=\"scan'208\";a=\"903898209\"","Date":"Tue, 26 Sep 2017 11:02:31 +0300","From":"Heikki Krogerus <heikki.krogerus@linux.intel.com>","To":"Li Jun <jun.li@nxp.com>","Cc":"gregkh@linuxfoundation.org, linux@roeck-us.net, robh+dt@kernel.org,\n\tmark.rutland@arm.com, yueyao@google.com, o_leveque@orange.fr,\n\tpeter.chen@nxp.com, aisheng.dong@nxp.com,\n\tlinux-usb@vger.kernel.org, devicetree@vger.kernel.org","Subject":"Re: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","Message-ID":"<20170926080231.GB14296@kuha.fi.intel.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-2-git-send-email-jun.li@nxp.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1506386727-16370-2-git-send-email-jun.li@nxp.com>","User-Agent":"Mutt/1.8.3 (2017-05-23)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775307,"web_url":"http://patchwork.ozlabs.org/comment/1775307/","msgid":"<DB4PR04MB07686F2B9947D0974B2946A4897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T09:55:05","subject":"RE: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"> -----Original Message-----\n> From: Heikki Krogerus [mailto:heikki.krogerus@linux.intel.com]\n> Sent: Tuesday, September 26, 2017 4:03 PM\n> To: Jun Li <jun.li@nxp.com>\n> Cc: gregkh@linuxfoundation.org; linux@roeck-us.net; robh+dt@kernel.org;\n> mark.rutland@arm.com; yueyao@google.com; o_leveque@orange.fr; Peter\n> Chen <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\n> usb@vger.kernel.org; devicetree@vger.kernel.org\n> Subject: Re: [PATCH 01/12] usb: typec: add API to get port type and preferred\n> role\n> \n> Hi,\n> \n> On Tue, Sep 26, 2017 at 08:45:16AM +0800, Li Jun wrote:\n> > This patch add 2 APIs to get port type and preferred role from\n> > firmware description.\n> >\n> > Signed-off-by: Li Jun <jun.li@nxp.com>\n> > ---\n> >  drivers/usb/typec/typec.c | 45\n> > +++++++++++++++++++++++++++++++++++++++++++++\n> >  include/linux/usb/typec.h |  2 ++\n> >  2 files changed, 47 insertions(+)\n> >\n> > diff --git a/drivers/usb/typec/typec.c b/drivers/usb/typec/typec.c\n> > index 24e355b..0c77cc4 100644\n> > --- a/drivers/usb/typec/typec.c\n> > +++ b/drivers/usb/typec/typec.c\n> > @@ -12,6 +12,7 @@\n> >  #include <linux/device.h>\n> >  #include <linux/module.h>\n> >  #include <linux/mutex.h>\n> > +#include <linux/of.h>\n> \n> Not needed.\n\nI will change to #include <linux/property.h>\n\n> \n> >  #include <linux/slab.h>\n> >  #include <linux/usb/typec.h>\n> >\n> > @@ -1249,6 +1250,50 @@ void typec_set_pwr_opmode(struct typec_port\n> > *port,  }  EXPORT_SYMBOL_GPL(typec_set_pwr_opmode);\n> >\n> > +/**\n> > + * typec_get_port_type - Get the typec port type\n> > + * @dev: Device to get the property of\n> > + *\n> > + * This routine is used by typec hardware driver to read property\n> > +port type\n> > + * from the device firmware description.\n> > + *\n> > + * Returns typec_port_type if success, otherwise negative error code.\n> > + */\n> > +int typec_get_port_type(struct device *dev) {\n> > +\tconst char *type_str;\n> > +\tint ret;\n> > +\n> > +\tret = device_property_read_string(dev, \"port-type\", &type_str);\n> > +\tif (ret < 0)\n> > +\t\treturn ret;\n> > +\n> > +\treturn match_string(typec_port_types, ARRAY_SIZE(typec_port_types),\n> > +\t\t\t\t\t\t\t\t type_str);\n> > +}\n> > +EXPORT_SYMBOL_GPL(typec_get_port_type);\n> > +\n> > +/**\n> > + * typec_get_power_role - Get the typec preferred role\n> > + * @dev: Device to get the property of\n> > + *\n> > + * This routine is used by typec hardware driver to read property\n> > +default role\n> > + * from the device firmware description.\n> > + *\n> > + * Returns typec_role if success, otherwise negative error code.\n> > + */\n> > +int typec_get_power_role(struct device *dev) {\n> > +\tconst char *power_str;\n> > +\tint ret;\n> > +\n> > +\tret = device_property_read_string(dev, \"default-role\", &power_str);\n> > +\tif (ret < 0)\n> > +\t\treturn ret;\n> > +\n> > +\treturn match_string(typec_roles, ARRAY_SIZE(typec_roles),\n> > +power_str); } EXPORT_SYMBOL_GPL(typec_get_power_role);\n> >  /* --------------------------------------- */\n> >\n> >  /**\n> > diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h\n> > index ffe7487..bfac685 100644\n> > --- a/include/linux/usb/typec.h\n> > +++ b/include/linux/usb/typec.h\n> > @@ -243,5 +243,7 @@ void typec_set_data_role(struct typec_port *port,\n> > enum typec_data_role role);  void typec_set_pwr_role(struct typec_port\n> > *port, enum typec_role role);  void typec_set_vconn_role(struct\n> > typec_port *port, enum typec_role role);  void\n> > typec_set_pwr_opmode(struct typec_port *port, enum typec_pwr_opmode\n> > mode);\n> > +int typec_get_port_type(struct device *dev); int\n> > +typec_get_power_role(struct device *dev);\n> >\n> >  #endif /* __LINUX_USB_TYPEC_H */\n> > --\n> > 2.6.6\n> \n> Thanks,\n> \n> --\n> heikki\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"LA6104uC\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1bss51x5z9tXb\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 19:55:13 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S967852AbdIZJzM (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 05:55:12 -0400","from mail-he1eur01on0057.outbound.protection.outlook.com\n\t([104.47.0.57]:56048\n\t\"EHLO EUR01-HE1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S967843AbdIZJzK (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 05:55:10 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB314.eurprd04.prod.outlook.com (10.141.239.147) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 09:55:06 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 09:55:06 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=4oeK91iCv4RGyEe6vu3K6HMQokdJM6KhKpTHrHL9SKo=;\n\tb=LA6104uCZNhnn8BdKG5mnA2Yee7OdMRTHG95uj3P2iePD0TWGOEH+XQx9hsC/iQjMOJpWsxUOLX2Im6LndYhllM99SBfnZkZhDwFG5no1/LawpHMi+G/CzeMX7zPqpIMDm/0OuOTUHhVrNndBEnjDfO/65itt7E9yLJ44S+KQeE=","From":"Jun Li <jun.li@nxp.com>","To":"Heikki Krogerus <heikki.krogerus@linux.intel.com>","CC":"\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"linux@roeck-us.net\" <linux@roeck-us.net>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","Thread-Topic":"[PATCH 01/12] usb: typec: add API to get port type and\n\tpreferred role","Thread-Index":"AQHTNoKh7v9MTEtxhkuFZ4k0iacpfKLGzpWAgAAfAcA=","Date":"Tue, 26 Sep 2017 09:55:05 +0000","Message-ID":"<DB4PR04MB07686F2B9947D0974B2946A4897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-2-git-send-email-jun.li@nxp.com>\n\t<20170926080231.GB14296@kuha.fi.intel.com>","In-Reply-To":"<20170926080231.GB14296@kuha.fi.intel.com>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"LA6104uC\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[199.59.231.64]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB314;\n\t6:BmahT0pgbyXaqvAE2Un9kcXoWIC01hn6ThQoVEadV3HiJI3Eh5YT4f3qAIe/tMoVQsFUoYO7fgHYu3PTfnSU1KIKsYeiFUiIPSqzUS3Kbce9mqIQc15x7apbqz3jGiKA0M7BJvnv38D/w1wXVVNERPYjQIViYqS7nkCZ26yBiVuWP/JWFAl6KG7xkzeP47v8igimb4+Dc7XOHRakmcI/DVqT+QjKOab6AXkcjYvurhLPICLJ1bQoFx5bSNfZBpty4rGxh+Sl2edE7rxgxUHN1W9ig5GdXjIQSIT610OKs6iYngCFOn7WinHfITKhjUrJzG5pwG+9WyzNqSvRoL4tlw==;\n\t5:jYkxxHGKL0pjwPRLM83U6AEk7YHbxU5tEJjfIu8EP2pbx3sgawJk7JZP+mTm1E11xa5Fkj1inL2sxlBS8+JD5iThHRYd+0s6QUPsNF+edxkU3FYwwXLRTbvTurrrm7MWLbYV56gQi6lXIO2B2INBfg==;\n\t24:mJAJu73ZCTFpzDni0ejPeBcaKuZ7MlhQcKTyI8E5L7FKY+MwUFl3yvGruGhS70QCahRXxIW0sb8ogNGh8CO2yV6+l2V70PC0Xg4epWXj2IQ=;\n\t7:MEfQvrLyY8cBp2ngrrrSX+zY0hPdC0rBFcDyYPsaY5YoB+tgSSTvdjZ0315IoDZIUO2dt0PGBzYJ0P/crvTPNW7hQdbzC2oZSPcVJ29WZGhE9HtBFxdLR2mw+bvPEkYm1Ku+0LoBoolgJhe3zYPOxBqPnDVaYQ9t1PqG/f3js/oXNch869Sfgy2SGunfBdzieF9MK9/mM0m2D8uCzRscaHRjJxT+SlgbkCk5uBa6A+k=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(13464003)(24454002)(377454003)(189002)(199003)(53546010)(105586002)(6916009)(2950100002)(106356001)(34040400001)(99286003)(74316002)(9686003)(14454004)(102836003)(6116002)(8676002)(316002)(81166006)(54906003)(5660300001)(25786009)(7736002)(2906002)(305945005)(81156014)(68736007)(2900100001)(3660700001)(6506006)(66066001)(5250100002)(97736004)(55016002)(7696004)(3846002)(3280700002)(189998001)(229853002)(8936002)(54356999)(478600001)(86362001)(33656002)(101416001)(6436002)(53936002)(4326008)(50986999)(6246003)(76176999);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB314;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"318f3407-2af7-485d-1b68-08d504c4aa54","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB314; ","x-ms-traffictypediagnostic":"DB4PR04MB314:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB314F36954200613F27E888D897B0@DB4PR04MB314.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(920507026)(6055026)(6041248)(20161123555025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB314; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB314; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 09:55:05.8970\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB314","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775491,"web_url":"http://patchwork.ozlabs.org/comment/1775491/","msgid":"<e79d8143-1187-f3c4-6030-ecf28e3d2fff@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:20:15","subject":"Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/26/2017 02:53 AM, Jun Li wrote:\n> Hi,\n> \n>> -----Original Message-----\n>> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter Roeck\n>> Sent: Tuesday, September 26, 2017 3:17 PM\n>> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org; robh+dt@kernel.org;\n>> mark.rutland@arm.com; heikki.krogerus@linux.intel.com\n>> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\n>> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\n>> usb@vger.kernel.org; devicetree@vger.kernel.org\n>> Subject: Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc line\n>> when attached\n>>\n>> On 09/25/2017 05:45 PM, Li Jun wrote:\n>>> As we should only drive connected cc line to be the right state when\n>>> attached, and keeps the other one to be open, so update the set_cc\n>>> interface for that.\n>>>\n>>> Signed-off-by: Li Jun <jun.li@nxp.com>\n>>> ---\n>>>    drivers/usb/typec/tcpm.c | 12 +++++++++++-\n>>>    include/linux/usb/tcpm.h |  3 ++-\n>>>    2 files changed, 13 insertions(+), 2 deletions(-)\n>>>\n>>> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c index\n>>> 38a6223..c9966ee 100644\n>>> --- a/drivers/usb/typec/tcpm.c\n>>> +++ b/drivers/usb/typec/tcpm.c\n>>> @@ -1857,9 +1857,15 @@ static bool tcpm_start_drp_toggling(struct\n>>> tcpm_port *port,\n>>>\n>>>    static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc)\n>>>    {\n>>> +\tbool attached;\n>>> +\n>>>    \ttcpm_log(port, \"cc:=%d\", cc);\n>>>    \tport->cc_req = cc;\n>>> -\tport->tcpc->set_cc(port->tcpc, cc);\n>>> +\tif (port->state == SRC_ATTACHED || port->state == SNK_ATTACHED)\n>>> +\t\tattached = true;\n>>> +\telse\n>>> +\t\tattached = false;\n>>> +\tport->tcpc->set_cc(port->tcpc, cc, attached, port->polarity);\n>>\n>> Polarity should be set with set_polarity(). Is it necessary to duplicate that ?\n> \n> In tcpci case, set_polarity only sets Plug Orientation bit:\n> \" 0b: When Vconn is enabled, apply it to the CC2 pin. Monitor the CC1 pin for\n> BMC communications if PD messaging is enabled.\n> 1b: When Vconn is enabled, apply it to the CC1 pin. Monitor the CC2 pin for\n> BMC communications if PD messaging is enabled.\"\n> \nYes, but the driver should know about the flag already.\n\nI have two more concerns:\n\nSetting CC is logically independent from the state machine \"active\" state.\nI don't recall that the USB PD state machine talks about CC pin changes upon\nentering and exiting READY states. Why is it necessary to pass the state\nto the driver ?\n\nAlso, your patch changes the API, but you don't change the driver, meaning there\nshould be compile failures after this patch. You need to change the calling code\nin the same patch to keep the build clean.\n\nGuenter\n\n> There is no duplication for tcpci, or you think I should do this in set_polarity\n> of tcpci driver internally? looks better from my point view as I may don't\n> need change tcpm set_cc interface.\n> \n> thanks\n> Li Jun\n>>\n>>>    }\n>>>\n>>>    static int tcpm_init_vbus(struct tcpm_port *port) @@ -1913,6 +1919,8\n>>> @@ static int tcpm_src_attach(struct tcpm_port *port)\n>>>    \tif (ret < 0)\n>>>    \t\treturn ret;\n>>>\n>>> +\ttcpm_set_cc(port, tcpm_rp_cc(port));\n>>> +\n>>>    \tret = tcpm_set_roles(port, true, TYPEC_SOURCE, TYPEC_HOST);\n>>>    \tif (ret < 0)\n>>>    \t\treturn ret;\n>>> @@ -2028,6 +2036,8 @@ static int tcpm_snk_attach(struct tcpm_port *port)\n>>>    \tif (ret < 0)\n>>>    \t\treturn ret;\n>>>\n>>> +\ttcpm_set_cc(port, TYPEC_CC_RD);\n>>> +\n>>>    \tret = tcpm_set_roles(port, true, TYPEC_SINK, TYPEC_DEVICE);\n>>>    \tif (ret < 0)\n>>>    \t\treturn ret;\n>>> diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h index\n>>> a67cf77..a007e2a1 100644\n>>> --- a/include/linux/usb/tcpm.h\n>>> +++ b/include/linux/usb/tcpm.h\n>>> @@ -159,7 +159,8 @@ struct tcpc_dev {\n>>>    \tint (*init)(struct tcpc_dev *dev);\n>>>    \tint (*get_vbus)(struct tcpc_dev *dev);\n>>>    \tint (*get_current_limit)(struct tcpc_dev *dev);\n>>> -\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc);\n>>> +\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc,\n>>> +\t\t\tbool attached, enum typec_cc_polarity polarity);\n>>>    \tint (*get_cc)(struct tcpc_dev *dev, enum typec_cc_status *cc1,\n>>>    \t\t      enum typec_cc_status *cc2);\n>>>    \tint (*set_polarity)(struct tcpc_dev *dev,\n>>>\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"BI8wf8dI\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hR55P3tz9tXn\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:20:49 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S967753AbdIZNUr (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:20:47 -0400","from mail-pf0-f194.google.com ([209.85.192.194]:34269 \"EHLO\n\tmail-pf0-f194.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S966989AbdIZNUU (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:20:20 -0400","by mail-pf0-f194.google.com with SMTP id g65so5012779pfe.1;\n\tTue, 26 Sep 2017 06:20:20 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\tb8sm16722893pfl.62.2017.09.26.06.20.16\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:20:17 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=W+s6VWkAYLSnp686DlcodtlY6qb6bAErZ8l/VR/d0SE=;\n\tb=BI8wf8dIaaE9SlzoA2u+HhB/GGwBe5QEzqKGHe4hKqjaAS3KTbi4I0ipRLU2WFbexO\n\tg0CbuNy/WACihD/QLCjzG9ZJ9Tt2IBXd6nVuJJO01dj3sToFgKo7ax6IJnfIj+dhCYLp\n\trieNR9d1xYvyDMPmJPcij6v/172tdo/F4NK1tPWXrh/Y08/MlPcEAOo81yjQWhNmUQgv\n\t3eWAEenSKGTqyKR3VAAqIf8mN0sWMHe05Kz47hZl2HBUjExdsTBYl2U0fKkirLz7U3mc\n\t0xCEBnnIQ7HEburtqfmNWBbRpLtlVZe5/lfbg97OE1N/O/eDVV14mXJUgdUd9a3cA2Ud\n\tO0Rw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=W+s6VWkAYLSnp686DlcodtlY6qb6bAErZ8l/VR/d0SE=;\n\tb=ArMUHGacIPvAZg93w7Jv2ljUDvpOZ7ds0cpiUGYYYRPoHYhbcnsD9aqT/jqdALPZjP\n\tTq8jRJ4853H3/RrkUuwLk0f9t9K09p1PcaT55jwI9BCa0pKUgONTkURDFe8WtQdZ9W71\n\tnFqXLgZjX/h8pMrvqeXv9bNotl5RzC9sqxsbYU+VDZNg5u0x42bz3+B6/qS6PkETeQvo\n\tfRdcO1Ijl5/UMCrWuwAfvEw5XSTy5I6CgyTSA+klAUh2+9E76tqwKeHf9uIcq4pnP0Xe\n\tli/1h/kS5C1dTB9gJrq0Xg///y+gGwV3J3bt1POnDnTP8fe9VLhEc4tqI1bzPypDx564\n\tuhpg==","X-Gm-Message-State":"AHPjjUiTQS3x1ZaGEZKlcNJzqzRPqw4MraTn8DxRC+nplloTCP4JVeYn\n\tDXChVEr/4YdCbhiRxtkc6eHHwA==","X-Google-Smtp-Source":"AOwi7QDfr+g1JHxErgUikj9egiY1wfpTQ9kik+poeTe+7QCwAnW3M2xE31LMJYN/Uvm99LweUUOQAg==","X-Received":"by 10.84.133.193 with SMTP id f59mr10881729plf.332.1506432019546;\n\tTue, 26 Sep 2017 06:20:19 -0700 (PDT)","Subject":"Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","To":"Jun Li <jun.li@nxp.com>,\n\t\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>","Cc":"\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-10-git-send-email-jun.li@nxp.com>\n\t<9c461105-fa96-3989-5a95-b9f82b154ea2@roeck-us.net>\n\t<DB4PR04MB07689A95430FA6F4AA219539897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<e79d8143-1187-f3c4-6030-ecf28e3d2fff@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:20:15 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<DB4PR04MB07689A95430FA6F4AA219539897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775492,"web_url":"http://patchwork.ozlabs.org/comment/1775492/","msgid":"<63bf50c4-1223-e5f0-0156-d15fb651ce31@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:20:52","subject":"Re: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> This patch add 2 APIs to get port type and preferred role from firmware\n> description.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/usb/typec/typec.c | 45 +++++++++++++++++++++++++++++++++++++++++++++\n>   include/linux/usb/typec.h |  2 ++\n>   2 files changed, 47 insertions(+)\n> \n> diff --git a/drivers/usb/typec/typec.c b/drivers/usb/typec/typec.c\n> index 24e355b..0c77cc4 100644\n> --- a/drivers/usb/typec/typec.c\n> +++ b/drivers/usb/typec/typec.c\n> @@ -12,6 +12,7 @@\n>   #include <linux/device.h>\n>   #include <linux/module.h>\n>   #include <linux/mutex.h>\n> +#include <linux/of.h>\n>   #include <linux/slab.h>\n>   #include <linux/usb/typec.h>\n>   \n> @@ -1249,6 +1250,50 @@ void typec_set_pwr_opmode(struct typec_port *port,\n>   }\n>   EXPORT_SYMBOL_GPL(typec_set_pwr_opmode);\n>   \n> +/**\n> + * typec_get_port_type - Get the typec port type\n> + * @dev: Device to get the property of\n> + *\n> + * This routine is used by typec hardware driver to read property port type\n> + * from the device firmware description.\n> + *\n> + * Returns typec_port_type if success, otherwise negative error code.\n> + */\n> +int typec_get_port_type(struct device *dev)\n> +{\n> +\tconst char *type_str;\n> +\tint ret;\n> +\n> +\tret = device_property_read_string(dev, \"port-type\", &type_str);\n> +\tif (ret < 0)\n> +\t\treturn ret;\n> +\n> +\treturn match_string(typec_port_types, ARRAY_SIZE(typec_port_types),\n> +\t\t\t\t\t\t\t\t type_str);\n> +}\n> +EXPORT_SYMBOL_GPL(typec_get_port_type);\n> +\n> +/**\n> + * typec_get_power_role - Get the typec preferred role\n> + * @dev: Device to get the property of\n> + *\n> + * This routine is used by typec hardware driver to read property default role\n> + * from the device firmware description.\n> + *\n> + * Returns typec_role if success, otherwise negative error code.\n> + */\n> +int typec_get_power_role(struct device *dev)\n> +{\n> +\tconst char *power_str;\n> +\tint ret;\n> +\n> +\tret = device_property_read_string(dev, \"default-role\", &power_str);\n> +\tif (ret < 0)\n> +\t\treturn ret;\n> +\n> +\treturn match_string(typec_roles, ARRAY_SIZE(typec_roles), power_str);\n> +}\n> +EXPORT_SYMBOL_GPL(typec_get_power_role);\n\nAdd empty line\n\n>   /* --------------------------------------- */\n>   \n>   /**\n> diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h\n> index ffe7487..bfac685 100644\n> --- a/include/linux/usb/typec.h\n> +++ b/include/linux/usb/typec.h\n> @@ -243,5 +243,7 @@ void typec_set_data_role(struct typec_port *port, enum typec_data_role role);\n>   void typec_set_pwr_role(struct typec_port *port, enum typec_role role);\n>   void typec_set_vconn_role(struct typec_port *port, enum typec_role role);\n>   void typec_set_pwr_opmode(struct typec_port *port, enum typec_pwr_opmode mode);\n> +int typec_get_port_type(struct device *dev);\n> +int typec_get_power_role(struct device *dev);\n>   \n>   #endif /* __LINUX_USB_TYPEC_H */\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"EYUlQGAb\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hRD51N0z9tXn\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:20:56 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S967757AbdIZNUz (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:20:55 -0400","from mail-pg0-f66.google.com ([74.125.83.66]:37325 \"EHLO\n\tmail-pg0-f66.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S966989AbdIZNUy (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:20:54 -0400","by mail-pg0-f66.google.com with SMTP id v5so6761878pgn.4;\n\tTue, 26 Sep 2017 06:20:54 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\tp88sm17692769pfi.174.2017.09.26.06.20.52\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:20:53 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=GSYc8L+y2tqcOTIFnzFfkMqKl/kLn/cQ5EnLp6hJvtI=;\n\tb=EYUlQGAbqeIpZzMAOWd/xzPyjcrX3gdOa4vjYLQP0PlTVWc77/tcl+3vAMXUUBlNgV\n\tAOYbvNPmraJe5jJ+PS56lCHTtV+JdLoa8d1Fb0aeI3Tnk3mnNoBNlpzL8tvJmCaRectp\n\tiLc4AamM368UI7BrHqywYGRdOG9yGVFPsxgM+jfr8fHkIP+o3zZuKbd/KrzfhyygFY+h\n\t/dlNkU1e5Gko/PuoEI3JrkTsPL+2DpcJfY2pwAtznMlVg7QYZwHv0fbt30NZNnqhzIJB\n\t8spRhsA5c5XJkX0DT1YNLe2zdCa6AWsrMWU4uVmZ+oHFmE2zGzb7u0JB1pwfE7yv98Hq\n\thtbg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=GSYc8L+y2tqcOTIFnzFfkMqKl/kLn/cQ5EnLp6hJvtI=;\n\tb=RbZEkam+43OcRAPblJDx4qAwekc+ZQGI4qE3vZ5irJnH2DNmanInCFsTomcT5uIEwy\n\tNNV5V41q/icvNAxNkT2UMMYHfw42yCWClO367A3AHbs+X4OZE9Bxh815WRis/nkfV/sT\n\tlDZ5dBPhk0B08UMfXYSOwam9XWk2/NxUZDOrnh3EKvkI6vocHrYnFcjOY3ZjYOA8CQnx\n\t2xiNa6qDfb5Ao/JrTnGmwoo5dye/gy/bvrLoWctEgMFQf/TcvSRx3dlv3yyfBOzIsLwM\n\tMq9+m74UupcKdkvFy5fLEE1RHJ6fJsFboBibtIOTNkr0dK/3TQnv2nwTnGZYFWgPYWX5\n\tX1Xw==","X-Gm-Message-State":"AHPjjUj9y5kXXEgHq0TNyWasVcTkUIZjZwjUOidAtMChtvPEt83sHXPA\n\tbLidVrjzV7twdOa2myQneNZNqg==","X-Google-Smtp-Source":"AOwi7QDveo2gFdNsnnW8Gf8xX9mdRYePKpsrGXH5UnH1LIctt8FY3tqBE+7sFj29F5aZ9eSPmZ2j3g==","X-Received":"by 10.98.207.134 with SMTP id\n\tb128mr11012848pfg.202.1506432053802; \n\tTue, 26 Sep 2017 06:20:53 -0700 (PDT)","Subject":"Re: [PATCH 01/12] usb: typec: add API to get port type and preferred\n\trole","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-2-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<63bf50c4-1223-e5f0-0156-d15fb651ce31@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:20:52 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-2-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775500,"web_url":"http://patchwork.ozlabs.org/comment/1775500/","msgid":"<bb854ecf-fad7-2c2a-1972-5c4cabb970f2@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:32:56","subject":"Re: [PATCH 04/12] staging: typec: tcpci: support port config passed\n\tvia dt","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> User can define the typec port properties in tcpci node to setup\n> the port config.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/staging/typec/tcpci.c | 89 +++++++++++++++++++++++++++++++++++++++----\n>   include/linux/usb/tcpm.h      |  6 +--\n>   2 files changed, 85 insertions(+), 10 deletions(-)\n> \n> diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c\n> index 4636804..0119453 100644\n> --- a/drivers/staging/typec/tcpci.c\n> +++ b/drivers/staging/typec/tcpci.c\n> @@ -425,17 +425,92 @@ static const struct regmap_config tcpci_regmap_config = {\n>   \t.max_register = 0x7F, /* 0x80 .. 0xFF are vendor defined */\n>   };\n>   \n> -static const struct tcpc_config tcpci_tcpc_config = {\n> -\t.type = TYPEC_PORT_DFP,\n> -\t.default_role = TYPEC_SINK,\n> -};\n> -\n> +/* Populate struct tcpc_config from device-tree */\n>   static int tcpci_parse_config(struct tcpci *tcpci)\n>   {\n> +\tstruct tcpc_config *tcfg;\n> +\tint ret = -EINVAL;\n> +\n>   \ttcpci->controls_vbus = true; /* XXX */\n>   \n> -\t/* TODO: Populate struct tcpc_config from ACPI/device-tree */\n> -\ttcpci->tcpc.config = &tcpci_tcpc_config;\n> +\ttcpci->tcpc.config = devm_kzalloc(tcpci->dev, sizeof(*tcfg),\n> +\t\t\t\t\t  GFP_KERNEL);\n> +\tif (!tcpci->tcpc.config)\n> +\t\treturn -ENOMEM;\n> +\n> +\ttcfg = tcpci->tcpc.config;\n> +\n> +\t/* Get port-type */\n> +\tret = typec_get_port_type(tcpci->dev);\n> +\tif (ret < 0) {\n> +\t\tdev_err(tcpci->dev, \"typec port type is NOT correct!\\n\");\n\nAre all those exclamation marks necessary ?\n\n> +\t\treturn ret;\n> +\t}\n> +\ttcfg->type = ret;\n> +\n> +\tif (tcfg->type == TYPEC_PORT_UFP)\n> +\t\tgoto sink;\n> +\n> +\t/* Get source PDO */\n> +\ttcfg->nr_src_pdo = device_property_read_u32_array(tcpci->dev,\n> +\t\t\t\t\t\t\"src-pdos\", NULL, 0);\n\nI personally prefer continuation line alignment to '(', but that is up to Greg to decide.\n\n> +\tif (tcfg->nr_src_pdo <= 0) {\n> +\t\tdev_err(tcpci->dev, \"typec source pdo is missing!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n> +\n> +\ttcfg->src_pdo = devm_kzalloc(tcpci->dev,\n> +\t\tsizeof(*tcfg->src_pdo) * tcfg->nr_src_pdo, GFP_KERNEL);\n\ndevm_kcalloc\n\n> +\tif (!tcfg->src_pdo)\n> +\t\treturn -ENOMEM;\n> +\n> +\tret = device_property_read_u32_array(tcpci->dev, \"src-pdos\",\n> +\t\t\t\ttcfg->src_pdo, tcfg->nr_src_pdo);\n> +\tif (ret) {\n> +\t\tdev_err(tcpci->dev, \"Failed to read src pdo!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n> +\n> +\tif (tcfg->type == TYPEC_PORT_DFP)\n> +\t\treturn 0;\n> +\n> +\t/* Get the preferred power role for drp */\n> +\tret = typec_get_power_role(tcpci->dev);\n\nMaybe this should be named typec_get_preferred_role(). The generic function\nnames are a bit misleading; they suggest they would return the current role,\nand don't indicate that the data is from device properties.\nI am also not sure about the mix of using typec infra functions and\ndirect device_property calls.\n\n> +\tif (ret < 0) {\n> +\t\tdev_err(tcpci->dev, \"typec preferred role is wrong!\\n\");\n\nWrong or missing ?\n\n> +\t\treturn ret;\n> +\t}\n> +\ttcfg->default_role = ret;\n> +sink:\n> +\t/* Get sink power capability */\n> +\ttcfg->nr_snk_pdo = device_property_read_u32_array(tcpci->dev,\n> +\t\t\t\t\t\t\"snk-pdos\", NULL, 0);\n> +\tif (tcfg->nr_snk_pdo <= 0) {\n> +\t\tdev_err(tcpci->dev, \"typec sink pdo is missing!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n> +\n> +\ttcfg->snk_pdo = devm_kzalloc(tcpci->dev,\n> +\t\tsizeof(*tcfg->snk_pdo) * tcfg->nr_snk_pdo, GFP_KERNEL);\n> +\tif (!tcfg->snk_pdo)\n> +\t\treturn -ENOMEM;\n> +\n> +\tret = device_property_read_u32_array(tcpci->dev, \"snk-pdos\",\n> +\t\t\t\ttcfg->snk_pdo, tcfg->nr_snk_pdo);\n> +\tif (ret) {\n> +\t\tdev_err(tcpci->dev, \"Failed to read sink pdo!\\n\");\n\nThere is a mix of \"Failed to read\" and \"missing\" messages. What is the difference ?\n\n> +\t\treturn -EINVAL;\n> +\t}\n> +\n> +\tif (device_property_read_u32(tcpci->dev, \"max-snk-mv\",\n> +\t\t\t\t     &tcfg->max_snk_mv) ||\n> +\t\tdevice_property_read_u32(tcpci->dev, \"max-snk-ma\",\n> +\t\t\t\t\t &tcfg->max_snk_ma) ||\n> +\t\tdevice_property_read_u32(tcpci->dev, \"op-snk-mw\",\n> +\t\t\t\t\t &tcfg->operating_snk_mw)) {\n> +\t\tdev_err(tcpci->dev, \"Failed to read sink capability!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n>   \n>   \treturn 0;\n>   }\n> diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h\n> index 073197f..a67cf77 100644\n> --- a/include/linux/usb/tcpm.h\n> +++ b/include/linux/usb/tcpm.h\n> @@ -76,10 +76,10 @@ enum tcpm_transmit_type {\n>    * @alt_modes:\tList of supported alternate modes\n>    */\n>   struct tcpc_config {\n> -\tconst u32 *src_pdo;\n> +\tu32 *src_pdo;\n>   \tunsigned int nr_src_pdo;\n>   \n> -\tconst u32 *snk_pdo;\n> +\tu32 *snk_pdo;\n>   \tunsigned int nr_snk_pdo;\n>   \n>   \tconst u32 *snk_vdo;\n> @@ -154,7 +154,7 @@ struct tcpc_mux_dev {\n>    * @mux:\tPointer to multiplexer data\n>    */\n>   struct tcpc_dev {\n> -\tconst struct tcpc_config *config;\n> +\tstruct tcpc_config *config;\n>   \n>   \tint (*init)(struct tcpc_dev *dev);\n>   \tint (*get_vbus)(struct tcpc_dev *dev);\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"fy3zCEij\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hjB5n0Kz9tXH\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:33:02 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S966986AbdIZNdB (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:33:01 -0400","from mail-pf0-f196.google.com ([209.85.192.196]:35539 \"EHLO\n\tmail-pf0-f196.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S936037AbdIZNc7 (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:32:59 -0400","by mail-pf0-f196.google.com with SMTP id i23so5015505pfi.2;\n\tTue, 26 Sep 2017 06:32:59 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\to17sm14644195pfa.22.2017.09.26.06.32.57\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:32:58 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=RZUpk51sNce4vvYtsB57QOx5vZTDD9llbOTcDzp4l/o=;\n\tb=fy3zCEijAERIVOuJ7jeKh6Z6sGS9CuODGfoKKSzIizfN1Za4LgR4IJSrqFHT27bcyR\n\t5FZaotAI/hIDzFVBmLceFdtAsByjhdIxVKUwmthxtZecThcDuzqNbSe9b62yD+Qb9uor\n\t2jHAq9GbbnND+J7CnlseyZW4di8qxJ6ydCJ6TUsxx5M6NzfARi4Se1l1KV+PuHEQ42B7\n\tKpFuJzGg9VTU1RSdxzRaa+g9uuGPVMFonaVbzBtDpeQw5toGSYV5kAYdbSsTHU6jXhlP\n\te33nX3TuOozn1sjlwSSVXQzt4ILZNqToJ+CQFElGWXtdoyIX3RIaWr8DWY5f5wdncl57\n\tMINg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=RZUpk51sNce4vvYtsB57QOx5vZTDD9llbOTcDzp4l/o=;\n\tb=j3IRr1XrL/WN7MqWwR+87GocLF6BXNR/BBYWkYu+q8TV6gwWC+UREaAgTaITltMg0U\n\tNiW8cTXHMbe2FB2yj5TNNtKxjQ3X779+ZYOvGJugCcjmDi5WgsVO4fYxpIMRE5Z42JT7\n\tJ9+R41VtbsiFRZKnb/7rKkeP7j1KqAJYmCBQWbLGoyHV5pfUlN7n86WPSrg3dawTL6pH\n\tFh+oeRAPvvEbfnLIfeSwdld6QpAVvhUKsJBhxZ1GwTdYuYctf6WN5/NopB8ocBmbIn7i\n\t9oMRZ8fYqWfNKIXR/cmxAzDdOHjB8zniRgoJUEtaKIPmTWrPJLpaSdwNWiluNk5GxwHP\n\t7guA==","X-Gm-Message-State":"AHPjjUh1uQPHLepovui6DIJZURYfGuOOxfYnNnJCXOkXa3WImVhTMkLX\n\tLM12a1YTI2yLGSYMpmE2tHLj1g==","X-Google-Smtp-Source":"AOwi7QCJQvenQTYHncZZCBcaDBTFVeAbu7CnsLvLs6qSunNslULrvq2BZ6v+rJYsTg9Gwu1CeLgDhg==","X-Received":"by 10.84.233.68 with SMTP id k4mr10598135plt.416.1506432778916; \n\tTue, 26 Sep 2017 06:32:58 -0700 (PDT)","Subject":"Re: [PATCH 04/12] staging: typec: tcpci: support port config passed\n\tvia dt","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-5-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<bb854ecf-fad7-2c2a-1972-5c4cabb970f2@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:32:56 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-5-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775504,"web_url":"http://patchwork.ozlabs.org/comment/1775504/","msgid":"<da64a379-f9bc-5ad8-44a5-f61c4419e1e7@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:33:50","subject":"Re: [PATCH 05/12] staging: typec: tcpci: register port before\n\trequest irq","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> With that we can clear any pending events and the port is registered\n> so driver can be ready to handle typec events once we request irq.\n> \n> Signed-off-by: Peter Chen <peter.chen@nxp.com>\n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/staging/typec/tcpci.c | 11 +++++------\n>   1 file changed, 5 insertions(+), 6 deletions(-)\n> \n> diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c\n> index 0119453..6d608b4 100644\n> --- a/drivers/staging/typec/tcpci.c\n> +++ b/drivers/staging/typec/tcpci.c\n> @@ -552,15 +552,14 @@ static int tcpci_probe(struct i2c_client *client,\n>   \t/* Disable chip interrupts */\n>   \ttcpci_write16(tcpci, TCPC_ALERT_MASK, 0);\n>   \n> -\terr = devm_request_threaded_irq(tcpci->dev, client->irq, NULL,\n> +\ttcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);\n> +\tif (IS_ERR(tcpci->port))\n> +\t\treturn PTR_ERR(tcpci->port);\n> +\n> +\treturn devm_request_threaded_irq(tcpci->dev, client->irq, NULL,\n>   \t\t\t\t\ttcpci_irq,\n>   \t\t\t\t\tIRQF_ONESHOT | IRQF_TRIGGER_LOW,\n>   \t\t\t\t\tdev_name(tcpci->dev), tcpci);\n> -\tif (err < 0)\n> -\t\treturn err;\n> -\n> -\ttcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);\n> -\treturn PTR_ERR_OR_ZERO(tcpci->port);\n\nThis leaves the port registered if registering the irq fails.\n\n>   }\n>   \n>   static int tcpci_remove(struct i2c_client *client)\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Qm4u71+l\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hkC16cQz9tXH\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:33:55 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1030820AbdIZNdx (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:33:53 -0400","from mail-pg0-f67.google.com ([74.125.83.67]:34256 \"EHLO\n\tmail-pg0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1030804AbdIZNdw (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:33:52 -0400","by mail-pg0-f67.google.com with SMTP id u18so6795705pgo.1;\n\tTue, 26 Sep 2017 06:33:52 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\tp85sm16249307pfj.47.2017.09.26.06.33.50\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:33:51 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=LGZ8F4IamwXb7iRoB0eRQuHW35yDrIvl2t9k32JSC38=;\n\tb=Qm4u71+lQlJO3JCJ3oBbFqZTu4p2K4x3tog1AVBz86muW1Nzyk97mJAtQO13OGP4o8\n\tYArOMz6mB+G+D4QFLwKFiMSRpXzdaVmA7I+4WJ3IRSahOmSYpCr5KiYppaZTVUQ4B9a3\n\tioibWCPjbbdSX27nu7kgAk2riKp5cZy1LrQlRR/uPgR37ajaVhWnDuacN0nd5Nkmv/MV\n\tiUqNcdijXIZqtjkRbulbrfKwSybXMuZApmlE5Y7V3vJnJFSBV5nWWNOHY2JLHIWmtPAQ\n\t7s22vlhLal7fzM0OBf2Fp+y2SS8lNvHQ0aZ1aL4BpVr1cn9+84XSUeM3AUOwqLvD5SjL\n\tRTVA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=LGZ8F4IamwXb7iRoB0eRQuHW35yDrIvl2t9k32JSC38=;\n\tb=XirCYWSJ68zRV5J9ITWE1g4G4a29EF8WhoBOZgooVrWl+9D8sCsh0FKQPhHX1rYcE/\n\t9zWlAKajWN0BKIFhS4+hjvnGeQETFiMlUPgubA1Q0XLjzLVH3Br+OFGAJSy+QID5sdXV\n\toxNfA66l0k9AJCnmU7+bKEt8DSrj4ynyHOBX7wNAq2C+9Fu6JETqAV2mGEeh9POmP/a5\n\tlsSjt/p7uHOvFD8LkDtSu8LQaBPRzz11p+Bdec2rjP0QroM7Cq6OftjHbyqJ4nX6Q/3l\n\tXEMwAJ0vNbi6REb7UxpvAhq0xK26CHriJ5ll0qv+ebxgjJUNIh8ga6Ev6YlGjDSpy8Zj\n\tozig==","X-Gm-Message-State":"AHPjjUiERrsW7LXQgSJStItk7goWUTB5E/z7N47MdphDDKlClGLoFLo2\n\tagAu4ARJm+i6Gc6MWPBPUmi0kg==","X-Google-Smtp-Source":"AOwi7QDF2yJJnWlS6t9gXc2eJqf9MaMcV1MZjln8YglwUdCvbJbetvLNzNkUFVNHsZ+qhI5UvfPbsA==","X-Received":"by 10.98.106.136 with SMTP id f130mr3768946pfc.175.1506432832168;\n\tTue, 26 Sep 2017 06:33:52 -0700 (PDT)","Subject":"Re: [PATCH 05/12] staging: typec: tcpci: register port before\n\trequest irq","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-6-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<da64a379-f9bc-5ad8-44a5-f61c4419e1e7@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:33:50 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-6-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775507,"web_url":"http://patchwork.ozlabs.org/comment/1775507/","msgid":"<6cbb9cb2-206d-64e3-9e91-77edce855fdd@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:37:04","subject":"Re: [PATCH 06/12] staging: typec: tcpci: enable vbus detection","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> TCPCI implementation may need SW to enable VBUS detection to generate\n> power status events.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/staging/typec/tcpci.c | 23 +++++++++++++++++++++++\n>   1 file changed, 23 insertions(+)\n> \n> diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c\n> index 6d608b4..851d026 100644\n> --- a/drivers/staging/typec/tcpci.c\n> +++ b/drivers/staging/typec/tcpci.c\n> @@ -313,6 +313,26 @@ static int tcpci_pd_transmit(struct tcpc_dev *tcpc,\n>   \treturn 0;\n>   }\n>   \n> +static int tcpci_vbus_detect(struct tcpc_dev *tcpc, bool enable)\n> +{\n> +\tstruct tcpci *tcpci = tcpc_to_tcpci(tcpc);\n> +\tint ret;\n> +\n> +\tif (enable) {\n> +\t\tret = regmap_write(tcpci->regmap, TCPC_COMMAND,\n> +\t\t\t\t   TCPC_CMD_ENABLE_VBUS_DETECT);\n> +\t\tif (ret < 0)\n> +\t\t\treturn ret;\n> +\t} else {\n> +\t\tret = regmap_write(tcpci->regmap, TCPC_COMMAND,\n> +\t\t\t\t   TCPC_CMD_DISABLE_VBUS_DETECT);\n> +\t\tif (ret < 0)\n> +\t\t\treturn ret;\n> +\t}\n\nThis could be simplified to something like\n\n         u8 cmd = enabled ? TCPC_CMD_ENABLE_VBUS_DETECT : TCPC_CMD_DISABLE_VBUS_DETECT;\n\n\treturn regmap_write(tcpci->regmap, TCPC_COMMAND, cmd);\n\nthough the question is why not just add a function named tcpci_vbus_detect_enable()\nsince it is never disabled, at least not in this patch.\n\n> +\n> +\treturn 0;\n> +}\n> +\n>   static int tcpci_init(struct tcpc_dev *tcpc)\n>   {\n>   \tstruct tcpci *tcpci = tcpc_to_tcpci(tcpc);\n> @@ -344,6 +364,9 @@ static int tcpci_init(struct tcpc_dev *tcpc)\n>   \tif (ret < 0)\n>   \t\treturn ret;\n>   \n> +\t/* Enable Vbus detection */\n> +\ttcpci_vbus_detect(tcpc, true);\n> +\n>   \treg = TCPC_ALERT_TX_SUCCESS | TCPC_ALERT_TX_FAILED |\n>   \t\tTCPC_ALERT_TX_DISCARDED | TCPC_ALERT_RX_STATUS |\n>   \t\tTCPC_ALERT_RX_HARD_RST | TCPC_ALERT_CC_STATUS;\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"iodI/uCH\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hnx18h0z9tXK\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:37:09 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S936046AbdIZNhH (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:37:07 -0400","from mail-pg0-f65.google.com ([74.125.83.65]:36414 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S936037AbdIZNhG (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:37:06 -0400","by mail-pg0-f65.google.com with SMTP id d8so6788080pgt.3;\n\tTue, 26 Sep 2017 06:37:06 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\tx28sm16507480pgc.91.2017.09.26.06.37.04\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:37:05 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=3tj/DUMGh6nxu4owLCcKejgT8Da1Hd+4i6zZSZTZLBc=;\n\tb=iodI/uCHJIHXUpoP0/0W+wM78koGFB/+TyM/tQ2X6cYRx6M3TPQF1/JpvCcPVEtuLp\n\tItwaa9R8x34bhpUqCIQP9JlvLCbN6+XSHVBVU+zB9mlDpfE+g/luIBzo2kRrwT4iS45E\n\tmTByu9vs+XFlsJLdBhe/Zg1icDQiFeDQrIuo3KdhCDsv9peGdiz34vQ9yUy1VS7+6o3s\n\tz+VdIGelFqJyAr5MSib24ej8J4wvepVVSORCgpeam0wngB4e1gJNj6+h5Pn8iKkSiK7l\n\t9sWLByQ+RycU68rIKRd2jjT0QfsLgGD0SE5QYqAeGuCwI+l/MMYzKMdtjtg9bo11zkhN\n\tumoQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=3tj/DUMGh6nxu4owLCcKejgT8Da1Hd+4i6zZSZTZLBc=;\n\tb=heRDEnFI4uwHzmyssVGuDBBTidVhpxqPl2GuyKoss649opIeIlYNjg53Yy9kQzq7Ey\n\tLhhEAy3RjoMqkQmyByGbCaw3+x6uGTGfovx5P1cJTCjacFYhUKXc5wTLzfjKHKa/tPeN\n\t8eic8rQ/emyYqZgL+u8JhCptvTvFeOpaV9FNylRDLiRXQ/6CoUtIzk8hdW0xOOhN92PT\n\tzV3OhMBgm+M+YADq/weHOZ+mzbWcg+1OwOllVtOrdx1EtGmt+rt7Gb1Y4mbjPNy/7oSb\n\tm5xhnxa4/j0VWNitmlaoEPLEVmVsrDvY5H3x4NE1EIV99IF9hTs6T+eQOwW7tdcVhuM6\n\tIpkA==","X-Gm-Message-State":"AHPjjUgy/EQhKcg1GSZE73FI3X7d/5khO01lJSGP9AMM/yuM0uX+pGKz\n\tg6517xw39N6T3RYrpHWrhBDeyg==","X-Google-Smtp-Source":"AOwi7QANyTCnebBjmlgxMrnWjc+OjiGcgfOCWnsEt9k+qQfN1NplJpGt5aRQeOjj6lHne7pa3aJ2zg==","X-Received":"by 10.99.133.66 with SMTP id u63mr11305516pgd.426.1506433026143; \n\tTue, 26 Sep 2017 06:37:06 -0700 (PDT)","Subject":"Re: [PATCH 06/12] staging: typec: tcpci: enable vbus detection","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-7-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<6cbb9cb2-206d-64e3-9e91-77edce855fdd@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:37:04 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-7-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775518,"web_url":"http://patchwork.ozlabs.org/comment/1775518/","msgid":"<ceae0f45-5d14-8e7f-3258-aa2e28fcf9bc@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:42:48","subject":"Re: [PATCH 07/12] typec: tcpm: add starting value for drp toggling","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> As DRP port autonomously toggles the Rp/Rd need a start value to\n> begin with, so add one parameter for it in tcpm_start_drp_toggling.\n> \n\nIt does have a starting value. The patch changes the starting value to TYPEC_CC_RD\n(from currently one of the RP states) when entering the SNK_UNATTACHED state.\nPlease provide a matching description.\n\n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/usb/typec/tcpm.c | 10 +++++-----\n>   1 file changed, 5 insertions(+), 5 deletions(-)\n> \n> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c\n> index 8483d3e..38a6223 100644\n> --- a/drivers/usb/typec/tcpm.c\n> +++ b/drivers/usb/typec/tcpm.c\n> @@ -1839,15 +1839,15 @@ static int tcpm_set_charge(struct tcpm_port *port, bool charge)\n>   \treturn 0;\n>   }\n>   \n> -static bool tcpm_start_drp_toggling(struct tcpm_port *port)\n> +static bool tcpm_start_drp_toggling(struct tcpm_port *port,\n> +\t\t\t\t    enum typec_cc_status cc)\n>   {\n>   \tint ret;\n>   \n>   \tif (port->tcpc->start_drp_toggling &&\n>   \t    port->port_type == TYPEC_PORT_DRP) {\n>   \t\ttcpm_log_force(port, \"Start DRP toggling\");\n> -\t\tret = port->tcpc->start_drp_toggling(port->tcpc,\n> -\t\t\t\t\t\t     tcpm_rp_cc(port));\n> +\t\tret = port->tcpc->start_drp_toggling(port->tcpc, cc);\n>   \t\tif (!ret)\n>   \t\t\treturn true;\n>   \t}\n> @@ -2156,7 +2156,7 @@ static void run_state_machine(struct tcpm_port *port)\n>   \t\tif (!port->non_pd_role_swap)\n>   \t\t\ttcpm_swap_complete(port, -ENOTCONN);\n>   \t\ttcpm_src_detach(port);\n> -\t\tif (tcpm_start_drp_toggling(port)) {\n> +\t\tif (tcpm_start_drp_toggling(port, tcpm_rp_cc(port))) {\n>   \t\t\ttcpm_set_state(port, DRP_TOGGLING, 0);\n>   \t\t\tbreak;\n>   \t\t}\n> @@ -2328,7 +2328,7 @@ static void run_state_machine(struct tcpm_port *port)\n>   \t\tif (!port->non_pd_role_swap)\n>   \t\t\ttcpm_swap_complete(port, -ENOTCONN);\n>   \t\ttcpm_snk_detach(port);\n> -\t\tif (tcpm_start_drp_toggling(port)) {\n> +\t\tif (tcpm_start_drp_toggling(port, TYPEC_CC_RD)) {\n>   \t\t\ttcpm_set_state(port, DRP_TOGGLING, 0);\n>   \t\t\tbreak;\n>   \t\t}\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"sEUJjJZ0\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1hwY5crDz9s7M\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:42:53 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S967865AbdIZNmw (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:42:52 -0400","from mail-pg0-f67.google.com ([74.125.83.67]:38681 \"EHLO\n\tmail-pg0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S967470AbdIZNmv (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:42:51 -0400","by mail-pg0-f67.google.com with SMTP id m30so6800177pgn.5;\n\tTue, 26 Sep 2017 06:42:51 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\tt125sm4089556pgc.88.2017.09.26.06.42.49\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:42:50 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=EbFYWfeajsqqp7X1inAFiMcfYty4wWGw0AtW8KvxVD4=;\n\tb=sEUJjJZ0VtKgQz18Y6oNvlKnF6ud5nzNFJiX2nIqi9Mi+TSSC8pe6sukvwPDovalse\n\twHhjj4FIcHkgkoWl8757JkGUv2lMK5XIwOq4N+ZGsv1cKTGaNOmkJqfsfLHvze92KNUs\n\t/WQUFWb5XEFFQ92K0fFRea+32a7eVlWzi9il5k+4M9xOnXTrYVJQN67ux1ZxHcbkWTVb\n\t1RmbNaKJsk/HrY3z7pCAbp1rja/uRm22I9bn2JWA6H9/ik7a4NpOrESQlbZ0v7E1wfrP\n\t7aWJ+pTy174IEzPJ94Rz/tBZNzC1pjS2zz8et5pXA/fnLf1DzCzG3+s2hzBLXct1chfc\n\tCENQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=EbFYWfeajsqqp7X1inAFiMcfYty4wWGw0AtW8KvxVD4=;\n\tb=BtKTgOvcy6m5Ljm5EDSVdIwyz3EFuZu39O3agX0zfmrCt8dCj8YuiAlhIvO3UQcWt4\n\t2JbPG7mBt3w5dJDKGh5IenZhWhsW1n8Dk41oiG1+rXJDZEIKId6Jwk1ljxwvAwSTmIkk\n\tLNPcYCC45N0NTgZFL44W0srbfUtFCK2QGOrdu2Jp3CvMR1erO6/EP/+GJ6Ty3kbp9up6\n\tDTpW0fC5+nxIEitoF9v/ByI6RRZVS67j3g7veXA7ecQmOzF4w9Wmwr0cLcr/Ygzz1qpy\n\tkGO5zBIYbkhPL6s1OIMi1cV5p6v+5jEiq+2HQjFOq7gAVTG/JboCbY50QOHsxaJ4kQwR\n\tJaNQ==","X-Gm-Message-State":"AHPjjUi/NM9MAB8jFKvgYzyH8MZTd9z4g36bBILGtviz/lkcoMT8WBmq\n\tRdDSXcMdheNed/d9wgnKCdTrDQ==","X-Google-Smtp-Source":"AOwi7QDklwLp1jyhfvl5wd2x4GgOGT/k9tAMG5fFa22PGn9NXLY80ju90qeBuWMNWcdPgRIGz50/1Q==","X-Received":"by 10.99.122.2 with SMTP id v2mr11311484pgc.413.1506433370700;\n\tTue, 26 Sep 2017 06:42:50 -0700 (PDT)","Subject":"Re: [PATCH 07/12] typec: tcpm: add starting value for drp toggling","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-8-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<ceae0f45-5d14-8e7f-3258-aa2e28fcf9bc@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:42:48 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-8-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775532,"web_url":"http://patchwork.ozlabs.org/comment/1775532/","msgid":"<8ef676a1-4c2b-cea7-ad79-c50fb8d091fb@roeck-us.net>","list_archive_url":null,"date":"2017-09-26T13:49:30","subject":"Re: [PATCH 10/12] staging: typec: tcpci: update set_cc for different\n\tstate","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"On 09/25/2017 05:45 PM, Li Jun wrote:\n> As we should keep the disconnected cc line to be open when attached,\n> so update the set_cc interface accordingly for it.\n> \n> Signed-off-by: Li Jun <jun.li@nxp.com>\n> ---\n>   drivers/staging/typec/tcpci.c | 37 +++++++++++++++++++++----------------\n>   1 file changed, 21 insertions(+), 16 deletions(-)\n> \n> diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c\n> index cea67f9..c7c45da 100644\n> --- a/drivers/staging/typec/tcpci.c\n> +++ b/drivers/staging/typec/tcpci.c\n> @@ -57,10 +57,11 @@ static int tcpci_write16(struct tcpci *tcpci, unsigned int reg, u16 val)\n>   \treturn regmap_raw_write(tcpci->regmap, reg, &val, sizeof(u16));\n>   }\n>   \n> -static int tcpci_set_cc(struct tcpc_dev *tcpc, enum typec_cc_status cc)\n> +static int tcpci_set_cc(struct tcpc_dev *tcpc, enum typec_cc_status cc,\n> +\t\t\tbool attached, enum typec_cc_polarity polarity)\n>   {\n>   \tstruct tcpci *tcpci = tcpc_to_tcpci(tcpc);\n> -\tunsigned int reg;\n> +\tunsigned int reg = 0, reg_cc1 = 0, reg_cc2 = 0;\n>   \tint ret;\n>   \n>   \tswitch (cc) {\n> @@ -69,26 +70,23 @@ static int tcpci_set_cc(struct tcpc_dev *tcpc, enum typec_cc_status cc)\n>   \t\t\t(TCPC_ROLE_CTRL_CC_RA << TCPC_ROLE_CTRL_CC2_SHIFT);\n>   \t\tbreak;\n>   \tcase TYPEC_CC_RD:\n> -\t\treg = (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC1_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC2_SHIFT);\n> +\t\treg_cc1 = TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC1_SHIFT;\n> +\t\treg_cc2 = TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_CC2_SHIFT;\n>   \t\tbreak;\n>   \tcase TYPEC_CC_RP_DEF:\n> -\t\treg = (TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_RP_VAL_DEF <<\n> -\t\t\t TCPC_ROLE_CTRL_RP_VAL_SHIFT);\n> +\t\treg_cc1 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT;\n> +\t\treg_cc2 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT;\n> +\t\treg = TCPC_ROLE_CTRL_RP_VAL_DEF << TCPC_ROLE_CTRL_RP_VAL_SHIFT;\n>   \t\tbreak;\n>   \tcase TYPEC_CC_RP_1_5:\n> -\t\treg = (TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_RP_VAL_1_5 <<\n> -\t\t\t TCPC_ROLE_CTRL_RP_VAL_SHIFT);\n> +\t\treg_cc1 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT;\n> +\t\treg_cc2 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT;\n> +\t\treg = TCPC_ROLE_CTRL_RP_VAL_1_5 << TCPC_ROLE_CTRL_RP_VAL_SHIFT;\n>   \t\tbreak;\n>   \tcase TYPEC_CC_RP_3_0:\n> -\t\treg = (TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT) |\n> -\t\t\t(TCPC_ROLE_CTRL_RP_VAL_3_0 <<\n> -\t\t\t TCPC_ROLE_CTRL_RP_VAL_SHIFT);\n> +\t\treg_cc1 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC1_SHIFT;\n> +\t\treg_cc2 = TCPC_ROLE_CTRL_CC_RP << TCPC_ROLE_CTRL_CC2_SHIFT;\n> +\t\treg = TCPC_ROLE_CTRL_RP_VAL_3_0 << TCPC_ROLE_CTRL_RP_VAL_SHIFT;\n>   \t\tbreak;\n>   \tcase TYPEC_CC_OPEN:\n>   \tdefault:\n> @@ -97,6 +95,13 @@ static int tcpci_set_cc(struct tcpc_dev *tcpc, enum typec_cc_status cc)\n>   \t\tbreak;\n>   \t}\n>   \n> +\tif (!attached)\n> +\t\treg |= reg_cc1 | reg_cc2;\n> +\telse if (polarity == TYPEC_POLARITY_CC1)\n> +\t\treg |= reg_cc1;\n> +\telse\n> +\t\treg |= reg_cc2;\n> +\n\nI think this is wrong. The value of CC pins should not depend on the state of\nthe state machine. What if the state machine knows the polarity but is in a\ntransient state ?.\n\nI am also not sure if the chip should ever set both CC lines at the same time.\n\nGuenter\n\n>   \tret = regmap_write(tcpci->regmap, TCPC_ROLE_CTRL, reg);\n>   \tif (ret < 0)\n>   \t\treturn ret;\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"k7gPFLsR\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1j4G3f6wz9sBW\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:49:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S968156AbdIZNtd (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:49:33 -0400","from mail-pg0-f65.google.com ([74.125.83.65]:38507 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S968141AbdIZNtc (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 26 Sep 2017 09:49:32 -0400","by mail-pg0-f65.google.com with SMTP id m30so6809398pgn.5;\n\tTue, 26 Sep 2017 06:49:32 -0700 (PDT)","from server.roeck-us.net\n\t(108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66])\n\tby smtp.gmail.com with ESMTPSA id\n\ti12sm16095522pgr.21.2017.09.26.06.49.30\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 26 Sep 2017 06:49:31 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-language:content-transfer-encoding; \n\tbh=PO8m8QbqguI3JAN2F3U4Npi8dddek0hq2F0qCJ1J8Zo=;\n\tb=k7gPFLsRtOKYLjhZZZ8EnxvpPLojidh4kz6I05eOoknbx3740Wjp/qxY0qBGve/t0J\n\tPmFGRWRP9hJNLOrKfFbZE6jkMzlSATcDwoi2xZG1zXwjCjgs08J2d5sOg9NvjAfKaKl5\n\tSDFqCPWBzu+zctxeRRYg2XAZt4ZdN/Jew0Rrug6XhHyaWWAUufylk84MNArKu9kzKLF1\n\taBUW6GB6K4JjEszrdLGLx2RjLGo7P1ii6N3gwrQ2u3le+6gte5uIaLV+M+e7zGkw1/86\n\tXmkexN1sdXYBqovvLY2IbmiB6aj0Py2PkbDcrI1oAdEIzOXL0tP64R4MQg09YBJ4hQNf\n\tIohw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:subject:to:cc:references:from:message-id\n\t:date:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=PO8m8QbqguI3JAN2F3U4Npi8dddek0hq2F0qCJ1J8Zo=;\n\tb=C78tAjvouX9bf2eixLT3wXyaxnxb8c7gq3S1l/69QEOR3vDWTqLfQXvEBWrcjj0S51\n\tEF05shalpcco1/vnX/wEFQ/N6lxFhV+m+ePPSZqZRFVJAhuwoxIiscNW7ZiL3TR/4xGY\n\tEyNEBB9nQJzq7aNpSMUJmQnxNkbKqJYRpypSTHZFPTbvOVPEo1XozB/dAYfQtO9jD3X9\n\tTAoQuM9uA4Fv7WeqwGWREsMlSHWRI6pp0GtMOF7tGZqd0KdcZUHDAh2+eAPgPkt5jSiA\n\taNg2WCRVZTpLa5PZeqJHhiq9MVybK2WDFX7VtDJ+pE6QLWVcmuzxerhB0Zq8UwXmh2jX\n\tYbVA==","X-Gm-Message-State":"AHPjjUipF5iU5j9z5DapujUX4A4pzQtaswnfped4/xo0hn8mkF7OCkLe\n\trzcrv3JIKk/mzkdjYQxR0Lr2+Q==","X-Google-Smtp-Source":"AOwi7QBxcKYw0qjztXd63xhxfGAx+60dntPCct8tBPO9Rs9y3GZHwGDTudfqZDAosM01H7l7VkVwNg==","X-Received":"by 10.98.189.26 with SMTP id a26mr11164232pff.260.1506433771753; \n\tTue, 26 Sep 2017 06:49:31 -0700 (PDT)","Subject":"Re: [PATCH 10/12] staging: typec: tcpci: update set_cc for different\n\tstate","To":"Li Jun <jun.li@nxp.com>, gregkh@linuxfoundation.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com","Cc":"yueyao@google.com, o_leveque@orange.fr, peter.chen@nxp.com,\n\taisheng.dong@nxp.com, linux-usb@vger.kernel.org,\n\tdevicetree@vger.kernel.org","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-11-git-send-email-jun.li@nxp.com>","From":"Guenter Roeck <linux@roeck-us.net>","Message-ID":"<8ef676a1-4c2b-cea7-ad79-c50fb8d091fb@roeck-us.net>","Date":"Tue, 26 Sep 2017 06:49:30 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1506386727-16370-11-git-send-email-jun.li@nxp.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775545,"web_url":"http://patchwork.ozlabs.org/comment/1775545/","msgid":"<DB4PR04MB0768440D4600CDC55534F02F897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T13:57:30","subject":"RE: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"> -----Original Message-----\r\n> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter Roeck\r\n> Sent: Tuesday, September 26, 2017 9:20 PM\r\n> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org; robh+dt@kernel.org;\r\n> mark.rutland@arm.com; heikki.krogerus@linux.intel.com\r\n> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\r\n> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\r\n> usb@vger.kernel.org; devicetree@vger.kernel.org\r\n> Subject: Re: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc line\r\n> when attached\r\n> \r\n> On 09/26/2017 02:53 AM, Jun Li wrote:\r\n> > Hi,\r\n> >\r\n> >> -----Original Message-----\r\n> >> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter\r\n> >> Roeck\r\n> >> Sent: Tuesday, September 26, 2017 3:17 PM\r\n> >> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org;\r\n> >> robh+dt@kernel.org; mark.rutland@arm.com;\r\n> >> heikki.krogerus@linux.intel.com\r\n> >> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\r\n> >> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\r\n> >> usb@vger.kernel.org; devicetree@vger.kernel.org\r\n> >> Subject: Re: [PATCH 09/12] usb: typec: tcpm: only drives the\r\n> >> connected cc line when attached\r\n> >>\r\n> >> On 09/25/2017 05:45 PM, Li Jun wrote:\r\n> >>> As we should only drive connected cc line to be the right state when\r\n> >>> attached, and keeps the other one to be open, so update the set_cc\r\n> >>> interface for that.\r\n> >>>\r\n> >>> Signed-off-by: Li Jun <jun.li@nxp.com>\r\n> >>> ---\r\n> >>>    drivers/usb/typec/tcpm.c | 12 +++++++++++-\r\n> >>>    include/linux/usb/tcpm.h |  3 ++-\r\n> >>>    2 files changed, 13 insertions(+), 2 deletions(-)\r\n> >>>\r\n> >>> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c\r\n> >>> index 38a6223..c9966ee 100644\r\n> >>> --- a/drivers/usb/typec/tcpm.c\r\n> >>> +++ b/drivers/usb/typec/tcpm.c\r\n> >>> @@ -1857,9 +1857,15 @@ static bool tcpm_start_drp_toggling(struct\r\n> >>> tcpm_port *port,\r\n> >>>\r\n> >>>    static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc)\r\n> >>>    {\r\n> >>> +\tbool attached;\r\n> >>> +\r\n> >>>    \ttcpm_log(port, \"cc:=%d\", cc);\r\n> >>>    \tport->cc_req = cc;\r\n> >>> -\tport->tcpc->set_cc(port->tcpc, cc);\r\n> >>> +\tif (port->state == SRC_ATTACHED || port->state == SNK_ATTACHED)\r\n> >>> +\t\tattached = true;\r\n> >>> +\telse\r\n> >>> +\t\tattached = false;\r\n> >>> +\tport->tcpc->set_cc(port->tcpc, cc, attached, port->polarity);\r\n> >>\r\n> >> Polarity should be set with set_polarity(). Is it necessary to duplicate that ?\r\n> >\r\n> > In tcpci case, set_polarity only sets Plug Orientation bit:\r\n> > \" 0b: When Vconn is enabled, apply it to the CC2 pin. Monitor the CC1\r\n> > pin for BMC communications if PD messaging is enabled.\r\n> > 1b: When Vconn is enabled, apply it to the CC1 pin. Monitor the CC2\r\n> > pin for BMC communications if PD messaging is enabled.\"\r\n> >\r\n> Yes, but the driver should know about the flag already.\r\n> \r\n> I have two more concerns:\r\n> \r\n> Setting CC is logically independent from the state machine \"active\" state.\r\n> I don't recall that the USB PD state machine talks about CC pin changes upon\r\n> entering and exiting READY states. Why is it necessary to pass the state to the\r\n> driver ?\r\n\r\nHere the CC pin changes only for un-touched one between look for connection\r\nand attached, so when attach(before entering READY), the un-touch cc pin\r\nshould be changed from Pd/Rp to open(e.g. see typec spec Table 4-6 Source\r\nPerspective). as my question below, I can adding it into tcpci_set_polarity()\r\nfor tcpci case if it's reasonable, with that tcpm API don't need change.\r\n  \r\n> \r\n> Also, your patch changes the API, but you don't change the driver, meaning\r\n> there should be compile failures after this patch. You need to change the calling\r\n> code in the same patch to keep the build clean.\r\n\r\nSorry, I didn’t realize there is already a user of tcpm, I will update the calling\r\ndriver accordingly for hanged tcpm API in next version.\r\n\r\nLi Jun\r\n\r\n> \r\n> Guenter\r\n> \r\n> > There is no duplication for tcpci, or you think I should do this in\r\n> > set_polarity of tcpci driver internally? looks better from my point\r\n> > view as I may don't need change tcpm set_cc interface.\r\n> >\r\n> > thanks\r\n> > Li Jun\r\n> >>\r\n> >>>    }\r\n> >>>\r\n> >>>    static int tcpm_init_vbus(struct tcpm_port *port) @@ -1913,6\r\n> >>> +1919,8 @@ static int tcpm_src_attach(struct tcpm_port *port)\r\n> >>>    \tif (ret < 0)\r\n> >>>    \t\treturn ret;\r\n> >>>\r\n> >>> +\ttcpm_set_cc(port, tcpm_rp_cc(port));\r\n> >>> +\r\n> >>>    \tret = tcpm_set_roles(port, true, TYPEC_SOURCE, TYPEC_HOST);\r\n> >>>    \tif (ret < 0)\r\n> >>>    \t\treturn ret;\r\n> >>> @@ -2028,6 +2036,8 @@ static int tcpm_snk_attach(struct tcpm_port\r\n> *port)\r\n> >>>    \tif (ret < 0)\r\n> >>>    \t\treturn ret;\r\n> >>>\r\n> >>> +\ttcpm_set_cc(port, TYPEC_CC_RD);\r\n> >>> +\r\n> >>>    \tret = tcpm_set_roles(port, true, TYPEC_SINK, TYPEC_DEVICE);\r\n> >>>    \tif (ret < 0)\r\n> >>>    \t\treturn ret;\r\n> >>> diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h\r\n> >>> index\r\n> >>> a67cf77..a007e2a1 100644\r\n> >>> --- a/include/linux/usb/tcpm.h\r\n> >>> +++ b/include/linux/usb/tcpm.h\r\n> >>> @@ -159,7 +159,8 @@ struct tcpc_dev {\r\n> >>>    \tint (*init)(struct tcpc_dev *dev);\r\n> >>>    \tint (*get_vbus)(struct tcpc_dev *dev);\r\n> >>>    \tint (*get_current_limit)(struct tcpc_dev *dev);\r\n> >>> -\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc);\r\n> >>> +\tint (*set_cc)(struct tcpc_dev *dev, enum typec_cc_status cc,\r\n> >>> +\t\t\tbool attached, enum typec_cc_polarity polarity);\r\n> >>>    \tint (*get_cc)(struct tcpc_dev *dev, enum typec_cc_status *cc1,\r\n> >>>    \t\t      enum typec_cc_status *cc2);\r\n> >>>    \tint (*set_polarity)(struct tcpc_dev *dev,\r\n> >>>\r\n> >","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"poDvdL0z\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jFY1nn3z9sPr\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 23:57:37 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S969316AbdIZN5f (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 09:57:35 -0400","from mail-eopbgr50057.outbound.protection.outlook.com\n\t([40.107.5.57]:8629\n\t\"EHLO EUR03-VE1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S968134AbdIZN5e (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 09:57:34 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB314.eurprd04.prod.outlook.com (10.141.239.147) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 13:57:31 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 13:57:30 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=SLG0hnMSelhxRMPiiXMjoXt957S09D5Qtd+uixusKOE=;\n\tb=poDvdL0z2R0hXqLEBHfxFXO3+K6as/K2MtTzfXm8Jpiz7In6QEHBlB1TWDcfJyxsVsGeTKZeeXjDCw08grDxktXowZ7RRHR5vCP+RXpA16fuHgkIoogml6iQR/B/EY1OqQolcwxwuRCnsh4rcWTHF/CSXnYfOp0GTCTVSdZ1uuI=","From":"Jun Li <jun.li@nxp.com>","To":"Guenter Roeck <linux@roeck-us.net>,\n\t\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>","CC":"\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","Thread-Topic":"[PATCH 09/12] usb: typec: tcpm: only drives the connected cc\n\tline when attached","Thread-Index":"AQHTNoK8q6lb3aTAvUekKNLPwt/FTKLGwcKAgAAIM5CAAF1mgIAABQ6A","Date":"Tue, 26 Sep 2017 13:57:30 +0000","Message-ID":"<DB4PR04MB0768440D4600CDC55534F02F897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-10-git-send-email-jun.li@nxp.com>\n\t<9c461105-fa96-3989-5a95-b9f82b154ea2@roeck-us.net>\n\t<DB4PR04MB07689A95430FA6F4AA219539897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>\n\t<e79d8143-1187-f3c4-6030-ecf28e3d2fff@roeck-us.net>","In-Reply-To":"<e79d8143-1187-f3c4-6030-ecf28e3d2fff@roeck-us.net>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"poDvdL0z\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[49.64.59.85]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB314;\n\t6:k0B8Z7XVJH/jXhYtbD+C1lvmAhBFUjWR1JKlwOb/z0M//MDTJbDAIr16CSITXLenWWjRLDQFRfxvKUvN5TZ7HBtQthexVWK7DhUjOM/+wzec+mR9aJBsjCq3LmovVfwcOPZznDDSnt321Ed8nSmmO96yH3YOoq1KiGHZ3hVpYG6SIz5KJy9ByYXl11BJYSrJDUo8fMWT5HYTDRIvIABTlaQUQr65R6r/88NLM/x2tWmX06ymKZPEN54+Ie9ciZf6vAdmHRiCpbCfUkBepBAF+RMbmhLzpeLic6qOf/9CPXQOsTaSapTZ6z7sdlMzat8KSI51ZppQCidohl0d7mtx4Q==;\n\t5:/8zC5FW/jtyM724jbxe18zXmtXVp945n+TmIIoIR57UOvGaxMsKYXGVy4uPwBIp4meM+8Lb38oWtLfX1QJaygebQiKnLotQ1jABjiV37fREXi2SMuk5woJ4yIwBWg3gdobmmROekLMlCHcIf//9yXA==;\n\t24:H5xidlSv+fb5QwVonoBdU6dItNad+/IUOod2rggXvAGMtEIJUi+5vVn/uCrPkaJwYi5C9SPBj0y93hiUQVfrYDgNydztDB8lRrH8CEQtU6s=;\n\t7:4/37Ewhuq0spGy64hDIAqxQBapiPuyufrSJ85r0XZhNZu2KDSRKHaeZF2CzZCNXmIsur/Waxjts7pxLo02lN493AAPS2qjB3EkStxzmmlUo8YG+5q67gAGxfdFO747DjE7QxSdsbwcXYBY8/CKDy5KpVRzqHKdC127yH6WYY7yJ/SWM7ItqZLnXtDb7KyicD9VE75kMjBjYC9rhdJqI9Wt2Xp+wOZpNs19MOBpStXQw=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(13464003)(24454002)(377454003)(189002)(199003)(53546010)(34040400001)(2950100002)(106356001)(99286003)(105586002)(74316002)(9686003)(14454004)(6116002)(102836003)(316002)(8676002)(81166006)(5660300001)(25786009)(54906003)(2900100001)(7736002)(305945005)(81156014)(2906002)(93886005)(68736007)(110136005)(8936002)(5890100001)(3660700001)(2501003)(6506006)(66066001)(3846002)(5250100002)(97736004)(7696004)(55016002)(3280700002)(189998001)(229853002)(54356999)(478600001)(86362001)(33656002)(6436002)(101416001)(53936002)(4326008)(50986999)(6246003)(76176999);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB314;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"49fdf64d-e83e-410b-14b3-08d504e68773","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB314; ","x-ms-traffictypediagnostic":"DB4PR04MB314:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB31449702DEFDB6F37AB8C20897B0@DB4PR04MB314.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(920507026)(6055026)(6041248)(20161123558100)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB314; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB314; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 13:57:30.2998\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB314","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775562,"web_url":"http://patchwork.ozlabs.org/comment/1775562/","msgid":"<DB4PR04MB076843D81ED83EC7DB158537897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T14:14:50","subject":"RE: [PATCH 04/12] staging: typec: tcpci: support port config passed\n\tvia dt","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"Hi\r\n\r\n> -----Original Message-----\r\n> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter Roeck\r\n> Sent: Tuesday, September 26, 2017 9:33 PM\r\n> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org; robh+dt@kernel.org;\r\n> mark.rutland@arm.com; heikki.krogerus@linux.intel.com\r\n> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\r\n> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\r\n> usb@vger.kernel.org; devicetree@vger.kernel.org\r\n> Subject: Re: [PATCH 04/12] staging: typec: tcpci: support port config passed via\r\n> dt\r\n> \r\n> On 09/25/2017 05:45 PM, Li Jun wrote:\r\n> > User can define the typec port properties in tcpci node to setup the\r\n> > port config.\r\n> >\r\n> > Signed-off-by: Li Jun <jun.li@nxp.com>\r\n> > ---\r\n> >   drivers/staging/typec/tcpci.c | 89\r\n> +++++++++++++++++++++++++++++++++++++++----\r\n> >   include/linux/usb/tcpm.h      |  6 +--\r\n> >   2 files changed, 85 insertions(+), 10 deletions(-)\r\n> >\r\n> > diff --git a/drivers/staging/typec/tcpci.c\r\n> > b/drivers/staging/typec/tcpci.c index 4636804..0119453 100644\r\n> > --- a/drivers/staging/typec/tcpci.c\r\n> > +++ b/drivers/staging/typec/tcpci.c\r\n> > @@ -425,17 +425,92 @@ static const struct regmap_config\r\n> tcpci_regmap_config = {\r\n> >   \t.max_register = 0x7F, /* 0x80 .. 0xFF are vendor defined */\r\n> >   };\r\n> >\r\n> > -static const struct tcpc_config tcpci_tcpc_config = {\r\n> > -\t.type = TYPEC_PORT_DFP,\r\n> > -\t.default_role = TYPEC_SINK,\r\n> > -};\r\n> > -\r\n> > +/* Populate struct tcpc_config from device-tree */\r\n> >   static int tcpci_parse_config(struct tcpci *tcpci)\r\n> >   {\r\n> > +\tstruct tcpc_config *tcfg;\r\n> > +\tint ret = -EINVAL;\r\n> > +\r\n> >   \ttcpci->controls_vbus = true; /* XXX */\r\n> >\r\n> > -\t/* TODO: Populate struct tcpc_config from ACPI/device-tree */\r\n> > -\ttcpci->tcpc.config = &tcpci_tcpc_config;\r\n> > +\ttcpci->tcpc.config = devm_kzalloc(tcpci->dev, sizeof(*tcfg),\r\n> > +\t\t\t\t\t  GFP_KERNEL);\r\n> > +\tif (!tcpci->tcpc.config)\r\n> > +\t\treturn -ENOMEM;\r\n> > +\r\n> > +\ttcfg = tcpci->tcpc.config;\r\n> > +\r\n> > +\t/* Get port-type */\r\n> > +\tret = typec_get_port_type(tcpci->dev);\r\n> > +\tif (ret < 0) {\r\n> > +\t\tdev_err(tcpci->dev, \"typec port type is NOT correct!\\n\");\r\n> \r\n> Are all those exclamation marks necessary ?\r\n\r\nI will remove it.\r\n\r\n> \r\n> > +\t\treturn ret;\r\n> > +\t}\r\n> > +\ttcfg->type = ret;\r\n> > +\r\n> > +\tif (tcfg->type == TYPEC_PORT_UFP)\r\n> > +\t\tgoto sink;\r\n> > +\r\n> > +\t/* Get source PDO */\r\n> > +\ttcfg->nr_src_pdo = device_property_read_u32_array(tcpci->dev,\r\n> > +\t\t\t\t\t\t\"src-pdos\", NULL, 0);\r\n> \r\n> I personally prefer continuation line alignment to '(', but that is up to Greg to\r\n> decide.\r\n> \r\n> > +\tif (tcfg->nr_src_pdo <= 0) {\r\n> > +\t\tdev_err(tcpci->dev, \"typec source pdo is missing!\\n\");\r\n> > +\t\treturn -EINVAL;\r\n> > +\t}\r\n> > +\r\n> > +\ttcfg->src_pdo = devm_kzalloc(tcpci->dev,\r\n> > +\t\tsizeof(*tcfg->src_pdo) * tcfg->nr_src_pdo, GFP_KERNEL);\r\n> \r\n> devm_kcalloc\r\n\r\nWill change.\r\n\r\n> \r\n> > +\tif (!tcfg->src_pdo)\r\n> > +\t\treturn -ENOMEM;\r\n> > +\r\n> > +\tret = device_property_read_u32_array(tcpci->dev, \"src-pdos\",\r\n> > +\t\t\t\ttcfg->src_pdo, tcfg->nr_src_pdo);\r\n> > +\tif (ret) {\r\n> > +\t\tdev_err(tcpci->dev, \"Failed to read src pdo!\\n\");\r\n> > +\t\treturn -EINVAL;\r\n> > +\t}\r\n> > +\r\n> > +\tif (tcfg->type == TYPEC_PORT_DFP)\r\n> > +\t\treturn 0;\r\n> > +\r\n> > +\t/* Get the preferred power role for drp */\r\n> > +\tret = typec_get_power_role(tcpci->dev);\r\n> \r\n> Maybe this should be named typec_get_preferred_role(). The generic function\r\n> names are a bit misleading; they suggest they would return the current role, and\r\n> don't indicate that the data is from device properties.\r\n\r\nThanks,  typec_get_preferred_role() looks more precise, I will change.\r\n\r\n> I am also not sure about the mix of using typec infra functions and direct\r\n> device_property calls.\r\n\r\nOK, I will try to also use typec infra functions for those device_property\r\ncalls(some may be grouped).\t\r\n\r\n> \r\n> > +\tif (ret < 0) {\r\n> > +\t\tdev_err(tcpci->dev, \"typec preferred role is wrong!\\n\");\r\n> \r\n> Wrong or missing ?\r\n\r\nBoth wrong and missing will return negative error code, I will refine it.\r\n\r\n> \r\n> > +\t\treturn ret;\r\n> > +\t}\r\n> > +\ttcfg->default_role = ret;\r\n> > +sink:\r\n> > +\t/* Get sink power capability */\r\n> > +\ttcfg->nr_snk_pdo = device_property_read_u32_array(tcpci->dev,\r\n> > +\t\t\t\t\t\t\"snk-pdos\", NULL, 0);\r\n> > +\tif (tcfg->nr_snk_pdo <= 0) {\r\n> > +\t\tdev_err(tcpci->dev, \"typec sink pdo is missing!\\n\");\r\n> > +\t\treturn -EINVAL;\r\n> > +\t}\r\n> > +\r\n> > +\ttcfg->snk_pdo = devm_kzalloc(tcpci->dev,\r\n> > +\t\tsizeof(*tcfg->snk_pdo) * tcfg->nr_snk_pdo, GFP_KERNEL);\r\n> > +\tif (!tcfg->snk_pdo)\r\n> > +\t\treturn -ENOMEM;\r\n> > +\r\n> > +\tret = device_property_read_u32_array(tcpci->dev, \"snk-pdos\",\r\n> > +\t\t\t\ttcfg->snk_pdo, tcfg->nr_snk_pdo);\r\n> > +\tif (ret) {\r\n> > +\t\tdev_err(tcpci->dev, \"Failed to read sink pdo!\\n\");\r\n> \r\n> There is a mix of \"Failed to read\" and \"missing\" messages. What is the\r\n> difference ?\r\n\r\nI will refine the error message.\r\n\r\n> \r\n> > +\t\treturn -EINVAL;\r\n> > +\t}\r\n> > +\r\n> > +\tif (device_property_read_u32(tcpci->dev, \"max-snk-mv\",\r\n> > +\t\t\t\t     &tcfg->max_snk_mv) ||\r\n> > +\t\tdevice_property_read_u32(tcpci->dev, \"max-snk-ma\",\r\n> > +\t\t\t\t\t &tcfg->max_snk_ma) ||\r\n> > +\t\tdevice_property_read_u32(tcpci->dev, \"op-snk-mw\",\r\n> > +\t\t\t\t\t &tcfg->operating_snk_mw)) {\r\n> > +\t\tdev_err(tcpci->dev, \"Failed to read sink capability!\\n\");\r\n> > +\t\treturn -EINVAL;\r\n> > +\t}\r\n> >\r\n> >   \treturn 0;\r\n> >   }\r\n> > diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h index\r\n> > 073197f..a67cf77 100644\r\n> > --- a/include/linux/usb/tcpm.h\r\n> > +++ b/include/linux/usb/tcpm.h\r\n> > @@ -76,10 +76,10 @@ enum tcpm_transmit_type {\r\n> >    * @alt_modes:\tList of supported alternate modes\r\n> >    */\r\n> >   struct tcpc_config {\r\n> > -\tconst u32 *src_pdo;\r\n> > +\tu32 *src_pdo;\r\n> >   \tunsigned int nr_src_pdo;\r\n> >\r\n> > -\tconst u32 *snk_pdo;\r\n> > +\tu32 *snk_pdo;\r\n> >   \tunsigned int nr_snk_pdo;\r\n> >\r\n> >   \tconst u32 *snk_vdo;\r\n> > @@ -154,7 +154,7 @@ struct tcpc_mux_dev {\r\n> >    * @mux:\tPointer to multiplexer data\r\n> >    */\r\n> >   struct tcpc_dev {\r\n> > -\tconst struct tcpc_config *config;\r\n> > +\tstruct tcpc_config *config;\r\n> >\r\n> >   \tint (*init)(struct tcpc_dev *dev);\r\n> >   \tint (*get_vbus)(struct tcpc_dev *dev);\r\n> >","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"fzCV6q0B\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jdZ2FXJz9t3B\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 00:14:58 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S966668AbdIZOO4 (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 10:14:56 -0400","from mail-eopbgr10049.outbound.protection.outlook.com\n\t([40.107.1.49]:27728\n\t\"EHLO EUR02-HE1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S969344AbdIZOOz (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 10:14:55 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB313.eurprd04.prod.outlook.com (10.141.239.146) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 14:14:52 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 14:14:50 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=vCtALOqv1iXt1KvbzcdphZDB6uAgv45ga8h83z6rNoQ=;\n\tb=fzCV6q0BW6CKXniz9+X1AbqEsV7Vtu/L2Wa/FZCQh12hOvtnpyFzl8YeEtLbhLnoUdHitiLaAipRchXCASaX6vitjZDR4pV7Tds/DWFt4Qn7uEndxkEx/X5eAtq+AbjVom+geMkxdMcEHj6+Ua7umXqqLv+/91XtyiQHraZXDdk=","From":"Jun Li <jun.li@nxp.com>","To":"Guenter Roeck <linux@roeck-us.net>,\n\t\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>","CC":"\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 04/12] staging: typec: tcpci: support port config passed\n\tvia dt","Thread-Topic":"[PATCH 04/12] staging: typec: tcpci: support port config passed\n\tvia dt","Thread-Index":"AQHTNoKrx9urnAb0ZUGUlyY8po5VkqLHKuYAgAAHqwA=","Date":"Tue, 26 Sep 2017 14:14:50 +0000","Message-ID":"<DB4PR04MB076843D81ED83EC7DB158537897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-5-git-send-email-jun.li@nxp.com>\n\t<bb854ecf-fad7-2c2a-1972-5c4cabb970f2@roeck-us.net>","In-Reply-To":"<bb854ecf-fad7-2c2a-1972-5c4cabb970f2@roeck-us.net>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"fzCV6q0B\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[49.64.59.85]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB313;\n\t6:MgSQDPTwYr4+P1+lGmErLN0ROByUtmPLt38nZ7XmU3hAvnp+y+3A/CsV+Ai4hweakspoh/bKWO1bpxYloEXEEW3c7lp0GL9LMVEOs9OB1GzwP8FE8fFpjU0ZJub6tG5VVKSbS99ecDmx7KKS3w0iiYmK1J1jtx4uIFW8q+w7rDaJQ3LPLlVa04HJ2MROaeI3jrazwwFj1MDsQ1b/+EJMLDbjxRTPZqhhIrM23gX6jLUHDVsywztVOD8ltgIJxAddejYOKMuuzIZuf5scInjyRHoStKsASLK5AlYhyxtTrP3hQ6+IKRTfhuTEaNwddXxC14esTY8dMYCAEGTBBGvkIA==;\n\t5:0RK5VUSvfO4ky5xbIT5JhaD0VLnhbKY3jyVgIkSHoXiSUi8nYl6C43FwmzN9K8ZISlxTw65XRzXU9NaSNkkMTMsCrUx7hE+GOoJg1UfUO6RkZRPE9SVm7GE8zG7JgSlQev7q2s4FXGlrfwRmDiLcMw==;\n\t24:KDlAyZly1PGeLMqJvPBTpHUZuVnBUvf5wuKdgCWX3hHiL9PBfcvF5TIg3JB17ceAjVYKriWtuXvN4IzuV/9GPkZbd7W4c63kEZX+DFLHG8w=;\n\t7:xOHsrldzbpQxOx+ie+FYXiwiJhSzEh4j8JaRfkfQCOmjBfNesMYToQy6cTL4mtR00w/VOdsJ3tje9RgvKcjcqDjUBxVjHQ6AhbTHmZf4VaroDHTsou1bLQ3ZDQYY1kl6Smvk4lXijqTBh9vnmdo7I0k4+HUk7Af6jtFemUftdJKQ8gZl3dSr59lmFALvUY4HQm8Nso9BJgV+gOL6ASRh+QF+n8luZi/xlFFDiYhiKrw=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(376002)(39860400002)(346002)(24454002)(199003)(377454003)(13464003)(189002)(33656002)(316002)(305945005)(25786009)(86362001)(2950100002)(102836003)(6116002)(3846002)(229853002)(106356001)(2906002)(14454004)(478600001)(105586002)(81166006)(3280700002)(81156014)(7696004)(4326008)(5660300001)(110136005)(2900100001)(99286003)(54906003)(54356999)(2501003)(101416001)(5250100002)(53546010)(50986999)(76176999)(8936002)(6506006)(53936002)(6436002)(97736004)(8676002)(66066001)(7736002)(74316002)(34040400001)(55016002)(9686003)(6246003)(68736007)(189998001)(3660700001)(21314002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB313;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; A:1; MX:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"10569ab3-db6c-4398-5d87-08d504e8f392","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB313; ","x-ms-traffictypediagnostic":"DB4PR04MB313:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB313E6146FA4CEBEA674B1AB897B0@DB4PR04MB313.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(920507026)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB313; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB313; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 14:14:50.6453\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB313","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775566,"web_url":"http://patchwork.ozlabs.org/comment/1775566/","msgid":"<DB4PR04MB076831D1E56442F173BA87DE897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T14:16:30","subject":"RE: [PATCH 05/12] staging: typec: tcpci: register port before\n\trequest irq","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"Hi\r\n\r\n> -----Original Message-----\r\n> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter Roeck\r\n> Sent: Tuesday, September 26, 2017 9:34 PM\r\n> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org; robh+dt@kernel.org;\r\n> mark.rutland@arm.com; heikki.krogerus@linux.intel.com\r\n> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\r\n> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\r\n> usb@vger.kernel.org; devicetree@vger.kernel.org\r\n> Subject: Re: [PATCH 05/12] staging: typec: tcpci: register port before request irq\r\n> \r\n> On 09/25/2017 05:45 PM, Li Jun wrote:\r\n> > With that we can clear any pending events and the port is registered\r\n> > so driver can be ready to handle typec events once we request irq.\r\n> >\r\n> > Signed-off-by: Peter Chen <peter.chen@nxp.com>\r\n> > Signed-off-by: Li Jun <jun.li@nxp.com>\r\n> > ---\r\n> >   drivers/staging/typec/tcpci.c | 11 +++++------\r\n> >   1 file changed, 5 insertions(+), 6 deletions(-)\r\n> >\r\n> > diff --git a/drivers/staging/typec/tcpci.c\r\n> > b/drivers/staging/typec/tcpci.c index 0119453..6d608b4 100644\r\n> > --- a/drivers/staging/typec/tcpci.c\r\n> > +++ b/drivers/staging/typec/tcpci.c\r\n> > @@ -552,15 +552,14 @@ static int tcpci_probe(struct i2c_client *client,\r\n> >   \t/* Disable chip interrupts */\r\n> >   \ttcpci_write16(tcpci, TCPC_ALERT_MASK, 0);\r\n> >\r\n> > -\terr = devm_request_threaded_irq(tcpci->dev, client->irq, NULL,\r\n> > +\ttcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);\r\n> > +\tif (IS_ERR(tcpci->port))\r\n> > +\t\treturn PTR_ERR(tcpci->port);\r\n> > +\r\n> > +\treturn devm_request_threaded_irq(tcpci->dev, client->irq, NULL,\r\n> >   \t\t\t\t\ttcpci_irq,\r\n> >   \t\t\t\t\tIRQF_ONESHOT | IRQF_TRIGGER_LOW,\r\n> >   \t\t\t\t\tdev_name(tcpci->dev), tcpci);\r\n> > -\tif (err < 0)\r\n> > -\t\treturn err;\r\n> > -\r\n> > -\ttcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);\r\n> > -\treturn PTR_ERR_OR_ZERO(tcpci->port);\r\n> \r\n> This leaves the port registered if registering the irq fails.\r\n\r\nI will add an error handling with tcpm_unregister_port().\r\n\r\n> \r\n> >   }\r\n> >\r\n> >   static int tcpci_remove(struct i2c_client *client)\r\n> >","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"Kavwls1H\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jgX0CQ3z9t3B\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 00:16:39 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S965886AbdIZOQf (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 10:16:35 -0400","from mail-he1eur01on0074.outbound.protection.outlook.com\n\t([104.47.0.74]:26718\n\t\"EHLO EUR01-HE1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S965155AbdIZOQe (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 10:16:34 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB313.eurprd04.prod.outlook.com (10.141.239.146) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 14:16:30 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 14:16:30 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=PJb8NpM2H+wutWEHRB6qN7cgDnEontjgJs7I8Kt1HyY=;\n\tb=Kavwls1HBy7B0Jl0kGw0GqNykr6sWcJzEnJT/fzkAT1z54w5n4pk8W+i5lGIHPn4WuyLwXw3ZX8xik0ZterYs1+qnLazkf2gsjpJfiGiZ9BBHbvJnZq7Fn18hT4ynBNPQWEJMr/Np5iK4g3m0XD9p3zgWT6Eto9sBMyn4kej5h4=","From":"Jun Li <jun.li@nxp.com>","To":"Guenter Roeck <linux@roeck-us.net>,\n\t\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>","CC":"\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 05/12] staging: typec: tcpci: register port before\n\trequest irq","Thread-Topic":"[PATCH 05/12] staging: typec: tcpci: register port before\n\trequest irq","Thread-Index":"AQHTNoKtb/fAbUF76U+EfStc3ClrIKLHKycAgAALifA=","Date":"Tue, 26 Sep 2017 14:16:30 +0000","Message-ID":"<DB4PR04MB076831D1E56442F173BA87DE897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-6-git-send-email-jun.li@nxp.com>\n\t<da64a379-f9bc-5ad8-44a5-f61c4419e1e7@roeck-us.net>","In-Reply-To":"<da64a379-f9bc-5ad8-44a5-f61c4419e1e7@roeck-us.net>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"Kavwls1H\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[49.64.59.85]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB313;\n\t6:8vazZhnkvTOjj3vKxxLHr8zqJdRLllPxeFId/lLZuboIJGw++rb86o9a5QqGRFgtwNRkrxeQO7BjUilDd5tTUdeA8UqiVYFDHO9fnAfEmF3hvL7agF6WmMzQbJ1uZzYWAWuG1sqVsRbJRJBY57Ad87XiHGE1E5Zjpg5x1pT9Ma71lPoA1dT979WqTCmQ4k0njQgFM5DluDYy7svJ9fbzKL10Sl6msiNSQG8mobr532ECb3XbvaaEG5po0PHXBK//oH7PY9glybz2vrS0IU6948MKHNK1GtqyuwewsgW+ij5mEqGVmg246qZfEz17PU+k8nfJYtDfbrVV12yQdMXBYw==;\n\t5:kpWzgB9MBzWWWg0JvNe9jb9lTZoExSJHtMKLbWUON3XcW1doR7DLqJCD/T3OyI46ODfLTrcN1ZWAC9/jcGRsPTn5PFGIpkA4goE4a1Fi07FvaFiLJOjFmRZW2vpfc7MFqKTBMVqI4BwiUiCcxp8BdA==;\n\t24:M/mYz7pKkazQyG3PVLbqYVCurhg/FlfaRnCfcs4CuKMkEbnYRWKMckvKUWe4vIYkj6+QrQUw5IctNlMBlb34p4W7jCimxyUDtdPpnXV2zKc=;\n\t7:NsyRqv0H/jZNthgr9Et00sMUONBtGkJmQFPvggXDTJJhx1GAOMSVSlSVZdUm04soEMAlD6p4JbSFauGA4VPS0y2v4ay/HID9BLL+91Cw1sr9Z8X8HngdeUWabFMQ8pIrvCAmPwc62LSGiSdLMkX8T7qJyMD/T0SeDv2JEbVlQ72KsohT84rT3M4vyLBZV/rdC5xs7n++4wOps1QI0WfBhewS+DtkHFTWDcdlC0CqJpQ=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(13464003)(377454003)(24454002)(199003)(76176999)(6506006)(53936002)(6436002)(8936002)(101416001)(2501003)(54356999)(50986999)(53546010)(5250100002)(189998001)(6246003)(68736007)(3660700001)(97736004)(8676002)(66066001)(9686003)(7736002)(74316002)(34040400001)(55016002)(106356001)(81156014)(3280700002)(14454004)(2906002)(105586002)(81166006)(478600001)(305945005)(33656002)(316002)(102836003)(2950100002)(3846002)(229853002)(6116002)(25786009)(86362001)(54906003)(99286003)(4326008)(7696004)(2900100001)(5660300001)(110136005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB313;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"8c61335c-3cd9-410a-1dff-08d504e92ee8","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB313; ","x-ms-traffictypediagnostic":"DB4PR04MB313:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB313E25B6E92212D56E6FC8D897B0@DB4PR04MB313.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(920507026)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB313; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB313; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 14:16:30.2085\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB313","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1775573,"web_url":"http://patchwork.ozlabs.org/comment/1775573/","msgid":"<DB4PR04MB0768E03B21B2B35EAF1F8530897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","list_archive_url":null,"date":"2017-09-26T14:25:46","subject":"RE: [PATCH 07/12] typec: tcpm: add starting value for drp toggling","submitter":{"id":69265,"url":"http://patchwork.ozlabs.org/api/people/69265/","name":"Jun Li","email":"jun.li@nxp.com"},"content":"Hi\r\n\r\n> -----Original Message-----\r\n> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter Roeck\r\n> Sent: Tuesday, September 26, 2017 9:43 PM\r\n> To: Jun Li <jun.li@nxp.com>; gregkh@linuxfoundation.org; robh+dt@kernel.org;\r\n> mark.rutland@arm.com; heikki.krogerus@linux.intel.com\r\n> Cc: yueyao@google.com; o_leveque@orange.fr; Peter Chen\r\n> <peter.chen@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>; linux-\r\n> usb@vger.kernel.org; devicetree@vger.kernel.org\r\n> Subject: Re: [PATCH 07/12] typec: tcpm: add starting value for drp toggling\r\n> \r\n> On 09/25/2017 05:45 PM, Li Jun wrote:\r\n> > As DRP port autonomously toggles the Rp/Rd need a start value to begin\r\n> > with, so add one parameter for it in tcpm_start_drp_toggling.\r\n> >\r\n> \r\n> It does have a starting value. The patch changes the starting value to\r\n> TYPEC_CC_RD (from currently one of the RP states) when entering the\r\n> SNK_UNATTACHED state.\r\n> Please provide a matching description.\r\n\r\nYes, actually it's a mismatch, when entering the SNK_UNATTACHED,\r\nwe should start from Rd, see TCPCI spec:\r\nFigure 4-11. TCPC State Diagram before a Connection\r\n\r\n> \r\n> > Signed-off-by: Li Jun <jun.li@nxp.com>\r\n> > ---\r\n> >   drivers/usb/typec/tcpm.c | 10 +++++-----\r\n> >   1 file changed, 5 insertions(+), 5 deletions(-)\r\n> >\r\n> > diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c index\r\n> > 8483d3e..38a6223 100644\r\n> > --- a/drivers/usb/typec/tcpm.c\r\n> > +++ b/drivers/usb/typec/tcpm.c\r\n> > @@ -1839,15 +1839,15 @@ static int tcpm_set_charge(struct tcpm_port\r\n> *port, bool charge)\r\n> >   \treturn 0;\r\n> >   }\r\n> >\r\n> > -static bool tcpm_start_drp_toggling(struct tcpm_port *port)\r\n> > +static bool tcpm_start_drp_toggling(struct tcpm_port *port,\r\n> > +\t\t\t\t    enum typec_cc_status cc)\r\n> >   {\r\n> >   \tint ret;\r\n> >\r\n> >   \tif (port->tcpc->start_drp_toggling &&\r\n> >   \t    port->port_type == TYPEC_PORT_DRP) {\r\n> >   \t\ttcpm_log_force(port, \"Start DRP toggling\");\r\n> > -\t\tret = port->tcpc->start_drp_toggling(port->tcpc,\r\n> > -\t\t\t\t\t\t     tcpm_rp_cc(port));\r\n> > +\t\tret = port->tcpc->start_drp_toggling(port->tcpc, cc);\r\n> >   \t\tif (!ret)\r\n> >   \t\t\treturn true;\r\n> >   \t}\r\n> > @@ -2156,7 +2156,7 @@ static void run_state_machine(struct tcpm_port\r\n> *port)\r\n> >   \t\tif (!port->non_pd_role_swap)\r\n> >   \t\t\ttcpm_swap_complete(port, -ENOTCONN);\r\n> >   \t\ttcpm_src_detach(port);\r\n> > -\t\tif (tcpm_start_drp_toggling(port)) {\r\n> > +\t\tif (tcpm_start_drp_toggling(port, tcpm_rp_cc(port))) {\r\n> >   \t\t\ttcpm_set_state(port, DRP_TOGGLING, 0);\r\n> >   \t\t\tbreak;\r\n> >   \t\t}\r\n> > @@ -2328,7 +2328,7 @@ static void run_state_machine(struct tcpm_port\r\n> *port)\r\n> >   \t\tif (!port->non_pd_role_swap)\r\n> >   \t\t\ttcpm_swap_complete(port, -ENOTCONN);\r\n> >   \t\ttcpm_snk_detach(port);\r\n> > -\t\tif (tcpm_start_drp_toggling(port)) {\r\n> > +\t\tif (tcpm_start_drp_toggling(port, TYPEC_CC_RD)) {\r\n> >   \t\t\ttcpm_set_state(port, DRP_TOGGLING, 0);\r\n> >   \t\t\tbreak;\r\n> >   \t\t}\r\n> >","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"eJIYwXBS\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y1jvr2LN8z9t67\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 00:27:20 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S968226AbdIZO1S (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tTue, 26 Sep 2017 10:27:18 -0400","from mail-eopbgr40044.outbound.protection.outlook.com\n\t([40.107.4.44]:59840\n\t\"EHLO EUR03-DB5-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S966198AbdIZO1R (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tTue, 26 Sep 2017 10:27:17 -0400","from DB4PR04MB0768.eurprd04.prod.outlook.com (10.141.45.21) by\n\tDB4PR04MB313.eurprd04.prod.outlook.com (10.141.239.146) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 14:25:46 +0000","from DB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431]) by\n\tDB4PR04MB0768.eurprd04.prod.outlook.com\n\t([fe80::38a4:9a83:4e70:d431%16]) with mapi id 15.20.0077.011;\n\tTue, 26 Sep 2017 14:25:46 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=lSflH+fUPMaXxRe0Nu16iM9GnO92PYXxpvDzQUWxklA=;\n\tb=eJIYwXBSoHUgZcN8rdbLmVbStVFQVLwTJ2PT+P/YXTTvx8LUuGDUfcOV8PMl9tk4zhtfYyTsoM5F2fMvEcpE7BFaAJfXLS8Ue1MuxvLP61zY8jtZjxqqTYpG9r0B2VV3gqxfoPPBTBDsK6VvCMpNTyBtCBgKJAgn3h35pvTol6M=","From":"Jun Li <jun.li@nxp.com>","To":"Guenter Roeck <linux@roeck-us.net>,\n\t\"gregkh@linuxfoundation.org\" <gregkh@linuxfoundation.org>,\n\t\"robh+dt@kernel.org\" <robh+dt@kernel.org>,\n\t\"mark.rutland@arm.com\" <mark.rutland@arm.com>,\n\t\"heikki.krogerus@linux.intel.com\" <heikki.krogerus@linux.intel.com>","CC":"\"yueyao@google.com\" <yueyao@google.com>,\n\t\"o_leveque@orange.fr\" <o_leveque@orange.fr>,\n\tPeter Chen <peter.chen@nxp.com>, \"A.s. Dong\" <aisheng.dong@nxp.com>, \n\t\"linux-usb@vger.kernel.org\" <linux-usb@vger.kernel.org>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>","Subject":"RE: [PATCH 07/12] typec: tcpm: add starting value for drp toggling","Thread-Topic":"[PATCH 07/12] typec: tcpm: add starting value for drp toggling","Thread-Index":"AQHTNoK0A+CquncVw02I6lScwRzfyaLHLagAgAAK+8A=","Date":"Tue, 26 Sep 2017 14:25:46 +0000","Message-ID":"<DB4PR04MB0768E03B21B2B35EAF1F8530897B0@DB4PR04MB0768.eurprd04.prod.outlook.com>","References":"<1506386727-16370-1-git-send-email-jun.li@nxp.com>\n\t<1506386727-16370-8-git-send-email-jun.li@nxp.com>\n\t<ceae0f45-5d14-8e7f-3258-aa2e28fcf9bc@roeck-us.net>","In-Reply-To":"<ceae0f45-5d14-8e7f-3258-aa2e28fcf9bc@roeck-us.net>","Accept-Language":"zh-CN, en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"eJIYwXBS\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=jun.li@nxp.com; "],"x-originating-ip":"[49.64.59.85]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DB4PR04MB313;\n\t6:8m6McP4HQWujaglqwUEVFTVbE1BnsxhnheKFXbxMQfLsP+/JdQbcpXJ3Q8UoiBO0cmX/YRRqnFRKSfHx5sz7ddkEu8oUQRLRNQIniVGcwoZWxAzo6E9cQzV1soE29f+yoADnYkxsoRpmCjPEX0sKyjy484wHEGXMRQoZfT/BK8/f75MeeL3L5A6mtrQRRMi5a8Zw5MuOmFwcMKcrvwLc+MfFkznGuF7UKctU6F0MzS/avGAAnf8Hs+J9F13LKSbZGb5CkV6ZsSwuyunJGKf0mwrJ87EXxS1BVC7yW1vPMpGB1FR0pqzk6Dd2C+o9oov2maoJ3f4VEnIVtWPBT1I0LA==;\n\t5:TA9GaXcICVQYjQqTOyLFiYzb/Fw5i6LCXjcsym8X3E9w40xWFpdSCUWB+H5vSDaP5l1JCtiy0OeX1xAVK8VuzbA3+EBdxRbbXYGK8N+5JM5B8PIyE4CeAoWN1JuBrbi48JUGyLSvgEzl9E5/vYTybg==;\n\t24:q6pxO7teT8B3EsyjRm2ETng2BFaK7vGRA4rkPgbH+ZsjvXwJ+mMYa8NOQbz9ctTAeyxo3lDkY7MczvX+8F4qbIinC2jYFD9P3SHo7oikGEw=;\n\t7:vE42O/8kER+Blsq24IMbH6t2eQ/m/WsZiD/69ruq221iCKSI5IKN4oA/KAgSzm1yL54mG6o/ktBzRCVpLZ/npZ3fTgjRZnkdYyLOj6h2elKdRbgGAKoJ6tRZ/gumlRG0vZRoSxzwrJLc8tfcIdJypLYcvDpmmdBGm+eoh1PF69hXxXGkMwr3WBrWzR86K9gmQ5t/Uvi4+wAIS4zWq45BK00OFOVr/YVaFzPkWus31CI=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;SSOR;","x-forefront-antispam-report":"SFV:SKI; SCL:-1; SFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(189002)(13464003)(377454003)(24454002)(199003)(76176999)(6506006)(53936002)(6436002)(8936002)(101416001)(2501003)(54356999)(50986999)(53546010)(5250100002)(189998001)(6246003)(68736007)(3660700001)(97736004)(8676002)(66066001)(9686003)(7736002)(74316002)(34040400001)(55016002)(106356001)(81156014)(3280700002)(14454004)(2906002)(105586002)(81166006)(478600001)(305945005)(33656002)(316002)(102836003)(2950100002)(3846002)(229853002)(6116002)(25786009)(86362001)(54906003)(99286003)(4326008)(7696004)(2900100001)(5660300001)(110136005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB313;\n\tH:DB4PR04MB0768.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","x-ms-office365-filtering-correlation-id":"6d31ac14-a8f1-40c2-63c2-08d504ea7a30","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:DB4PR04MB313; ","x-ms-traffictypediagnostic":"DB4PR04MB313:","x-exchange-antispam-report-test":"UriScan:(249592161093381)(180628864354917)(9452136761055)(185117386973197)(211936372134217)(228905959029699);","x-microsoft-antispam-prvs":"<DB4PR04MB313542EE8D976B8821017A9897B0@DB4PR04MB313.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(920507026)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB4PR04MB313; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB4PR04MB313; ","x-forefront-prvs":"0442E569BC","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"26 Sep 2017 14:25:46.0236\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB4PR04MB313","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}}]