Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3839142pxv; Mon, 19 Jul 2021 09:59:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJys8lwBhmPJ7qNaKt+U+Jf6M3q8o9oXh4JzVn7+0BCB9CKwUnNF0Pz+UdOG4oA2ALpPU+FX X-Received: by 2002:a5e:d707:: with SMTP id v7mr5046961iom.46.1626713949796; Mon, 19 Jul 2021 09:59:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626713949; cv=none; d=google.com; s=arc-20160816; b=kyvOxKrZSBiSr7qcfPmZbTDsoviw4/JhvF90I4P/eKwIESwPXJ6T6Qmqz8IcYkOowl cMBGBB5upxtn8MdnNdepbiqeG8YFAvprvVc6WpkI0sKdD6wFojR5c5XMY5gMLhICVLxY Q7YkgQk89b4t5gjPgP1jIriI04mx7q/kFoCC/el2TGYMnAarSFcq+0rZ541nCEL4Sj1X FvrkTmX0SAkjY0u7O/iScciEKBkvAUAitjMk4y/4R2nLDKRaS87j3ivLNKPkg+toiRyk DvFW1uZqZ/ZL7UyrcCCZ1vaMhL0wkTZSRcpEmHqb2WbcVNYt8cr8z+8zfFqZ0BnnLphN gjXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tmtWG2+m/9oo9KNx62f5SHEZjvHPfpzGWKGAFJEFUEE=; b=00y55cTUKnw4XwHQpNTrir3ot4bdv3PynXQ0c/nVzFlch6U+K61Xoi+IqhCIgBtpFF g2BvkP2uwWeKq0lV+pwgB7hJ4ysdLztn27cYvmexBsf/Tigj7eIQQ1AlwnnsKtyuYI/y zdZxaccGA+pQxmkceTf2ULZs/KJsOLvw1fA0590otP5sUUjImMKYros5WMBXs8vEC7wk nGLNuKLb2nPyK1nbkS8jEU0YcGbyuP6bkC2AsxovuUm2oiAWm5fDUioRbXNUoQG09P9r vBLvCq0Z95zrQQkrW+t+lLI+KVBtGyCEEDYN5Ngp2wRp3X3MsjFfGGFt2B82KktJaquS 84yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KGLdhMbM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p20si10686032ioo.40.2021.07.19.09.58.57; Mon, 19 Jul 2021 09:59:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KGLdhMbM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352884AbhGSQPX (ORCPT + 99 others); Mon, 19 Jul 2021 12:15:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:40612 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345833AbhGSPJk (ORCPT ); Mon, 19 Jul 2021 11:09:40 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id DFD80610D2; Mon, 19 Jul 2021 15:49:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626709771; bh=7K9eVUMY1pQAF+2qstCDKAH0TI5uw0X4L1n6GzI9Y7E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KGLdhMbMDaf5amFD90EmDTKEL7wvI8n9tRECF7eQaN7RDCEA1CZrZ6HBCGRxzFxZs jXLvSkBkezpwMh/6sBUxZ1Hf+DwzM7bfpUiKX+a4ectiOf+npGrXyQUNTB5SsdvUgX bNJclwpcNafNdMqUyTrPy67Leg887JxY2Ee7w9Ik= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Thierry Reding , Sasha Levin Subject: [PATCH 5.4 090/149] pwm: tegra: Dont modify HW state in .remove callback Date: Mon, 19 Jul 2021 16:53:18 +0200 Message-Id: <20210719144922.719547625@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144901.370365147@linuxfoundation.org> References: <20210719144901.370365147@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Uwe Kleine-König [ Upstream commit 86f7fa71cd830d18d7ebcaf719dffd5ddfe1acdd ] A consumer is expected to disable a PWM before calling pwm_put(). And if they didn't there is hopefully a good reason (or the consumer needs fixing). Also if disabling an enabled PWM was the right thing to do, this should better be done in the framework instead of in each low level driver. So drop the hardware modification from the .remove() callback. Signed-off-by: Uwe Kleine-König Signed-off-by: Thierry Reding Signed-off-by: Sasha Levin --- drivers/pwm/pwm-tegra.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c index aa12fb3ed92e..3d55e30a6866 100644 --- a/drivers/pwm/pwm-tegra.c +++ b/drivers/pwm/pwm-tegra.c @@ -232,7 +232,6 @@ static int tegra_pwm_probe(struct platform_device *pdev) static int tegra_pwm_remove(struct platform_device *pdev) { struct tegra_pwm_chip *pc = platform_get_drvdata(pdev); - unsigned int i; int err; if (WARN_ON(!pc)) @@ -242,18 +241,6 @@ static int tegra_pwm_remove(struct platform_device *pdev) if (err < 0) return err; - for (i = 0; i < pc->chip.npwm; i++) { - struct pwm_device *pwm = &pc->chip.pwms[i]; - - if (!pwm_is_enabled(pwm)) - if (clk_prepare_enable(pc->clk) < 0) - continue; - - pwm_writel(pc, i, 0); - - clk_disable_unprepare(pc->clk); - } - reset_control_assert(pc->rst); clk_disable_unprepare(pc->clk); -- 2.30.2