From patchwork Thu Jan 18 12:08:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 124938 Delivered-To: patch@linaro.org Received: by 10.46.64.27 with SMTP id n27csp98758lja; Thu, 18 Jan 2018 04:08:41 -0800 (PST) X-Google-Smtp-Source: ACJfBouXOrNNp611YL4ANsiIlnpR8hEf8z9i0NqUBVAoUcyiWAR03PHV9zF6RtG1QlIQZaqde8fq X-Received: by 10.98.72.19 with SMTP id v19mr17664351pfa.107.1516277321758; Thu, 18 Jan 2018 04:08:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516277321; cv=none; d=google.com; s=arc-20160816; b=Bkp9KAxzkz1B/toEoT6n28+1XoXy71hvmQMBWbh0rITBrGx+yzjTAJBUf12e1HslN1 IMWU5RufsDOptPyVLLWPiHczlxO1aR08YwuQ0m10933AhAlhc5MIo+2K7HQpQwsKqQNr 8O7Tz96zr53UUq6yzf6CRfFDv+DrAGHlL7h5pAA9EZ10VeJaNoz9ch3Etp73VSCvmQvg EpsUxKx/G7lPu6rjmc5KoK81SS6trkmPWzJMwT7LbSyq1iJv4nn4eEIefIpUGBkpheil nOZVkc5Pq5RK2OvZNJCoNs0B/YpBBNH5bzHTMI6FUiLWoeRpFnxE8PPWnMlhQcQKSWsx hYew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=f3V9y0UgMfN3QUDh7mrdViWP0A3MA+9p3SfomWWZ3eM=; b=YhYmpAGlQiT/cStsOe22niE1q2p7biZ4FvqleejnLnENkML1A3lRL+sbOaxPTR8Hvb Wp6KaKOS6ta/jSffH9GCzHh3GWY0aSifBsyxZOHVSLDHsiSqfneCzF+rwnr5QEheZois lJ0ThVuLhn6AT6oG52uhD+t4hv1xonLy/14+79ywLU+nxE10SEzBoI3SDavTudGfkT4C PXbCTagaOba2353BfjfK4UcYZOZifTMtNBH/gQ2nc5aBi6CTYpVkH+97wrDtWK99Ob8q 8GNpoPtN40Z2Ru6XGQ/zRVs2UWX3kCc6NnKAVBQ9G/55lhNxAxIHqKWp0fA2V4ISfTq4 Ho1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=WNIYNdcW; 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 o12si5726252pgn.121.2018.01.18.04.08.41; Thu, 18 Jan 2018 04:08:41 -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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=WNIYNdcW; 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 S1755570AbeARMIk (ORCPT + 28 others); Thu, 18 Jan 2018 07:08:40 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:39186 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755294AbeARMIh (ORCPT ); Thu, 18 Jan 2018 07:08:37 -0500 Received: by mail-wr0-f196.google.com with SMTP id z48so22291023wrz.6 for ; Thu, 18 Jan 2018 04:08:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=f3V9y0UgMfN3QUDh7mrdViWP0A3MA+9p3SfomWWZ3eM=; b=WNIYNdcW6ahdd10vE463Te6j9h0cmP3J0u8ZgioBhrnriV8yPdQOY1G8oeYphKm561 iyhQrN2V+EvWMZCn2DvpCY06Nj8NmdUT6px53Gg1wWguedzCQCx+xC+R7vTojUPCmcxY MK70JIWQHu6cZMLypjM+W5DWg2i9Bg3n0bFx2LVzCpFPtFLJY7WmJRlYJUScSqykUYn0 H8jPhVUlxRaTvP5nAvecO6Y16M4No27iTIeq5Wam1QZjsmeefnCfpYCGSPV0j/NCeFp6 1a1jwg9I5m8GA5AciXrHPZEvS74EHGv8WabF5uJREmOsLOGHR/Qv+kjZtb6TQdAWxDtv L/5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=f3V9y0UgMfN3QUDh7mrdViWP0A3MA+9p3SfomWWZ3eM=; b=YlvfKBqqrWDl+27quJd30s5ZTt10j6DUNzt0QZXlAiSU+V9x6Frt2mw4a02LPDjZJY +yhKQYE7RDSrjn/+8Hj0sfD7QHdgidTxPDTwWgdV9jhp0d/ecM+tqdDBUbewdLAzDCQo BzhNSA+QP5VB5Vm6HMPv8Y8CfOZghRUhRga9oqxe4h5W4UBxHwr901svXUBNWx06i1Dl IQggjfs6QHYYSb374mAk9xKvi+9JjO+3QmZA2CBqYut/9hNIs9Eh2yiJ/ETAB25CqKa8 hOd/lSrYGgqYAVI0PY40Tq0UZtvioTpmjHVp/mxMEkqH2Bb6LecYDsqGOGdmOQnHAibp frBw== X-Gm-Message-State: AKwxytewW09/IZBgHkbRPZzAvZs2ARAYi55YewKpqc4IiqsqKqxlunjZ Ye6dDhv2pCzjpEovp6nFoVysJw== X-Received: by 10.223.152.103 with SMTP id v94mr6143538wrb.233.1516277315983; Thu, 18 Jan 2018 04:08:35 -0800 (PST) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id b8sm3341948wma.2.2018.01.18.04.08.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Jan 2018 04:08:35 -0800 (PST) From: Jerome Brunet To: Neil Armstrong Cc: Jerome Brunet , Kevin Hilman , Carlo Caione , Michael Turquette , Stephen Boyd , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] clk: meson: use devm_of_clk_add_hw_provider Date: Thu, 18 Jan 2018 13:08:31 +0100 Message-Id: <20180118120831.8349-3-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180118120831.8349-1-jbrunet@baylibre.com> References: <20180118120831.8349-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is no remove callbacks in meson's clock controllers and of_clk_del_provider is never called if of_clk_add_hw_provider has been executed, introducing a potential memory leak. Fixing this by the using the devm variant. In reality, the leak would never happen since these controllers are never unloaded once in use ... still, this is worth cleaning. Signed-off-by: Jerome Brunet --- drivers/clk/meson/axg.c | 4 ++-- drivers/clk/meson/gxbb.c | 5 +++-- drivers/clk/meson/meson8b.c | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) -- 2.14.3 Acked-by: Neil Armstrong diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c index 87aba8e871a0..02f4401d7bc3 100644 --- a/drivers/clk/meson/axg.c +++ b/drivers/clk/meson/axg.c @@ -923,8 +923,8 @@ static int axg_clkc_probe(struct platform_device *pdev) } } - return of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get, - clkc_data->hw_onecell_data); + return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, + clkc_data->hw_onecell_data); } static struct platform_driver axg_driver = { diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c index ba1023983d79..472a3cfbfbc5 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -2028,8 +2028,9 @@ static int gxbb_clkc_probe(struct platform_device *pdev) goto iounmap; } - return of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get, - clkc_data->hw_onecell_data); + + return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, + clkc_data->hw_onecell_data); iounmap: iounmap(clk_base); diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c index 3ffea80c1308..abac079ff77f 100644 --- a/drivers/clk/meson/meson8b.c +++ b/drivers/clk/meson/meson8b.c @@ -878,8 +878,8 @@ static int meson8b_clkc_probe(struct platform_device *pdev) return ret; } - return of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get, - &meson8b_hw_onecell_data); + return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, + &meson8b_hw_onecell_data); } static const struct of_device_id meson8b_clkc_match_table[] = {