Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp744887ybl; Wed, 4 Dec 2019 10:09:13 -0800 (PST) X-Google-Smtp-Source: APXvYqylM1NwSF1dBpxn0GvpgIRO4E5IMS+5+OVd8JcgHfrep4zsfY7yw8xV4vW96/d7SneHx4mj X-Received: by 2002:a9d:7ccc:: with SMTP id r12mr3694261otn.22.1575482953234; Wed, 04 Dec 2019 10:09:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575482953; cv=none; d=google.com; s=arc-20160816; b=rLzzIXK9sAPuQqNFP/Dkpdx9J2CGrz3zu1szUzIkVSUv3h9fODKurUWgONYGTE/aCt IQBERBu0VBmTmDTn6HftD8hMAF7QXv40aR1TNrqWcE/fRf2FKVQZpYGGHF6BSlnl30MN 7VXc9qB747XC6G4bD4wMb337drn79QwTZgy5A7rM2mPcaii24Kz3NWi/B/Z4h8eNnsKC oiahcHZ+7OjPlkTgTQh9txjDBx7EEfLDxH3PjeBiVL6IJFG0twrJiXNul2EOFTlk1L0q GmtIzqpcrk0n2f/AT0H/jOkVZwY8VbuC7Zss93w6yo8jQEUiYo7WX3k3hRXE964S3QIo O7rQ== 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=srPL6nAKx1xiCqaLsbUGAgHaX4B2F2GJ6hF+QTnpHrM=; b=DKR4nm9SWl+77WdaMaxUegen6wDdhDfDpQ7vN2wsupTxXeQh63MtrlW0KGGbandAyF ryLDzmpB4JVfCjCgSp4YqnoyIrmQmb4lnji/xaK3AB/SNP4cuKu94pZtszVSzCOFA4n+ 4QwN9U2wmMU2BBsiJRCoXArrQNcgLu8xqWCc0xAfxoNEPq+SiM4IQ3efIFwoVyY9K8hi +JNnQBX9vLGWNV2kMEHFRPum0gQbowSmNmcZL6dSOSsJFVrcW22qjSJdh04Gwj6sycPv iXplf00y7h2i2K74x1QgwZzh7b9IZ0GAgEuH72osvHcVKBwBbM5NYKext0jY6TkMPZUV p5vA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=mS6+s8p5; 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 j24si3549588oij.157.2019.12.04.10.09.01; Wed, 04 Dec 2019 10:09:13 -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=mS6+s8p5; 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 S1730817AbfLDSHu (ORCPT + 99 others); Wed, 4 Dec 2019 13:07:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:58390 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730233AbfLDSHr (ORCPT ); Wed, 4 Dec 2019 13:07:47 -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 52CCF20675; Wed, 4 Dec 2019 18:07:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575482866; bh=Nyk+2Is+5yTrW7bgCbDpJPRVHk3eBtaas59ZWBHLOfs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mS6+s8p5eIYAkJNqwkWGJTVvN6+IIG0dl1mQY1Dl7L1iF3T+PEAun63wz8vwyt24G wXgOnzFcAwPhILN8yQyFH8Wyv3rtITKfwGYaO4IgvRZxxzjhKzD+gveCBdbOpC2gnx nM4CaydaNyW/PvzpscFBx7iDTYl5wtIOq1Nx9F34= 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.14 166/209] pwm: Clear chip_data in pwm_put() Date: Wed, 4 Dec 2019 18:56:18 +0100 Message-Id: <20191204175334.909576588@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191204175321.609072813@linuxfoundation.org> References: <20191204175321.609072813@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-pca9685.c | 1 - drivers/pwm/pwm-samsung.c | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -874,6 +874,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-pca9685.c +++ b/drivers/pwm/pwm-pca9685.c @@ -176,7 +176,6 @@ static void pca9685_pwm_gpio_free(struct pm_runtime_put(pca->chip.dev); mutex_lock(&pca->lock); pwm = &pca->chip.pwms[offset]; - pwm_set_chip_data(pwm, NULL); mutex_unlock(&pca->lock); } --- a/drivers/pwm/pwm-samsung.c +++ b/drivers/pwm/pwm-samsung.c @@ -238,7 +238,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)