Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1639920pxf; Fri, 19 Mar 2021 11:46:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwK/JM+qT6Hm8SkalslwsC6ILSFR0omODRuH2rDzua1ybYS8R8GKeW7tJU3cDizFNGEFF7p X-Received: by 2002:a50:ec0e:: with SMTP id g14mr11329678edr.264.1616179608375; Fri, 19 Mar 2021 11:46:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616179608; cv=none; d=google.com; s=arc-20160816; b=YvO/bGub0yh4Z8ziAzWL9Th6YtE9BDoi9ngB/NMJ0IqmPC+KKQUpoxxhHycrT/lAbP KU7ZIho/2IFrvBqEFRSZDorJtpIi77aIxdEjOtXyjZancu6fWdEhQDyXD4DYggIQrmEG njFDE/QHA4RK0+st71Fv5SYpPN7Embp2MWSEidYxPRvlhMAnaNgy1x9UFHVYFxJDbi19 Q8kLN+QQPZtTkjJb4CBL1B7AroyXVMovbK10MYhwbY/Dz64RAEWjOP7mQWPKJMzangJM 6qs3mhc5QQpD3wvtQS9R0wz55oXP9nWwxJvzOt0HG2OPU6mX1gN//noT414Fepgu0RKL UJvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=JQWsKQyNZ6s87bPutiODteWCPQdbcCDdbSCdVVUPUOs=; b=tG9oCj3EbIyRfsYF3NotG74b63LE342Xyca7H3GGjUVcVWNG4z4T4J+vgOmBUaYcia CU+Y6dwZ69j4DRMvzEOrayw6gvYZP3xyPf5XGDtfqtFhElCtgUOQmrkx/21RUM8VCVzP UqbqfIF3HoRqgh8o8TEr5INSDAdfhQOdhDyNXgVxbaJbyKoTzPDlDDySZU8k/0Rtzlkf S5R8zp7fZVltcncwt33IP0dir79DUQTQCUvcWn0XpHqII/ZphY52ZY+d826DuGvYlj4l DzACUletUMTUAzmgcMyYx/s13RNrHjsXpJIK8lLGLExbp9XXGIYFG0J8+xMIHOUgJWOZ iZ2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b="ykHAe7q/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q5si4878751eds.165.2021.03.19.11.46.24; Fri, 19 Mar 2021 11:46:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b="ykHAe7q/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230442AbhCSSpK (ORCPT + 99 others); Fri, 19 Mar 2021 14:45:10 -0400 Received: from mx07-00178001.pphosted.com ([185.132.182.106]:59611 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230281AbhCSSoW (ORCPT ); Fri, 19 Mar 2021 14:44:22 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12JIgGIg010252; Fri, 19 Mar 2021 19:43:25 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=selector1; bh=JQWsKQyNZ6s87bPutiODteWCPQdbcCDdbSCdVVUPUOs=; b=ykHAe7q/GDMFBRhhgNB1BrwPoMTWf0BRKrlC7RPg8nO4P7Z34/Wkw0ZDI8P5qG1nfoBx wmGc6nmkgdhRW/hlncKXk3gtv6oGGRK902n64fjhJgVi3Zhpuwz+XtjEKdNq39XMYgVh BxUCJ5s6ESY0wnFf5Q57avJh9mvgdPp63mfaX16UhDPIDs6XJAYYrBoTHo89SK0I/0mo zKz8CjJ4ndDCuVexrDIrf4CwhD3CkkpCTm6Hv4th8PJeR1HY8fUq7/SLM/+id2kiYKsR B9nrbmeIKSV3HEr9RlybNNa1LECKq29p1KT8iKA5Irp1SsFSXWMcWWPrhPPio/9IQzTL zQ== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 378pr6d1g2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 19 Mar 2021 19:43:24 +0100 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 7285A100038; Fri, 19 Mar 2021 19:43:24 +0100 (CET) Received: from Webmail-eu.st.com (sfhdag2node3.st.com [10.75.127.6]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 5B3B32721FF; Fri, 19 Mar 2021 19:43:24 +0100 (CET) Received: from localhost (10.75.127.51) by SFHDAG2NODE3.st.com (10.75.127.6) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 19 Mar 2021 19:43:23 +0100 From: Erwan Le Ray To: Greg Kroah-Hartman , Rob Herring , Thomas Gleixner , Marc Zyngier , Maxime Coquelin , Alexandre Torgue CC: , , , , , Erwan Le Ray , Fabrice Gasnier , Valentin Caron , Patrice Chotard Subject: [PATCH 1/5] serial: stm32: rework wakeup management Date: Fri, 19 Mar 2021 19:42:49 +0100 Message-ID: <20210319184253.5841-2-erwan.leray@foss.st.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210319184253.5841-1-erwan.leray@foss.st.com> References: <20210319184253.5841-1-erwan.leray@foss.st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.51] X-ClientProxiedBy: SFHDAG2NODE1.st.com (10.75.127.4) To SFHDAG2NODE3.st.com (10.75.127.6) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.761 definitions=2021-03-19_10:2021-03-19,2021-03-19 signatures=0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rework wakeup management by activating uart as wakeup source when usart device OR its tty virtual device parent is wakeup source. This patch aim to avoid potential misalignment between serial and tty wakeup flags. Signed-off-by: Patrice Chotard Signed-off-by: Alexandre Torgue Signed-off-by: Erwan Le Ray diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-usart.c index 9db6708e3d9f..11656b6b7c0f 100644 --- a/drivers/tty/serial/stm32-usart.c +++ b/drivers/tty/serial/stm32-usart.c @@ -1534,7 +1534,7 @@ static int __maybe_unused stm32_usart_serial_suspend(struct device *dev) uart_suspend_port(&stm32_usart_driver, port); - if (device_may_wakeup(dev)) + if (device_may_wakeup(dev) || device_wakeup_path(dev)) stm32_usart_serial_en_wakeup(port, true); else stm32_usart_serial_en_wakeup(port, false); @@ -1546,7 +1546,7 @@ static int __maybe_unused stm32_usart_serial_suspend(struct device *dev) * capabilities. */ if (console_suspend_enabled || !uart_console(port)) { - if (device_may_wakeup(dev)) + if (device_may_wakeup(dev) || device_wakeup_path(dev)) pinctrl_pm_select_idle_state(dev); else pinctrl_pm_select_sleep_state(dev); @@ -1561,7 +1561,7 @@ static int __maybe_unused stm32_usart_serial_resume(struct device *dev) pinctrl_pm_select_default_state(dev); - if (device_may_wakeup(dev)) + if (device_may_wakeup(dev) || device_wakeup_path(dev)) stm32_usart_serial_en_wakeup(port, false); return uart_resume_port(&stm32_usart_driver, port); -- 2.17.1