From patchwork Wed Jul 20 04:34:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Kepplinger X-Patchwork-Id: 12923493 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BC491C433EF for ; Wed, 20 Jul 2022 04:37:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=5dLPqtV3AuBR44Ago9DdupT/Gm0Nymvz0WzjJ8frmxY=; b=CCRmPvZYAP+d3+ j4+qhusWoQLJq+75tSxy61/jkGg0wD+KD3Dsyf5yOdgLtn4Adp4lCpwWv8kxzHnMrQQ9wXf5ZA2Fc ux4DhaIEopSonGHqBIaN33ZpRWIcQ9szMIkWzYR9XO6NciL7ZW5RBoCOtYu71I4vXnbx7Y76R6AiX EQIfuy3kkf9cfQKiyBBr7w9/yfy164v6VUte/pbuGxs4LYUgktADI3QeriGTIiLknymEkIHefoeYo m2eP6LtXgfJce2GZZkaLIvp3UmWKKVT4NfUwJzMK0/r/bcr5K2WANUjE7gZpJvUjqPMW0lqg+JWp3 szZ/sZ6hLzSvDHD4geNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oE1Rd-000DD3-FO; Wed, 20 Jul 2022 04:36:21 +0000 Received: from comms.puri.sm ([159.203.221.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oE1RR-000CvT-UN for linux-arm-kernel@lists.infradead.org; Wed, 20 Jul 2022 04:36:11 +0000 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id A7160DF476; Tue, 19 Jul 2022 21:35:33 -0700 (PDT) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EsG6Ij7e3Hjh; Tue, 19 Jul 2022 21:35:32 -0700 (PDT) From: Martin Kepplinger DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=puri.sm; s=comms; t=1658291732; bh=Z395XdMnc9/hxp6HWecS680NJldQ34bRG9DAfW63U9Q=; h=From:To:Cc:Subject:Date:From; b=sizWD/b4xrs4MtrW1YRj/Mo4yhbLDlLLBhDjl14d0uv1ru2YgnUOI0vQAR9OMurqr 9MJN37bGSLCdNacbzfyYOZpfCOE7xlN74zP0D0hMtLTyDUGl2QliTH+u94lfqzVIBR 2SbtQTro1rImKW3WICY0M4fb2LcbdmVT8+SKE3OHz1VE3XlQT22vCO5aEPHyAL+x0/ oi/WFenzLS01SfiToNADfE0hl+HyGEaEXjX3V6pRYws1T+d+lZlBRAyb9p86HZJGbx ZWM3To6DHKO9oPyJWpXNk952fiNbBNyD+hArpWPkcuRtiSq1/oEAqhg3SNe2NjeEnH g5EZM0eVT6bSQ== To: rafael@kernel.org, khilman@kernel.org, ulf.hansson@linaro.org, robh@kernel.org, krzysztof.kozlowski@linaro.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, pavel@ucw.cz Cc: kernel@puri.sm, linux-imx@nxp.com, broonie@kernel.org, l.stach@pengutronix.de, aford173@gmail.com, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Martin Kepplinger Subject: [PATCH v4 0/3] power: domain: handle power supplies that need interrupts Date: Wed, 20 Jul 2022 06:34:41 +0200 Message-Id: <20220720043444.1289952-1-martin.kepplinger@puri.sm> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_213609_998614_536CA04C X-CRM114-Status: UNSURE ( 9.61 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org hi Ulf, Lucas and all interested, This (after a cleanup patch) makes available a new genpd flag GENPD_FLAG_IRQ_ON in a relatively generic way: genpd providers can set it when irqs are needed to manage power on/off. Since the main goal here has been to fix systemd suspend/resume, adjusting these callbacks is all that's being done when this flag gets set. And since I'm working on imx8mq, the 3rd patch makes gpcv2 set this new flag when any power-supply's parent DT node has "interrupts" described. For i.MX8M* platforms, this should be ok. For other platforms this might be useful too but needs to be tested. revision history ---------------- v4: (thank you Ulf and Lucas) * split up genpd core and gpcv2 changes * set callbacks inside of pm_genpd_init() * make flag name and description a bit more generic * print an error in __genpd_dev_pm_attach() if there a "mismatch" v3: (thank you Ulf) * move DT parsing to gpcv2 and create a genpd flag that gets set https://lore.kernel.org/linux-arm-kernel/20220718210302.674897-1-martin.kepplinger@puri.sm/ v2: (thank you Krzysztof) * rewrite: find possible regulators' interrupts property in parents instead of inventing a new property. https://lore.kernel.org/linux-arm-kernel/20220712121832.3659769-1-martin.kepplinger@puri.sm/ v1: (initial idea) https://lore.kernel.org/linux-arm-kernel/20220711094549.3445566-1-martin.kepplinger@puri.sm/T/#t Martin Kepplinger (3): PM: domain: fix indentation and use BIT macro for flags power: domain: handle genpd correctly when needing interrupts soc: imx: gpcv2: fix suspend/resume by setting GENPD_FLAG_IRQ_ON drivers/base/power/domain.c | 13 +++++++++++++ drivers/soc/imx/gpcv2.c | 9 +++++++++ include/linux/pm_domain.h | 20 +++++++++++++------- 3 files changed, 35 insertions(+), 7 deletions(-)