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=-8.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 58499C3A59E for ; Wed, 21 Aug 2019 15:27:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 21340233A0 for ; Wed, 21 Aug 2019 15:27:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FGl9svXF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729746AbfHUP1K (ORCPT ); Wed, 21 Aug 2019 11:27:10 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52467 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729505AbfHUP1K (ORCPT ); Wed, 21 Aug 2019 11:27:10 -0400 Received: by mail-wm1-f67.google.com with SMTP id o4so2571941wmh.2; Wed, 21 Aug 2019 08:27:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=HGjnR+JeXtSILg0y7nPF5A1P8FsCS4NKMJYCNq2YV2c=; b=FGl9svXFkYSJTzSupWCXQ6cziNXk0a+37iXMRCn2S1QlQh5y3VoaekP7pGUXr0ZzbC o60kVnGIT5CDqySFpgBzdKNHpuAkZxWuPfwYxxWpP1oUodYL1N7oxl2JW9gwOyJYw0W9 /xg2EECrC3BaXbSBoVpFS7U3Umcc/sgYYR4hY62JuYztznjVzcvPEWeF62Xge+2TENIM jCjiDNhoQK5sC866tJuqhXQXJ0tk9BvNQVxpE5aQVr+4t55uTIXtD1b9FbwU4mrwQvDi 08dU8KIIqnwW5ZIodBIilC8yWjBkgxRcHvX6XOSWQi9oxbwdwFzEuGAUfVRWz6kVfC/M LuiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=HGjnR+JeXtSILg0y7nPF5A1P8FsCS4NKMJYCNq2YV2c=; b=ORrNdbQqPNXlLAS5+aB7w7fMDeNomyYjrc8jVDXZi3V4DcKUZOq4m57yXPe7AYz7mP cdSPQaZ4AVHDqYEI9nxlWR8eOLadU9Ju7vi4lV9kYZEBcTYYyZj3xFudztiMylHbeKcv WOFu/M8WPd9d4gQ/RYjBABJ2GZLMfIjop6vUSBf3aHSp2xs6ZA5HuAfvLwiy/eiZLVrw Sp5v6IZ8qtLxjEOQAfWlthiGmrQw6LV91faEkW259zB5l2wS8REe/r87YdmrCPhIuw1z pMqWONLfajUUKYVz4MSoreNsyNuWQUOjixwqGakl4nUZzkEzM7EiEoTweRi85nc1tnTh 3rtw== X-Gm-Message-State: APjAAAU3dFd9QoyVoajPwKqmOpFWj4bGlXOPt3vLwdeKFekEj1AS2xCg QkhmZf/wI/Hww2/3vw8Auo0Yb2y9 X-Google-Smtp-Source: APXvYqy46HO3/JbfAO6WK2wCD39hQ3tm+/7BkUzZeY4iqsSVWxbaaDpoIaiKbH5i+oeOYTWTv27Jbw== X-Received: by 2002:a05:600c:551:: with SMTP id k17mr654942wmc.53.1566401227795; Wed, 21 Aug 2019 08:27:07 -0700 (PDT) Received: from [192.168.2.41] ([46.227.18.67]) by smtp.gmail.com with ESMTPSA id a19sm68421836wra.2.2019.08.21.08.27.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Aug 2019 08:27:06 -0700 (PDT) Subject: Re: [PATCH 1/3] serial: atmel: Don't check for mctrl_gpio_to_gpiod() returning error To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= , Geert Uytterhoeven Cc: Geert Uytterhoeven , Greg Kroah-Hartman , Jiri Slaby , Frieder Schrempf , Shawn Guo , Sascha Hauer , Fabio Estevam , Pengutronix Kernel Team , NXP Linux Team , "open list:SERIAL DRIVERS" , Linux ARM , Linux-Renesas , Nicolas Ferre , Alexandre Belloni , Ludovic Desroches References: <20190814092757.13726-1-geert+renesas@glider.be> <20190814092924.13857-1-geert+renesas@glider.be> <20190814092924.13857-2-geert+renesas@glider.be> <20190814093558.xlx5ck54dw2dgb6k@pengutronix.de> <20190814110804.2ceo2upc3su7muup@pengutronix.de> <95a9b7ed-71a5-f58c-92dd-913893535f3a@gmail.com> From: Richard Genoud Message-ID: <352d8f55-afe2-9f76-ad92-f15a9faa16a8@gmail.com> Date: Wed, 21 Aug 2019 17:27:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <95a9b7ed-71a5-f58c-92dd-913893535f3a@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: fr Content-Transfer-Encoding: 8bit Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Le 20/08/2019 à 17:47, Richard Genoud a écrit : > Le 14/08/2019 à 13:08, Uwe Kleine-König a écrit : >> On Wed, Aug 14, 2019 at 12:20:33PM +0200, Geert Uytterhoeven wrote: >>> Hi Uwe, >>> >>> On Wed, Aug 14, 2019 at 11:36 AM Uwe Kleine-König >>> wrote: >>>> On Wed, Aug 14, 2019 at 11:29:22AM +0200, Geert Uytterhoeven wrote: >>>>> Since commit 1d267ea6539f2663 ("serial: mctrl-gpio: simplify init >>>>> routine"), mctrl_gpio_init() returns failure if the assignment to any >>>>> member of the gpio array results in an error pointer. >>>>> Since commit c359522194593815 ("serial: mctrl_gpio: Avoid probe failures >>>>> in case of missing gpiolib"), mctrl_gpio_to_gpiod() returns NULL in the >>>>> !CONFIG_GPIOLIB case. >>>>> Hence there is no longer a need to check for mctrl_gpio_to_gpiod() >>>>> returning an error value. A simple NULL check is sufficient. >>>>> >>>>> This follows the spirit of commit 445df7ff3fd1a0a9 ("serial: mctrl-gpio: >>>>> drop usages of IS_ERR_OR_NULL") in the mctrl-gpio core. >>>>> >>>>> Signed-off-by: Geert Uytterhoeven >>>>> --- >>>>> drivers/tty/serial/atmel_serial.c | 12 ++++-------- >>>>> 1 file changed, 4 insertions(+), 8 deletions(-) >>>>> >>>>> diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c >>>>> index 19a85d6fe3d20541..e9620a81166b7dc1 100644 >>>>> --- a/drivers/tty/serial/atmel_serial.c >>>>> +++ b/drivers/tty/serial/atmel_serial.c >>>>> @@ -303,32 +303,28 @@ static unsigned int atmel_get_lines_status(struct uart_port *port) >>>>> >>>>> mctrl_gpio_get(atmel_port->gpios, &ret); >>>>> >>>>> - if (!IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(atmel_port->gpios, >>>>> - UART_GPIO_CTS))) { >>>>> + if (mctrl_gpio_to_gpiod(atmel_port->gpios, UART_GPIO_CTS)) { >>>>> if (ret & TIOCM_CTS) >>>>> status &= ~ATMEL_US_CTS; >>>>> else >>>>> status |= ATMEL_US_CTS; >>>>> } >>>> >>>> The change is fine, but it seems the atmel driver doesn't use mctrl_gpio >>>> as expected (at least as expected by me). IMHO driving the hardware >>>> function of the CTS pin shouldn't be conditional on the presence of a >>>> cts-gpio. Is there a reason not to just drop the if completely? >>> >>> The above code returns the hardware status if CTS is not a GPIO, and >>> returns (overrides with) the GPIO status if CTS is a GPIO. >>> Isn't that correct, or am I missing something? >> >> I took a deeper look into this driver now. The task for >> atmel_get_lines_status() isn't to implement the get_mctrl() callback. >> >> Instead this is called in the irqhandler to set ATMEL_US_RI in a >> "pending" value that then later in atmel_handle_status() is translated >> to a "ring" event that is handled there. >> >> So the right cleanup would be to let atmel_get_lines_status() just be >> >> return atmel_uart_readl(port, ATMEL_US_CSR); >> >> . If something happend on the lines implemented as gpio the driver's irq >> function isn't called anyhow. > > I'd like to give it a good test to be sure, and I'll get back to you. So, Uwe is right. Since commit ce59e48fdbad ("serial: mctrl_gpio: implement interrupt handling"), atmel_get_lines_status() can be completly killed and replaced by : atmel_uart_readl(port, ATMEL_US_CSR); Geert, do you want to send a patch for that, or should I do it ? Thanks, Richard From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Genoud Subject: Re: [PATCH 1/3] serial: atmel: Don't check for mctrl_gpio_to_gpiod() returning error Date: Wed, 21 Aug 2019 17:27:01 +0200 Message-ID: <352d8f55-afe2-9f76-ad92-f15a9faa16a8@gmail.com> References: <20190814092757.13726-1-geert+renesas@glider.be> <20190814092924.13857-1-geert+renesas@glider.be> <20190814092924.13857-2-geert+renesas@glider.be> <20190814093558.xlx5ck54dw2dgb6k@pengutronix.de> <20190814110804.2ceo2upc3su7muup@pengutronix.de> <95a9b7ed-71a5-f58c-92dd-913893535f3a@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <95a9b7ed-71a5-f58c-92dd-913893535f3a@gmail.com> Content-Language: fr List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= , Geert Uytterhoeven Cc: Alexandre Belloni , Pengutronix Kernel Team , Geert Uytterhoeven , "open list:SERIAL DRIVERS" , Greg Kroah-Hartman , Sascha Hauer , Frieder Schrempf , Linux-Renesas , Ludovic Desroches , NXP Linux Team , Fabio Estevam , Jiri Slaby , Shawn Guo , Linux ARM List-Id: linux-serial@vger.kernel.org TGUgMjAvMDgvMjAxOSDDoCAxNzo0NywgUmljaGFyZCBHZW5vdWQgYSDDqWNyaXTCoDoKPiBMZSAx NC8wOC8yMDE5IMOgIDEzOjA4LCBVd2UgS2xlaW5lLUvDtm5pZyBhIMOpY3JpdMKgOgo+PiBPbiBX ZWQsIEF1ZyAxNCwgMjAxOSBhdCAxMjoyMDozM1BNICswMjAwLCBHZWVydCBVeXR0ZXJob2V2ZW4g d3JvdGU6Cj4+PiBIaSBVd2UsCj4+Pgo+Pj4gT24gV2VkLCBBdWcgMTQsIDIwMTkgYXQgMTE6MzYg QU0gVXdlIEtsZWluZS1Lw7ZuaWcKPj4+IDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXguZGU+ IHdyb3RlOgo+Pj4+IE9uIFdlZCwgQXVnIDE0LCAyMDE5IGF0IDExOjI5OjIyQU0gKzAyMDAsIEdl ZXJ0IFV5dHRlcmhvZXZlbiB3cm90ZToKPj4+Pj4gU2luY2UgY29tbWl0IDFkMjY3ZWE2NTM5ZjI2 NjMgKCJzZXJpYWw6IG1jdHJsLWdwaW86IHNpbXBsaWZ5IGluaXQKPj4+Pj4gcm91dGluZSIpLCBt Y3RybF9ncGlvX2luaXQoKSByZXR1cm5zIGZhaWx1cmUgaWYgdGhlIGFzc2lnbm1lbnQgdG8gYW55 Cj4+Pj4+IG1lbWJlciBvZiB0aGUgZ3BpbyBhcnJheSByZXN1bHRzIGluIGFuIGVycm9yIHBvaW50 ZXIuCj4+Pj4+IFNpbmNlIGNvbW1pdCBjMzU5NTIyMTk0NTkzODE1ICgic2VyaWFsOiBtY3RybF9n cGlvOiBBdm9pZCBwcm9iZSBmYWlsdXJlcwo+Pj4+PiBpbiBjYXNlIG9mIG1pc3NpbmcgZ3Bpb2xp YiIpLCBtY3RybF9ncGlvX3RvX2dwaW9kKCkgcmV0dXJucyBOVUxMIGluIHRoZQo+Pj4+PiAhQ09O RklHX0dQSU9MSUIgY2FzZS4KPj4+Pj4gSGVuY2UgdGhlcmUgaXMgbm8gbG9uZ2VyIGEgbmVlZCB0 byBjaGVjayBmb3IgbWN0cmxfZ3Bpb190b19ncGlvZCgpCj4+Pj4+IHJldHVybmluZyBhbiBlcnJv ciB2YWx1ZS4gIEEgc2ltcGxlIE5VTEwgY2hlY2sgaXMgc3VmZmljaWVudC4KPj4+Pj4KPj4+Pj4g VGhpcyBmb2xsb3dzIHRoZSBzcGlyaXQgb2YgY29tbWl0IDQ0NWRmN2ZmM2ZkMWEwYTkgKCJzZXJp YWw6IG1jdHJsLWdwaW86Cj4+Pj4+IGRyb3AgdXNhZ2VzIG9mIElTX0VSUl9PUl9OVUxMIikgaW4g dGhlIG1jdHJsLWdwaW8gY29yZS4KPj4+Pj4KPj4+Pj4gU2lnbmVkLW9mZi1ieTogR2VlcnQgVXl0 dGVyaG9ldmVuIDxnZWVydCtyZW5lc2FzQGdsaWRlci5iZT4KPj4+Pj4gLS0tCj4+Pj4+ICBkcml2 ZXJzL3R0eS9zZXJpYWwvYXRtZWxfc2VyaWFsLmMgfCAxMiArKysrLS0tLS0tLS0KPj4+Pj4gIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4+Pj4+Cj4+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3R0eS9zZXJpYWwvYXRtZWxfc2VyaWFsLmMgYi9kcml2ZXJz L3R0eS9zZXJpYWwvYXRtZWxfc2VyaWFsLmMKPj4+Pj4gaW5kZXggMTlhODVkNmZlM2QyMDU0MS4u ZTk2MjBhODExNjZiN2RjMSAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy90dHkvc2VyaWFsL2F0 bWVsX3NlcmlhbC5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9hdG1lbF9zZXJpYWwu Ywo+Pj4+PiBAQCAtMzAzLDMyICszMDMsMjggQEAgc3RhdGljIHVuc2lnbmVkIGludCBhdG1lbF9n ZXRfbGluZXNfc3RhdHVzKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCj4+Pj4+Cj4+Pj4+ICAgICAg IG1jdHJsX2dwaW9fZ2V0KGF0bWVsX3BvcnQtPmdwaW9zLCAmcmV0KTsKPj4+Pj4KPj4+Pj4gLSAg ICAgaWYgKCFJU19FUlJfT1JfTlVMTChtY3RybF9ncGlvX3RvX2dwaW9kKGF0bWVsX3BvcnQtPmdw aW9zLAo+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VUFSVF9HUElPX0NUUykpKSB7Cj4+Pj4+ICsgICAgIGlmIChtY3RybF9ncGlvX3RvX2dwaW9kKGF0 bWVsX3BvcnQtPmdwaW9zLCBVQVJUX0dQSU9fQ1RTKSkgewo+Pj4+PiAgICAgICAgICAgICAgIGlm IChyZXQgJiBUSU9DTV9DVFMpCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMgJj0g fkFUTUVMX1VTX0NUUzsKPj4+Pj4gICAgICAgICAgICAgICBlbHNlCj4+Pj4+ICAgICAgICAgICAg ICAgICAgICAgICBzdGF0dXMgfD0gQVRNRUxfVVNfQ1RTOwo+Pj4+PiAgICAgICB9Cj4+Pj4KPj4+ PiBUaGUgY2hhbmdlIGlzIGZpbmUsIGJ1dCBpdCBzZWVtcyB0aGUgYXRtZWwgZHJpdmVyIGRvZXNu J3QgdXNlIG1jdHJsX2dwaW8KPj4+PiBhcyBleHBlY3RlZCAoYXQgbGVhc3QgYXMgZXhwZWN0ZWQg YnkgbWUpLiBJTUhPIGRyaXZpbmcgdGhlIGhhcmR3YXJlCj4+Pj4gZnVuY3Rpb24gb2YgdGhlIENU UyBwaW4gc2hvdWxkbid0IGJlIGNvbmRpdGlvbmFsIG9uIHRoZSBwcmVzZW5jZSBvZiBhCj4+Pj4g Y3RzLWdwaW8uIElzIHRoZXJlIGEgcmVhc29uIG5vdCB0byBqdXN0IGRyb3AgdGhlIGlmIGNvbXBs ZXRlbHk/Cj4+Pgo+Pj4gVGhlIGFib3ZlIGNvZGUgcmV0dXJucyB0aGUgaGFyZHdhcmUgc3RhdHVz IGlmIENUUyBpcyBub3QgYSBHUElPLCBhbmQKPj4+IHJldHVybnMgKG92ZXJyaWRlcyB3aXRoKSB0 aGUgR1BJTyBzdGF0dXMgaWYgQ1RTIGlzIGEgR1BJTy4KPj4+IElzbid0IHRoYXQgY29ycmVjdCwg b3IgYW0gSSBtaXNzaW5nIHNvbWV0aGluZz8KPj4KPj4gSSB0b29rIGEgZGVlcGVyIGxvb2sgaW50 byB0aGlzIGRyaXZlciBub3cuIFRoZSB0YXNrIGZvcgo+PiBhdG1lbF9nZXRfbGluZXNfc3RhdHVz KCkgaXNuJ3QgdG8gaW1wbGVtZW50IHRoZSBnZXRfbWN0cmwoKSBjYWxsYmFjay4KPj4KPj4gSW5z dGVhZCB0aGlzIGlzIGNhbGxlZCBpbiB0aGUgaXJxaGFuZGxlciB0byBzZXQgQVRNRUxfVVNfUkkg aW4gYQo+PiAicGVuZGluZyIgdmFsdWUgdGhhdCB0aGVuIGxhdGVyIGluIGF0bWVsX2hhbmRsZV9z dGF0dXMoKSBpcyB0cmFuc2xhdGVkCj4+IHRvIGEgInJpbmciIGV2ZW50IHRoYXQgaXMgaGFuZGxl ZCB0aGVyZS4KPj4KPj4gU28gdGhlIHJpZ2h0IGNsZWFudXAgd291bGQgYmUgdG8gbGV0IGF0bWVs X2dldF9saW5lc19zdGF0dXMoKSBqdXN0IGJlCj4+Cj4+IAlyZXR1cm4gYXRtZWxfdWFydF9yZWFk bChwb3J0LCBBVE1FTF9VU19DU1IpOwo+Pgo+PiAuIElmIHNvbWV0aGluZyBoYXBwZW5kIG9uIHRo ZSBsaW5lcyBpbXBsZW1lbnRlZCBhcyBncGlvIHRoZSBkcml2ZXIncyBpcnEKPj4gZnVuY3Rpb24g aXNuJ3QgY2FsbGVkIGFueWhvdy4KPiAKPiBJJ2QgbGlrZSB0byBnaXZlIGl0IGEgZ29vZCB0ZXN0 IHRvIGJlIHN1cmUsIGFuZCBJJ2xsIGdldCBiYWNrIHRvIHlvdS4KClNvLCBVd2UgaXMgcmlnaHQu ClNpbmNlIGNvbW1pdCBjZTU5ZTQ4ZmRiYWQgKCJzZXJpYWw6IG1jdHJsX2dwaW86IGltcGxlbWVu dCBpbnRlcnJ1cHQgaGFuZGxpbmciKSwKYXRtZWxfZ2V0X2xpbmVzX3N0YXR1cygpIGNhbiBiZSBj b21wbGV0bHkga2lsbGVkIGFuZCByZXBsYWNlZCBieSA6CmF0bWVsX3VhcnRfcmVhZGwocG9ydCwg QVRNRUxfVVNfQ1NSKTsKCkdlZXJ0LCBkbyB5b3Ugd2FudCB0byBzZW5kIGEgcGF0Y2ggZm9yIHRo YXQsIG9yIHNob3VsZCBJIGRvIGl0ID8KCgpUaGFua3MsClJpY2hhcmQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK