From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10831C04EB9 for ; Tue, 4 Dec 2018 01:41:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CC76620851 for ; Tue, 4 Dec 2018 01:40:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC76620851 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725992AbeLDBk6 (ORCPT ); Mon, 3 Dec 2018 20:40:58 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:16074 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725915AbeLDBk6 (ORCPT ); Mon, 3 Dec 2018 20:40:58 -0500 Received: from DGGEMS406-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 761491F3AA615; Tue, 4 Dec 2018 09:40:52 +0800 (CST) Received: from [127.0.0.1] (10.142.63.192) by DGGEMS406-HUB.china.huawei.com (10.3.19.206) with Microsoft SMTP Server id 14.3.408.0; Tue, 4 Dec 2018 09:40:46 +0800 CC: , USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Arnd Bergmann , "Greg Kroah-Hartman" , John Stultz , "Krogerus, Heikki" Subject: Re: [PATCH v1 10/12] hikey960: Support usb functionality of Hikey960 To: Andy Shevchenko References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-11-chenyu56@huawei.com> From: Chen Yu Message-ID: <6810012e-9a77-dfdf-a738-14ce77a3027a@huawei.com> Date: Tue, 4 Dec 2018 09:40:45 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.142.63.192] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 2018/12/3 17:23, Andy Shevchenko wrote: > On Mon, Dec 3, 2018 at 5:47 AM Yu Chen wrote: >> >> This driver handles usb hub power on and typeC port event of HiKey960 board: >> 1)DP&DM switching between usb hub and typeC port base on typeC port >> state >> 2)Control power of usb hub on Hikey960 >> 3)Control vbus of typeC port > >> +config HISI_HIKEY_USB >> + tristate "USB functionality of HiSilicon Hikey Platform" >> + depends on GPIOLIB > >> + default n > > No, Linus is not happy about this. > Default n _is_ a default. OK. > >> + help >> + If you say yes here you get support for usb functionality of HiSilicon Hikey Platform. > >> +// SPDX-License-Identifier: GPL-2.0+ >> +/* >> + * hisi_hikey_usb.c >> + * >> + * Copyright (c) Hisilicon Tech. Co., Ltd. All rights reserved. >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + */ > > Same comments to the above lines. > >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include > > Order? > >> + pr_debug("%s: set hub power %d\n", __func__, value); > > Noise. > >> + pr_debug("%s: switch to %s\n", __func__, switch_to_str); > > Noise. > >> + pr_debug("%s: set typec vbus gpio to %d\n", __func__, value); > > Noise. > >> + if (!nb) >> + return -EINVAL; > > On which conditions this happen? > >> + pr_info("%s:set typec state to %lu\n", __func__, state); > > Noise! > > Guys, you perhaps can read about tracepoints and function tracer > facilities in the kernel. > >> +static int hisi_hikey_usb_probe(struct platform_device *pdev) >> +{ > >> + pr_info("%s: typc_vbus_enable_val can't get\n", __func__); > > Noise! OK. > >> + if (IS_ERR_OR_NULL(hisi_hikey_usb->typec_vbus)) { > > So, this check is redundant. You are repeating it below. > >> + if (!hisi_hikey_usb->typec_vbus) >> + ret = -EINVAL; >> + else >> + ret = PTR_ERR(hisi_hikey_usb->typec_vbus); >> + return ret; >> + } OK. > >> + if (IS_ERR_OR_NULL(hisi_hikey_usb->role_sw)) { > >> + pr_err("%s: usb_role_switch_get failed\n", __func__); > > Noise and same comment to the conditional check as above > >> + if (!hisi_hikey_usb->role_sw) >> + ret = -ENOENT; >> + else >> + ret = PTR_ERR(hisi_hikey_usb->role_sw); >> + return ret; >> + } > >> + .of_match_table = of_match_ptr(id_table_hisi_hikey_usb), > > Does it compiles for non-OF case? Why macro is in use? > OK. I will add the "CONFIG_OF". From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Yu Subject: Re: [PATCH v1 10/12] hikey960: Support usb functionality of Hikey960 Date: Tue, 4 Dec 2018 09:40:45 +0800 Message-ID: <6810012e-9a77-dfdf-a738-14ce77a3027a@huawei.com> References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-11-chenyu56@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Andy Shevchenko Cc: wangbinghui@hisilicon.com, USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Arnd Bergmann , Greg Kroah-Hartman , John Stultz , "Krogerus, Heikki" List-Id: devicetree@vger.kernel.org Hi, On 2018/12/3 17:23, Andy Shevchenko wrote: > On Mon, Dec 3, 2018 at 5:47 AM Yu Chen wrote: >> >> This driver handles usb hub power on and typeC port event of HiKey960 board: >> 1)DP&DM switching between usb hub and typeC port base on typeC port >> state >> 2)Control power of usb hub on Hikey960 >> 3)Control vbus of typeC port > >> +config HISI_HIKEY_USB >> + tristate "USB functionality of HiSilicon Hikey Platform" >> + depends on GPIOLIB > >> + default n > > No, Linus is not happy about this. > Default n _is_ a default. OK. > >> + help >> + If you say yes here you get support for usb functionality of HiSilicon Hikey Platform. > >> +// SPDX-License-Identifier: GPL-2.0+ >> +/* >> + * hisi_hikey_usb.c >> + * >> + * Copyright (c) Hisilicon Tech. Co., Ltd. All rights reserved. >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + */ > > Same comments to the above lines. > >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include > > Order? > >> + pr_debug("%s: set hub power %d\n", __func__, value); > > Noise. > >> + pr_debug("%s: switch to %s\n", __func__, switch_to_str); > > Noise. > >> + pr_debug("%s: set typec vbus gpio to %d\n", __func__, value); > > Noise. > >> + if (!nb) >> + return -EINVAL; > > On which conditions this happen? > >> + pr_info("%s:set typec state to %lu\n", __func__, state); > > Noise! > > Guys, you perhaps can read about tracepoints and function tracer > facilities in the kernel. > >> +static int hisi_hikey_usb_probe(struct platform_device *pdev) >> +{ > >> + pr_info("%s: typc_vbus_enable_val can't get\n", __func__); > > Noise! OK. > >> + if (IS_ERR_OR_NULL(hisi_hikey_usb->typec_vbus)) { > > So, this check is redundant. You are repeating it below. > >> + if (!hisi_hikey_usb->typec_vbus) >> + ret = -EINVAL; >> + else >> + ret = PTR_ERR(hisi_hikey_usb->typec_vbus); >> + return ret; >> + } OK. > >> + if (IS_ERR_OR_NULL(hisi_hikey_usb->role_sw)) { > >> + pr_err("%s: usb_role_switch_get failed\n", __func__); > > Noise and same comment to the conditional check as above > >> + if (!hisi_hikey_usb->role_sw) >> + ret = -ENOENT; >> + else >> + ret = PTR_ERR(hisi_hikey_usb->role_sw); >> + return ret; >> + } > >> + .of_match_table = of_match_ptr(id_table_hisi_hikey_usb), > > Does it compiles for non-OF case? Why macro is in use? > OK. I will add the "CONFIG_OF". From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v1,10/12] hikey960: Support usb functionality of Hikey960 From: Yu Chen Message-Id: <6810012e-9a77-dfdf-a738-14ce77a3027a@huawei.com> Date: Tue, 4 Dec 2018 09:40:45 +0800 To: Andy Shevchenko Cc: wangbinghui@hisilicon.com, USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Arnd Bergmann , Greg Kroah-Hartman , John Stultz , "Krogerus, Heikki" List-ID: SGksCgpPbiAyMDE4LzEyLzMgMTc6MjMsIEFuZHkgU2hldmNoZW5rbyB3cm90ZToKPiBPbiBNb24s IERlYyAzLCAyMDE4IGF0IDU6NDcgQU0gWXUgQ2hlbiA8Y2hlbnl1NTZAaHVhd2VpLmNvbT4gd3Jv dGU6Cj4+Cj4+IFRoaXMgZHJpdmVyIGhhbmRsZXMgdXNiIGh1YiBwb3dlciBvbiBhbmQgdHlwZUMg cG9ydCBldmVudCBvZiBIaUtleTk2MCBib2FyZDoKPj4gMSlEUCZETSBzd2l0Y2hpbmcgYmV0d2Vl biB1c2IgaHViIGFuZCB0eXBlQyBwb3J0IGJhc2Ugb24gdHlwZUMgcG9ydAo+PiBzdGF0ZQo+PiAy KUNvbnRyb2wgcG93ZXIgb2YgdXNiIGh1YiBvbiBIaWtleTk2MAo+PiAzKUNvbnRyb2wgdmJ1cyBv ZiB0eXBlQyBwb3J0Cj4gCj4+ICtjb25maWcgSElTSV9ISUtFWV9VU0IKPj4gKyAgICAgICB0cmlz dGF0ZSAiVVNCIGZ1bmN0aW9uYWxpdHkgb2YgSGlTaWxpY29uIEhpa2V5IFBsYXRmb3JtIgo+PiAr ICAgICAgIGRlcGVuZHMgb24gR1BJT0xJQgo+IAo+PiArICAgICAgIGRlZmF1bHQgbgo+IAo+IE5v LCBMaW51cyBpcyBub3QgaGFwcHkgYWJvdXQgdGhpcy4KPiBEZWZhdWx0IG4gX2lzXyBhIGRlZmF1 bHQuCgpPSy4KPiAKPj4gKyAgICAgICBoZWxwCj4+ICsgICAgICAgICBJZiB5b3Ugc2F5IHllcyBo ZXJlIHlvdSBnZXQgc3VwcG9ydCBmb3IgdXNiIGZ1bmN0aW9uYWxpdHkgb2YgSGlTaWxpY29uIEhp a2V5IFBsYXRmb3JtLgo+IAo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAr Cj4+ICsvKgo+PiArICogaGlzaV9oaWtleV91c2IuYwo+PiArICoKPj4gKyAqIENvcHlyaWdodCAo YykgSGlzaWxpY29uIFRlY2guIENvLiwgTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+PiArICoK Pj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo+PiArICogdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPj4g KyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4+ICsgKgo+PiArICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+PiArICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPj4gKyAqCj4+ICsgKi8KPiAKPiBTYW1lIGNvbW1lbnRz IHRvIHRoZSBhYm92ZSBsaW5lcy4KPiAKPj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPj4g KyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4+ ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgv b2YuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+Cj4+ICsjaW5jbHVkZSA8 bGludXgvdXNiL3JvbGUuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+IAo+IE9y ZGVyPwo+IAo+PiArICAgICAgIHByX2RlYnVnKCIlczogc2V0IGh1YiBwb3dlciAlZFxuIiwgX19m dW5jX18sIHZhbHVlKTsKPiAKPiBOb2lzZS4KPiAKPj4gKyAgICAgICBwcl9kZWJ1ZygiJXM6IHN3 aXRjaCB0byAlc1xuIiwgX19mdW5jX18sIHN3aXRjaF90b19zdHIpOwo+IAo+IE5vaXNlLgo+IAo+ PiArICAgICAgIHByX2RlYnVnKCIlczogc2V0IHR5cGVjIHZidXMgZ3BpbyB0byAlZFxuIiwgX19m dW5jX18sIHZhbHVlKTsKPiAKPiBOb2lzZS4KPiAKPj4gKyAgICAgICBpZiAoIW5iKQo+PiArICAg ICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gCj4gT24gd2hpY2ggY29uZGl0aW9ucyB0aGlz IGhhcHBlbj8KPiAKPj4gKyAgICAgICBwcl9pbmZvKCIlczpzZXQgdHlwZWMgc3RhdGUgdG8gJWx1 XG4iLCBfX2Z1bmNfXywgc3RhdGUpOwo+IAo+IE5vaXNlIQo+IAo+IEd1eXMsIHlvdSBwZXJoYXBz IGNhbiByZWFkIGFib3V0IHRyYWNlcG9pbnRzIGFuZCBmdW5jdGlvbiB0cmFjZXIKPiBmYWNpbGl0 aWVzIGluIHRoZSBrZXJuZWwuCj4gCj4+ICtzdGF0aWMgaW50IGhpc2lfaGlrZXlfdXNiX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICt7Cj4gCj4+ICsgICAgICAgICAgICAg ICBwcl9pbmZvKCIlczogdHlwY192YnVzX2VuYWJsZV92YWwgY2FuJ3QgZ2V0XG4iLCBfX2Z1bmNf Xyk7Cj4gCj4gTm9pc2UhCgpPSy4KPiAKPj4gKyAgICAgICBpZiAoSVNfRVJSX09SX05VTEwoaGlz aV9oaWtleV91c2ItPnR5cGVjX3ZidXMpKSB7Cj4gCj4gU28sIHRoaXMgY2hlY2sgaXMgcmVkdW5k YW50LiBZb3UgYXJlIHJlcGVhdGluZyBpdCBiZWxvdy4KPiAKPj4gKyAgICAgICAgICAgICAgIGlm ICghaGlzaV9oaWtleV91c2ItPnR5cGVjX3ZidXMpCj4+ICsgICAgICAgICAgICAgICAgICAgICAg IHJldCA9IC1FSU5WQUw7Cj4+ICsgICAgICAgICAgICAgICBlbHNlCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgIHJldCA9IFBUUl9FUlIoaGlzaV9oaWtleV91c2ItPnR5cGVjX3ZidXMpOwo+PiAr ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4gKyAgICAgICB9Ck9LLgoKPiAKPj4gKyAgICAg ICBpZiAoSVNfRVJSX09SX05VTEwoaGlzaV9oaWtleV91c2ItPnJvbGVfc3cpKSB7Cj4gCj4+ICsg ICAgICAgICAgICAgICBwcl9lcnIoIiVzOiB1c2Jfcm9sZV9zd2l0Y2hfZ2V0IGZhaWxlZFxuIiwg X19mdW5jX18pOwo+IAo+IE5vaXNlIGFuZCBzYW1lIGNvbW1lbnQgdG8gdGhlIGNvbmRpdGlvbmFs IGNoZWNrIGFzIGFib3ZlCj4gCj4+ICsgICAgICAgICAgICAgICBpZiAoIWhpc2lfaGlrZXlfdXNi LT5yb2xlX3N3KQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRU5PRU5UOwo+PiAr ICAgICAgICAgICAgICAgZWxzZQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBQVFJf RVJSKGhpc2lfaGlrZXlfdXNiLT5yb2xlX3N3KTsKPj4gKyAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7Cj4+ICsgICAgICAgfQo+IAo+PiArICAgICAgICAgICAgICAgLm9mX21hdGNoX3RhYmxlID0g b2ZfbWF0Y2hfcHRyKGlkX3RhYmxlX2hpc2lfaGlrZXlfdXNiKSwKPiAKPiBEb2VzIGl0IGNvbXBp bGVzIGZvciBub24tT0YgY2FzZT8gV2h5IG1hY3JvIGlzIGluIHVzZT8KPiAKT0suIEkgd2lsbCBh ZGQgdGhlICJDT05GSUdfT0YiLgo=