Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp753107ybl; Wed, 4 Dec 2019 10:16:32 -0800 (PST) X-Google-Smtp-Source: APXvYqxFI2FIsc5wvW77Zi/Nb+9XQw5jaeceyGL4J4YgOWZYZIs9fPHx7HATnmD45wdqspO41asQ X-Received: by 2002:a05:6830:145:: with SMTP id j5mr3455042otp.242.1575483392578; Wed, 04 Dec 2019 10:16:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575483392; cv=none; d=google.com; s=arc-20160816; b=apioF9rm66bLH9PZpJV0GF1b8vEgFNFgOIZbMcLOAaJ4FxilCQhPNIpEd+xM7bDODh D4Co2thepn+GEaEjYJspe2yJZan7P2Mk0UGnDdYcKRv7dQVQb2fFbHXoSYOtpOKikqd6 VSKon0Fk5BNNWMpWwQg/Dx2akkKL2emwMjhKDkAMvFcoANcgNrk4OGY6LvfC9Qkc1/iJ jcZjyyRVPBqD2Zd1aPWiqVhBDQrTs3Wam4gkMJ05sBj1tsr4lVPOWF1AhemSGvkbvMHV mny3FEhg5BVaXKGOoleXTBdtST8cqdwGlMHIJoNEU23Zb7ozJMccZo06AQBg4VwhwooT uqvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vhYVbCt5+tgP83AnAObVrj5Yl/QyH+z6yvGqDhb3fcY=; b=PBpfw/Ezi5kwj+r7aQberLFuP1ELC46qRZc5v6/0WCgwgdlulG/++MPwEOqqimAi0r 2lbM8kqExYO4SkGVU3qtEeFKNKqBlWfjsIGaY0kzzoFW+VFJ6qXQHEdCqUHlzb73I1Qw mLE8Q7wSleYpjMimNNBw85+2whee/Jk7QIEWkFM0kfbb9bC/C8BF4Yxqdj+CbNwe7zSa 4Z0QasowzvrSLG0llBJtxEZd6PDy2rn+Rr5fQEMriRmW/PsSNFT3Xsj1FnURw5MVE52N O3LdEiF+6g6YeBCGgCBAX3jHNqkOE7yVpE6zKR1ZGunq1JUtRxBsnRqiAUX0+xQ6lkwl LLmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JwC01kGn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k77si3621501oih.103.2019.12.04.10.16.20; Wed, 04 Dec 2019 10:16:32 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JwC01kGn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729352AbfLDSOP (ORCPT + 99 others); Wed, 4 Dec 2019 13:14:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:43476 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731436AbfLDSOJ (ORCPT ); Wed, 4 Dec 2019 13:14:09 -0500 Received: from localhost (unknown [217.68.49.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 507172084B; Wed, 4 Dec 2019 18:14:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575483248; bh=RyH6x5tps500GEhi3m6/ykodFWf390gC8VJsTd+Pcwc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JwC01kGnsjtJJp82iUN5+pqxj36vcSwUuZSUbbVYuLY+skbH5v9Cj/OtqgG1pCT0B VWNkjcLhgdVts2MiUTN074+CCbipa21mFKhIUpxeiyRO5u3lXzmUbg3Hc8OlaR/Hm8 9kzgZ8qN9Wx7xqBiz/gBxqUbu/Kb0Ms4TsOidHqE= 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 , Lee Jones Subject: [PATCH 4.9 112/125] pwm: Clear chip_data in pwm_put() Date: Wed, 4 Dec 2019 18:56:57 +0100 Message-Id: <20191204175325.926764879@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191204175308.377746305@linuxfoundation.org> References: <20191204175308.377746305@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Uwe Kleine-König commit e926b12c611c2095c7976e2ed31753ad6eb5ff1a upstream. After a PWM is disposed by its user the per chip data becomes invalid. Clear the data in common code instead of the device drivers to get consistent behaviour. Before this patch only three of nine drivers cleaned up here. Signed-off-by: Uwe Kleine-König Signed-off-by: Thierry Reding Signed-off-by: Lee Jones Signed-off-by: Greg Kroah-Hartman --- drivers/pwm/core.c | 1 + drivers/pwm/pwm-berlin.c | 1 - drivers/pwm/pwm-samsung.c | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -858,6 +858,7 @@ void pwm_put(struct pwm_device *pwm) if (pwm->chip->ops->free) pwm->chip->ops->free(pwm->chip, pwm); + pwm_set_chip_data(pwm, NULL); pwm->label = NULL; module_put(pwm->chip->ops->owner); --- a/drivers/pwm/pwm-berlin.c +++ b/drivers/pwm/pwm-berlin.c @@ -78,7 +78,6 @@ static void berlin_pwm_free(struct pwm_c { struct berlin_pwm_channel *channel = pwm_get_chip_data(pwm); - pwm_set_chip_data(pwm, NULL); kfree(channel); } --- a/drivers/pwm/pwm-samsung.c +++ b/drivers/pwm/pwm-samsung.c @@ -235,7 +235,6 @@ static int pwm_samsung_request(struct pw static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm) { devm_kfree(chip->dev, pwm_get_chip_data(pwm)); - pwm_set_chip_data(pwm, NULL); } static int pwm_samsung_enable(struct pwm_chip *chip, struct pwm_device *pwm)