From patchwork Mon Oct 9 20:42:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 150320 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp2110839vqo; Mon, 9 Oct 2023 13:42:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGMC9ixXcDTJ32TVJBZnCs+uAaEVkKR+/z22Fjy8c072KRS40ibNv/t6WGB5EVmqwmPXZN/ X-Received: by 2002:a17:902:7682:b0:1c7:249f:5e33 with SMTP id m2-20020a170902768200b001c7249f5e33mr13497837pll.46.1696884176557; Mon, 09 Oct 2023 13:42:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696884176; cv=none; d=google.com; s=arc-20160816; b=tV6EqbFu0gg7aCCowIFNgyVC/rGHezc8eq4ohp21FILE7/Yhr8KPRg3AePV4LYgjr7 Ozp3aClct+pqRLlAcCQMmbQTzX2KxQUyijdL8DJt/mwiQGybGdvyLZ3zf2dZF73zNROw o7g8k2VUT6mwcWXmbs+FIFnJr24S9wLl9ZWQCSKn5pliJf/ZXqV/Tw6Sn69Zszdj6+Wn MErWTAEby7gE8U2TNIF0yzYsgUydSoImBQ81JHq7gUVR+PqJMzPSu0yFqCl6bQee9B5N 1n4YEG2vMACDTw8YaNYK9+3Gzy9dTIEDOCICjxVWQFhJyzHRKLso81SMBYyDEYu7L7NI PAtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=0p2br/gKqKaIyFlsV0+Ufujmkud66w1YOelpc3U/uCs=; fh=sdCqj7p574VZmFfNaDK4rn/zX3yinVvogsXhMTZMVNw=; b=tU7sfTgjQFLil1pHvryUaTIzRTvbTGaCpOkSvbh+ay4zcKtjLHdDl/puRfNuoCbaPE EeRB6EcQc9FsY6zy2hlIdHJpYPcYKgJ8gF5d1KMM5N1eXhAJXb+M5nyu5UFZ0Utn4Oeh u3o1h/W5BfgpbSGQM1eSFw42yzeeSjj9Y5OZNkRKrtMUv3tMJvSUaPBSAc1yq7yCMzwe WDKGjwMQcte8Xz5oqFmVBJ/a+XVy4FMoM3d8Iw4t4wb6W/pJC97WEYe/rndtBGdChEaU 8uytHV3yKr/qARggeWL12+Eui3BGPIL11D/uMYfkLEAKxwkE5XZ1pP2/LGUJu3T5YQqs xuuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=Wxc6kgIb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id f3-20020a170902ce8300b001b80ecdcb88si3571015plg.473.2023.10.09.13.42.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 13:42:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=Wxc6kgIb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 2BE85804C565; Mon, 9 Oct 2023 13:42:54 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378005AbjJIUmg (ORCPT + 19 others); Mon, 9 Oct 2023 16:42:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377989AbjJIUmf (ORCPT ); Mon, 9 Oct 2023 16:42:35 -0400 Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35987A6 for ; Mon, 9 Oct 2023 13:42:33 -0700 (PDT) Received: by mail-qt1-x82d.google.com with SMTP id d75a77b69052e-4181e268447so32748631cf.1 for ; Mon, 09 Oct 2023 13:42:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1696884152; x=1697488952; darn=vger.kernel.org; h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=0p2br/gKqKaIyFlsV0+Ufujmkud66w1YOelpc3U/uCs=; b=Wxc6kgIbOKvBERcpiPh581goGy56tVAORXXRgRz8NokpYl9YyCZvFYTuBhDtGSfSg+ ZezLhIPe+qCKs2zFa7P6CVwBStUnSOJRtJwupQWBr0maHZqbN5e1RM/E31ITPBFv1f6N J8E0ExKdQRj2cyF3ilXsL+2uvyxsidNtyILpw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696884152; x=1697488952; h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=0p2br/gKqKaIyFlsV0+Ufujmkud66w1YOelpc3U/uCs=; b=Fu4c6VuI8iCKlGpBYorXvj35PjnHuibvUS+wfkd9wmFPO1NvplQep8uxlnLFh+uZl8 D6ommGS6vWLjYSN4Pz9vp/bOo7dYwt2++XvidUVi1kuwfwX6DTqb39q3cA6HeF5dSZ6M vGVG0xbGuUsQmpLTBxNc73wo4NR09HwAoz6nGBiJ+SvxwoQmoHhhMa+ZBxTVkD0sdZOB smZGLMnirEMKc0cyHnW5xUAGnY7UfYBQWEJ0HJkPHaLEEgsP34fQHKroHQhocE0QJrEo F/5SKwHtCnmjF5T4UKPKHy3/1iKrwOqcO8743uWgfm5JRMZ24Z6sd8suG+EShSOOuTLq OhMw== X-Gm-Message-State: AOJu0Yx9t4EHz0EqiuUcacqqwUGK0+Osv+cSPoWhBYug2d4JA/s4zKgp kqE1Vsg9Ap+nmZTypidwTX985w== X-Received: by 2002:ac8:5b49:0:b0:418:bd5:f682 with SMTP id n9-20020ac85b49000000b004180bd5f682mr24003565qtw.33.1696884152308; Mon, 09 Oct 2023 13:42:32 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id w7-20020ac84d07000000b0040399fb5ef3sm3973703qtv.0.2023.10.09.13.42.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 13:42:31 -0700 (PDT) From: Florian Fainelli To: linux-pwm@vger.kernel.org Cc: Florian Fainelli , Angus Clark , Thierry Reding , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Broadcom internal kernel review list , Ray Jui , Scott Branden , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2] pwm: bcm2835: Add support for suspend/resume Date: Mon, 9 Oct 2023 13:42:26 -0700 Message-Id: <20231009204226.3224521-1-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=3.7 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MIME_NO_TEXT,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Mon, 09 Oct 2023 13:42:54 -0700 (PDT) X-Spam-Level: *** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779312022523103671 X-GMAIL-MSGID: 1779312022523103671 Similar to other drivers, we need to make sure that the clock is disabled during suspend and re-enabled during resume. Reported-by: Angus Clark Signed-off-by: Florian Fainelli --- Changes in v2: - use DEFINE_SIMPLE_DEV_PM_OPS as suggested by Uwe drivers/pwm/pwm-bcm2835.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/pwm/pwm-bcm2835.c b/drivers/pwm/pwm-bcm2835.c index bdfc2a5ec0d6..938f993ae746 100644 --- a/drivers/pwm/pwm-bcm2835.c +++ b/drivers/pwm/pwm-bcm2835.c @@ -182,6 +182,25 @@ static void bcm2835_pwm_remove(struct platform_device *pdev) clk_disable_unprepare(pc->clk); } +static int __maybe_unused bcm2835_pwm_suspend(struct device *dev) +{ + struct bcm2835_pwm *pc = dev_get_drvdata(dev); + + clk_disable_unprepare(pc->clk); + + return 0; +} + +static int __maybe_unused bcm2835_pwm_resume(struct device *dev) +{ + struct bcm2835_pwm *pc = dev_get_drvdata(dev); + + return clk_prepare_enable(pc->clk); +} + +static DEFINE_SIMPLE_DEV_PM_OPS(bcm2835_pwm_pm_ops, bcm2835_pwm_suspend, + bcm2835_pwm_resume); + static const struct of_device_id bcm2835_pwm_of_match[] = { { .compatible = "brcm,bcm2835-pwm", }, { /* sentinel */ } @@ -192,6 +211,7 @@ static struct platform_driver bcm2835_pwm_driver = { .driver = { .name = "bcm2835-pwm", .of_match_table = bcm2835_pwm_of_match, + .pm = &bcm2835_pwm_pm_ops, }, .probe = bcm2835_pwm_probe, .remove_new = bcm2835_pwm_remove,