From mboxrd@z Thu Jan 1 00:00:00 1970 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 8C61AEB64D9 for ; Mon, 10 Jul 2023 14:43:33 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject: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=Lio148Cu9wwql5fBMmUXFScLB+ARnQA9ku8Wx4iwr+4=; b=ZSsEj3+XXUujiB QumTvh93Byatqwg9QJQZY/sOu0Yw10vq53DdFqJJu4qaYGfrkXHGhqK3l+GEN6Ng694qMIA3kaOmf Gx+b3AWKokYR5E6pZ2TRxTnexkGZJDLR0YvhYoeQ7pQzvJYkp3c2kpfwh84AfYJykhgT/7YaBj1B9 ygjVK2lWmRo44ij8Vy5Ld8PKe0S5i2tUkL89Z03DR1+ta0fI6XVfjaLqH8sp1euEbeeoAppcaHQJ8 dloiu6Gjn8MrHyri4T32oDC5pIBBmJqAL2ILwww3I2JjqcRl/6j3nYCrWZyMtqAt+zaJ0297kblmg 2k3Q9EPllTUJ2U9jaIQw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qIs6N-00Bukl-1b; Mon, 10 Jul 2023 14:42:59 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qIs6K-00Buj9-2T for linux-arm-kernel@lists.infradead.org; Mon, 10 Jul 2023 14:42:57 +0000 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-666683eb028so2326451b3a.0 for ; Mon, 10 Jul 2023 07:42:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689000173; x=1691592173; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=jx0rTJY91xvaQO/TKwPm2MfB02bi+/9KtpDn9uAHcho=; b=BaX/TdJNkMOeu71/s1YnZl7NwNOjCRvo/4yDAbgbPpEqviYNVfvMk6VuLHEC4EuFjB SJw9EVS4/0cLperDC3szvFsoapqJuJLBUi1TKwyvummRI5t7m3tXizVHwwP8+bedr9mx Jvm+dgvw52gegqiDU8TUF2p0f2VWzy9bqefYnxHUMNkuW1vV5oOTKFsb6x9Mm1HVXH2J DfStSFh/OdJbAsZQGFqLZYwq0+55wnwy6UXvra6Pbel5Fljub/LosbTJ9agvGuKWX/l8 bsVvSMxUjKPtAHYLZ9ngawpJN+ZIQnhy0fpxYelJskX5Sy3yizFLAgPZS7CWHlpgmptU q6Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689000173; x=1691592173; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jx0rTJY91xvaQO/TKwPm2MfB02bi+/9KtpDn9uAHcho=; b=DGu96WF7En8wSdxvqp/f92gWubGE3WUy/oB34MtigZdOsmM166DAH4MtJDfG/UKRi2 EOLq9XqF3fClNxmX2wfxfipYrSc+S9mNg/DTS0IAjxjFbJGUhWIr0LozJpJGzJStFZZC 3q2L8Px4act96MzGuxljDqjcFAvz46pvVzDHBoEVS2auTchW5niyXmVnqotjDk99PAlC MxR0PnDSLjrT6D42otyG7Oh6aY7K8dg67Ba8Z0fEfNxK6JVWhvp9tQNtbHqFKPPIw7Wg MqnlF3cYS84KQOYSoN+9AuPLBaLYTBXGixM9nh+fgfZGWcS+B+LNKIjqHk62Vp9KoDU6 /owA== X-Gm-Message-State: ABy/qLagnYo88M09liELlM1X/xCwl/9vsVqZEHmC7obzGQbiyEQ5oHQ1 LfbK+TiyFGI6j40m7GwfXXM= X-Google-Smtp-Source: APBJJlG4ILjGGQTzQYCI6CAHyAwtuAbhfIFLmm3ZoCnt2osr6fteqliUBcyIAYRfWTW3HZoYDOJtig== X-Received: by 2002:a05:6a20:186:b0:131:f504:a631 with SMTP id 6-20020a056a20018600b00131f504a631mr776129pzy.51.1689000173423; Mon, 10 Jul 2023 07:42:53 -0700 (PDT) Received: from localhost.localdomain ([113.66.181.235]) by smtp.gmail.com with ESMTPSA id jh5-20020a170903328500b001b53be3d942sm8415122plb.232.2023.07.10.07.42.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Jul 2023 07:42:53 -0700 (PDT) From: Guiting Shen To: claudiu.beznea@microchip.com Subject: [PATCH] pwm: atmel: enable clk when pwm already enabled in bootloader Date: Mon, 10 Jul 2023 22:42:14 +0800 Message-Id: <20230710144214.63343-1-aarongt.shen@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230710_074256_813604_CAFAD1E3 X-CRM114-Status: GOOD ( 16.31 ) 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: , Cc: linux-pwm@vger.kernel.org, alexandre.belloni@bootlin.com, Guiting Shen , linux-kernel@vger.kernel.org, thierry.reding@gmail.com, u.kleine-koenig@pengutronix.de, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The driver would never call clk_eanble() if the pwm channel already enable in bootloader which lead to dump the warning message of "the pwm clk already disabled" when poweroff the pwm channel. Add atmel_pwm_enanle_clk_if_on() in probe function to enable clk if the pwm channel already enabled in bootloader. Signed-off-by: Guiting Shen --- drivers/pwm/pwm-atmel.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c index cdbc23649032..385f12eb604c 100644 --- a/drivers/pwm/pwm-atmel.c +++ b/drivers/pwm/pwm-atmel.c @@ -464,6 +464,29 @@ static const struct of_device_id atmel_pwm_dt_ids[] = { }; MODULE_DEVICE_TABLE(of, atmel_pwm_dt_ids); +static int atmel_pwm_enable_clk_if_on(struct atmel_pwm_chip *atmel_pwm) +{ + u32 sr, i; + int err; + + sr = atmel_pwm_readl(atmel_pwm, PWM_SR); + if (!sr) + return 0; + + for (i = 0; i < atmel_pwm->chip.npwm; i++) { + if (!(sr & (1 << i))) + continue; + + err = clk_enable(atmel_pwm->clk); + if (err) { + dev_err(atmel_pwm->chip.dev, "enable clock error\n"); + return err; + } + } + + return 0; +} + static int atmel_pwm_probe(struct platform_device *pdev) { struct atmel_pwm_chip *atmel_pwm; @@ -504,6 +527,10 @@ static int atmel_pwm_probe(struct platform_device *pdev) platform_set_drvdata(pdev, atmel_pwm); + ret = atmel_pwm_enable_clk_if_on(atmel_pwm); + if (ret < 0) + goto unprepare_clk; + return ret; unprepare_clk: -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel