From patchwork Fri Jan 26 14:36:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Richard X-Patchwork-Id: 13532720 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 68243C47422 for ; Fri, 26 Jan 2024 14:38:14 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EBC4jbOYUtAWjwibluiL739/5u2f3VkgoXzlY+FAKY8=; b=d0zjpLOiYcHi1v GRQh3Hh7pa/2MdpvyLw4+6lKpmU5I/OVy39sOhdeGyYf0suYkS0Ue6DJsI6+dv3xckzP+U6krHKLu 9p9k+m+Kb7qpp7fsHoJlm44XJwZUYQyB39ro+oEAcVtQlgU1+9KAoYILmgEILWRZX9l/pVqGo7Aed LDK/Bu/cmVYka43r0xIP3dQmeYFnaB9JjN2ZbaDLwdcLiMe5noFNQIKNRIWN8DuY0jU9qrD3pg+JH ttVC4zJ2ItZsB4jVT1IjCcl1Z2A0nDNZQfejVaOUL11MwZGEfPm/l8svjkPGsQPC4msdJIudms1Mb mDC71q8mKKyXJa4nAf3A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rTNLH-00000004NCK-2Pim; Fri, 26 Jan 2024 14:38:03 +0000 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rTNL2-00000004Mzg-0UDv; Fri, 26 Jan 2024 14:37:49 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id F15CA4000C; Fri, 26 Jan 2024 14:37:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706279866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tZJ+2FIjmJ3bZ38rbdAVVTffmaC+WvVgUK7GwRKTE04=; b=UpAgNFun0NVNnY8k9eOqBgvyd6OtEWrfn5hfbdJb2qghuKCU3lVrcVGffgLMqHcaoxFviT pTB1e8YU8XTPwd+W2XZD+RUiodvkRevqbKPCk8pAvEBeHmF6HaEvTfhvub2s3Kbn4Bcdtf 2p5ppt4VTXli4/hl0EtBoYu7wcoP8i+4mZMeC1kawKLhTFwjx3Aco3xV6GwgSUKN9BPGD2 2KiZAq5m5s1Ng8xEyE2NhWoxf3oyc6Ns5GFn+gClI8BpgUTB5xhVZquAI1fVWPmIH5bOZJ oj0upQRBh/YBaMDou6cDcjCbj+IPpvU9i7NZ5GJ+i5XhNhGpiF4hhnePELNHbA== From: Thomas Richard Date: Fri, 26 Jan 2024 15:36:47 +0100 Subject: [PATCH v2 05/15] mux: mmio: add resume support MIME-Version: 1.0 Message-Id: <20240102-j7200-pcie-s2r-v2-5-8e4f7d228ec2@bootlin.com> References: <20240102-j7200-pcie-s2r-v2-0-8e4f7d228ec2@bootlin.com> In-Reply-To: <20240102-j7200-pcie-s2r-v2-0-8e4f7d228ec2@bootlin.com> To: Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Tony Lindgren , Haojian Zhuang , Vignesh R , Aaro Koskinen , Janusz Krzysztofik , Andi Shyti , Peter Rosin , Vinod Koul , Kishon Vijay Abraham I , Philipp Zabel , Tom Joseph , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Rob Herring , Bjorn Helgaas Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-i2c@vger.kernel.org, linux-phy@lists.infradead.org, linux-pci@vger.kernel.org, gregory.clement@bootlin.com, theo.lebrun@bootlin.com, thomas.petazzoni@bootlin.com, u-kumar1@ti.com, Thomas Richard X-Mailer: b4 0.12.0 X-GND-Sasl: thomas.richard@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240126_063748_355634_09A0A15E X-CRM114-Status: GOOD ( 11.44 ) 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 From: Théo Lebrun No need to save something during the suspend stage, as the mux core has an internal cache to store the state of muxes. This cache is used by mux_chip_resume to restore all muxes. Signed-off-by: Théo Lebrun Signed-off-by: Thomas Richard --- drivers/mux/mmio.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c index fd1d121a584b..892ff4714b68 100644 --- a/drivers/mux/mmio.c +++ b/drivers/mux/mmio.c @@ -125,13 +125,25 @@ static int mux_mmio_probe(struct platform_device *pdev) mux_chip->ops = &mux_mmio_ops; + dev_set_drvdata(dev, mux_chip); + return devm_mux_chip_register(dev, mux_chip); } +static int mux_mmio_resume_noirq(struct device *dev) +{ + struct mux_chip *mux_chip = dev_get_drvdata(dev); + + return mux_chip_resume(mux_chip); +} + +static DEFINE_NOIRQ_DEV_PM_OPS(mux_mmio_pm_ops, NULL, mux_mmio_resume_noirq); + static struct platform_driver mux_mmio_driver = { .driver = { .name = "mmio-mux", .of_match_table = mux_mmio_dt_ids, + .pm = pm_sleep_ptr(&mux_mmio_pm_ops), }, .probe = mux_mmio_probe, };