From patchwork Mon Jul 17 17:28:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13316530 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org From: Andy Shevchenko Subject: [PATCH v2 00/10] pinctrl: Provide NOIRQ PM helper and use it Date: Mon, 17 Jul 2023 20:28:11 +0300 Message-Id: <20230717172821.62827-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+lwn-linux-arm-kernel=archive.lwn.net@lists.infradead.org List-Archive: To: Andy Shevchenko , Mika Westerberg , Linus Walleij , Balsam CHIHI , Claudiu Beznea , Geert Uytterhoeven , Wolfram Sang , Thierry Reding , Paul Cercueil , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-pm@vger.kernel.org Cc: Andy Shevchenko , Andrew Lunn , Alexandre Belloni , Len Brown , "Rafael J. Wysocki" , Gregory Clement , Sean Wang , Jonathan Hunter , Ludovic Desroches , Pavel Machek , Matthias Brugger , Sebastian Hesselbarth , AngeloGioacchino Del Regno Intel pin control drivers use NOIRQ variant of the PM callbacks. Besides that several other drivers do similar. Provide a helper to make them smaller and less error prone against different kernel configurations (with possible defined but not used variables). The idea is to have an immutable branch that PM tree can pull as well as main pin control one. We also can do other way around, if Rafael prefers that. Changelog v2: - rewritten commit message in patch 1 (Rafael) - converted non-Intel pin control drivers as well - added couple of kinda related patches to use pm_ptr() Andy Shevchenko (10): pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: baytrail: Make use of pm_ptr() pinctrl: cherryview: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: intel: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: lynxpoint: Make use of pm_ptr() pinctrl: at91: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: mediatek: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: mvebu: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: renesas: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper pinctrl: tegra: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper drivers/pinctrl/intel/pinctrl-baytrail.c | 11 +++-------- drivers/pinctrl/intel/pinctrl-cherryview.c | 9 ++------- drivers/pinctrl/intel/pinctrl-intel.c | 5 +---- drivers/pinctrl/intel/pinctrl-intel.h | 9 ++------- drivers/pinctrl/intel/pinctrl-lynxpoint.c | 7 +++---- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 5 +---- drivers/pinctrl/mediatek/pinctrl-paris.c | 9 +++------ drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 14 +++----------- drivers/pinctrl/pinctrl-at91.c | 10 ++++------ drivers/pinctrl/renesas/core.c | 16 +++++++--------- drivers/pinctrl/tegra/pinctrl-tegra.c | 5 +---- include/linux/pm.h | 9 +++++++++ 12 files changed, 39 insertions(+), 70 deletions(-)