From patchwork Wed Oct 31 08:30:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662153 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E0A4F14E2 for ; Wed, 31 Oct 2018 08:31:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C5C832A317 for ; Wed, 31 Oct 2018 08:31:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B9A812A338; Wed, 31 Oct 2018 08:31:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 299D52A317 for ; Wed, 31 Oct 2018 08:31:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OJPz2cvXfSnSGEjtWBjI/VKxbu7yutwFeXtajeniHbg=; b=HP+S21z+62nRn2 dBe+Hp7dLGQy8h2fkbX08dhxSQm6ty2Z17b3+ZjaK3qm5DXKo9SofLsLWAN8QjO2HYcpqkXi0q8rz 72kUxOhPi0CikUs6bzY3yefvig3sou6ZxTtOEPCsOAfNHV9XJ0zc35GxqipKRq8ryqAQEAnpdswxw zrz8F555Y0dXWgmxqiT41uoz9l10dnyazzIWtaSKjNZLe8ZDK1YnxCbaZJX0oZb74y7+Cr36ymWeu rxj1ADXG1TmGzM364W2Ga5emTtjFJJtGv2z5FDKWVtRAT+Gw8kk4/Itzg4uQrt+ck5s138vIqDxJr /AZX4Ul+PAi7WEUjU6AQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHltz-0006F1-Cr; Wed, 31 Oct 2018 08:30:59 +0000 Received: from mail-lj1-f194.google.com ([209.85.208.194]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHltw-0006DS-G3 for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:30:58 +0000 Received: by mail-lj1-f194.google.com with SMTP id x3-v6so13994084lji.13 for ; Wed, 31 Oct 2018 01:30:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=AUG5Mi3TO2RgHGsx54uAhXA+Wk0PFlYpwXr8Pb2siIs=; b=A2rLX314G14M2/K8barT+vRuZIrPls/3KHpAxig32qymq+ohecmaHqhAup0WvZRFz2 i9iouDeNk2Qk8oGT1hmSMfqeYB/LhkjlBsy8tZqlZMFtqJAyBVyJjJsUGN0uMciDmHrB 1W3bTBIXqd78UuTMWXYdVtmxB8kQF1lu9My5LxmB7YcVnreQwQXPf/e/UElyQSPcBc0Y iz1O2ef+SRl2m0xZnZiTgU/N3SBWQG4KPiOzbf+Oml78bGad8dFBCzS3bBm2/huOZEp3 pgcGK4yQuNSCFA6Ben7+6IJdnkZrcLCXyodxyaQkpa3mcIMa7MrnPlx5AbWcGtnEbYdl JWIg== X-Gm-Message-State: AGRZ1gKz9xsR3juOfiw2ixYFYaCaohDi0WRfiZT5ON2uFLBhBsR2RXnl SiQSIardIeWvN39ZnS75K+g= X-Google-Smtp-Source: AJdET5dTyajRbjrL/bIHFv6pYPz0S5pgk0WEz6dS/bT8vGdldTihgcLK3hyEPA6ma5HhmP3mIaSvbQ== X-Received: by 2002:a2e:7011:: with SMTP id l17-v6mr1463746ljc.147.1540974644407; Wed, 31 Oct 2018 01:30:44 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id t15-v6sm3924793lji.75.2018.10.31.01.30.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:30:43 -0700 (PDT) Date: Wed, 31 Oct 2018 10:30:34 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 1/8] clk: clkdev/of_clk - add managed lookup and provider registrations Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013056_541476_5BCC2637 X-CRM114-Status: GOOD ( 22.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP With MFD devices the clk properties may be contained in MFD (parent) DT node. Current devm_of_clk_add_hw_provider assumes the clk is bound to MFD subdevice not to MFD device (parent). Add devm_of_clk_add_hw_provider_parent to tackle this issue. Also clkdev registration lacks of managed registration functions and it seems few drivers do not drop clkdev lookups at exit. Add devm_clk_hw_register_clkdev and devm_clk_release_clkdev to ease lookup releasing at exit. Signed-off-by: Matti Vaittinen --- Documentation/driver-model/devres.txt | 3 + drivers/clk/clk.c | 28 ++++++-- drivers/clk/clkdev.c | 122 ++++++++++++++++++++++++++-------- include/linux/clk-provider.h | 4 ++ include/linux/clkdev.h | 4 ++ 5 files changed, 129 insertions(+), 32 deletions(-) diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt index 43681ca0837f..fac63760b01c 100644 --- a/Documentation/driver-model/devres.txt +++ b/Documentation/driver-model/devres.txt @@ -238,6 +238,9 @@ CLOCK devm_clk_put() devm_clk_hw_register() devm_of_clk_add_hw_provider() + devm_of_clk_add_parent_hw_provider() + devm_clk_hw_register_clkdev() + devm_clk_release_clkdev() DMA dmaenginem_async_device_register() diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index af011974d4ec..9bb921eb90f6 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3893,12 +3893,12 @@ static void devm_of_clk_release_provider(struct device *dev, void *res) of_clk_del_provider(*(struct device_node **)res); } -int devm_of_clk_add_hw_provider(struct device *dev, +static int __devm_of_clk_add_hw_provider(struct device *dev, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), - void *data) + struct device_node *of_node, void *data) { - struct device_node **ptr, *np; + struct device_node **ptr; int ret; ptr = devres_alloc(devm_of_clk_release_provider, sizeof(*ptr), @@ -3906,10 +3906,9 @@ int devm_of_clk_add_hw_provider(struct device *dev, if (!ptr) return -ENOMEM; - np = dev->of_node; - ret = of_clk_add_hw_provider(np, get, data); + *ptr = of_node; + ret = of_clk_add_hw_provider(of_node, get, data); if (!ret) { - *ptr = np; devres_add(dev, ptr); } else { devres_free(ptr); @@ -3917,8 +3916,25 @@ int devm_of_clk_add_hw_provider(struct device *dev, return ret; } +int devm_of_clk_add_hw_provider(struct device *dev, + struct clk_hw *(*get)(struct of_phandle_args *clkspec, + void *data), + void *data) +{ + return __devm_of_clk_add_hw_provider(dev, get, dev->of_node, data); +} EXPORT_SYMBOL_GPL(devm_of_clk_add_hw_provider); +int devm_of_clk_add_parent_hw_provider(struct device *dev, + struct clk_hw *(*get)(struct of_phandle_args *clkspec, + void *data), + void *data) +{ + return __devm_of_clk_add_hw_provider(dev, get, dev->parent->of_node, + data); +} +EXPORT_SYMBOL_GPL(devm_of_clk_add_parent_hw_provider); + /** * of_clk_del_provider() - Remove a previously registered clock provider * @np: Device node pointer associated with clock provider diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index 9ab3db8b3988..f6100b6e06fd 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c @@ -401,6 +401,25 @@ static struct clk_lookup *__clk_register_clkdev(struct clk_hw *hw, return cl; } +static int do_clk_register_clkdev(struct clk_hw *hw, + struct clk_lookup **cl, const char *con_id, const char *dev_id) +{ + + if (IS_ERR(hw)) + return PTR_ERR(hw); + /* + * Since dev_id can be NULL, and NULL is handled specially, we must + * pass it as either a NULL format string, or with "%s". + */ + if (dev_id) + *cl = __clk_register_clkdev(hw, con_id, "%s", + dev_id); + else + *cl = __clk_register_clkdev(hw, con_id, NULL); + + return *cl ? 0 : -ENOMEM; +} + /** * clk_register_clkdev - register one clock lookup for a struct clk * @clk: struct clk to associate with all clk_lookups @@ -420,20 +439,10 @@ int clk_register_clkdev(struct clk *clk, const char *con_id, { struct clk_lookup *cl; - if (IS_ERR(clk)) - return PTR_ERR(clk); - - /* - * Since dev_id can be NULL, and NULL is handled specially, we must - * pass it as either a NULL format string, or with "%s". - */ - if (dev_id) - cl = __clk_register_clkdev(__clk_get_hw(clk), con_id, "%s", - dev_id); - else - cl = __clk_register_clkdev(__clk_get_hw(clk), con_id, NULL); - - return cl ? 0 : -ENOMEM; + if (!IS_ERR(clk)) + return do_clk_register_clkdev(__clk_get_hw(clk), &cl, con_id, + dev_id); + return PTR_ERR(clk); } EXPORT_SYMBOL(clk_register_clkdev); @@ -456,18 +465,79 @@ int clk_hw_register_clkdev(struct clk_hw *hw, const char *con_id, { struct clk_lookup *cl; - if (IS_ERR(hw)) - return PTR_ERR(hw); + return do_clk_register_clkdev(hw, &cl, con_id, dev_id); +} +EXPORT_SYMBOL(clk_hw_register_clkdev); - /* - * Since dev_id can be NULL, and NULL is handled specially, we must - * pass it as either a NULL format string, or with "%s". - */ - if (dev_id) - cl = __clk_register_clkdev(hw, con_id, "%s", dev_id); - else - cl = __clk_register_clkdev(hw, con_id, NULL); +static void devm_clkdev_release(struct device *dev, void *res) +{ + clkdev_drop(*(struct clk_lookup **)res); +} - return cl ? 0 : -ENOMEM; +static int devm_clk_match_clkdev(struct device *dev, void *res, void *data) +{ + struct clk_lookup **l = res; + + if (!l || !*l) { + WARN_ON(!l || !*l); + return 0; + } + return *l == data; } -EXPORT_SYMBOL(clk_hw_register_clkdev); + +/** + * devm_clk_release_clkdev - Resource managed clkdev lookup release + * @dev: device this lookup is bound + * @con_id: connection ID string on device + * @dev_id: format string describing device name + * + * Drop the clkdev lookup created with devm_clk_hw_register_clkdev. + * Normally this function will not need to be called and the resource + * management code will ensure that the resource is freed. + */ +void devm_clk_release_clkdev(struct device *dev, const char *con_id, + const char *dev_id) +{ + struct clk_lookup *cl; + int rval; + + cl = clk_find(dev_id, con_id); + WARN_ON(!cl); + rval = devres_release(dev, devm_clkdev_release, + &devm_clk_match_clkdev, cl); + WARN_ON(rval); +} +EXPORT_SYMBOL(devm_clk_release_clkdev); + +/** + * devm_clk_hw_register_clkdev - managed clk lookup registration for clk_hw + * @dev: device this lookup is bound + * @hw: struct clk_hw to associate with all clk_lookups + * @con_id: connection ID string on device + * @dev_id: format string describing device name + * + * con_id or dev_id may be NULL as a wildcard, just as in the rest of + * clkdev. + * + * To make things easier for mass registration, we detect error clk_hws + * from a previous clk_hw_register_*() call, and return the error code for + * those. This is to permit this function to be called immediately + * after clk_hw_register_*(). + */ +int devm_clk_hw_register_clkdev(struct device *dev, struct clk_hw *hw, + const char *con_id, const char *dev_id) +{ + int rval = -ENOMEM; + struct clk_lookup **cl; + + cl = devres_alloc(devm_clkdev_release, sizeof(*cl), GFP_KERNEL); + if (cl) { + rval = do_clk_register_clkdev(hw, cl, con_id, dev_id); + if (!rval) + devres_add(dev, cl); + else + devres_free(cl); + } + return rval; +} +EXPORT_SYMBOL(devm_clk_hw_register_clkdev); diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 60c51871b04b..94c7bf471c31 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -916,6 +916,10 @@ int devm_of_clk_add_hw_provider(struct device *dev, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), void *data); +int devm_of_clk_add_parent_hw_provider(struct device *dev, + struct clk_hw *(*get)(struct of_phandle_args *clkspec, + void *data), + void *data); void of_clk_del_provider(struct device_node *np); void devm_of_clk_del_provider(struct device *dev); struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec, diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h index 4890ff033220..ccb32af5848b 100644 --- a/include/linux/clkdev.h +++ b/include/linux/clkdev.h @@ -52,4 +52,8 @@ int clk_add_alias(const char *, const char *, const char *, struct device *); int clk_register_clkdev(struct clk *, const char *, const char *); int clk_hw_register_clkdev(struct clk_hw *, const char *, const char *); +int devm_clk_hw_register_clkdev(struct device *dev, struct clk_hw *hw, + const char *con_id, const char *dev_id); +void devm_clk_release_clkdev(struct device *dev, const char *con_id, + const char *dev_id); #endif From patchwork Wed Oct 31 08:31:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662161 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9A41C13BF for ; Wed, 31 Oct 2018 08:31:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 82DFC2A317 for ; Wed, 31 Oct 2018 08:31:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 747642A338; Wed, 31 Oct 2018 08:31:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 29D722A317 for ; Wed, 31 Oct 2018 08:31:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TLwVJUo2vPbipF0Uj2oWNQeg1XduXmSU06JHIX+ZFcQ=; b=kHDzx7l1C3kfD6 rbomfRaUu80UJ0CC/v2z4V2105iRkDCL2G6FwAUoc2/VOMiADrA5ZUxeMWVl33TfHFcGo1dm8UVlM dCs3WJaEoC42gkMPHIc2J5GkmU68T0bnnyrazmuLrrHHegCysg+KwuPmCQ1MckHe+OicvqqVCB8uK 2GajDb8YdbmQGvxjbQF2DnV7i0PH+dOhwT/XtsHBfi2ytieMy6m5+UvZ/YWxVi5x7qJbfYlnamEYO Ein11T48iYbQy5u+VfYgoI15lKCQ7H/rW8CzpjGUqBAB8f/dItfw8hUdirt8yQWgvd+rTQp2LKMXw NG7IS90eARuvIeCv8mMw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHluf-0006YV-F3; Wed, 31 Oct 2018 08:31:41 +0000 Received: from mail-lj1-f194.google.com ([209.85.208.194]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHluc-0006WN-DJ for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:31:39 +0000 Received: by mail-lj1-f194.google.com with SMTP id s15-v6so14013019lji.3 for ; Wed, 31 Oct 2018 01:31:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=d5tCTzkMuA5kwQPkvyBXAPtmNWoajWA+W8o5G1slWkE=; b=th0JiFH5HeekVaXoCptWaU8yi4zv71+3Lt17XMbNVecF1WfpDlOCrZCsGcdZIee+AH UNIa1MhAoTxgSn5I9F11xpX6HO+M3dkk+Xj/VOkUWHLtYOHFxl/8i8t+7eYb3hMNa3au jjPfErcAyN/fB/XNl4QpWFH9zAcntT6f5800esrcMVIGjfrlx4nx+h7NuxNqEsOY9v2n o9em0aVjemW6UXVRzMKhcjFqXUU+cEWvTHQ9W1VkyGTJ6lQ5+uev4OsmbwYZ+IKaxxOD H1/cqsq9bxFQPPIelwt6lo5RrjbDCdwYSwYbd151CYEz35wjp4Jgb0SeaYF4zw+XBqXH jc+w== X-Gm-Message-State: AGRZ1gKWH+t19aiZoHazJ2G8f6QIRGNWhhE+sFDEKCKiFTLaln2uOjPr KoiRuMGq+43LpK72qv7QCXE= X-Google-Smtp-Source: AJdET5eDktTFvolBr6I/NEsHTLr6WgtMZwfLejf/cwFGoGKltQejpiRNJcirb1rZ96+HFB6Y5ErfJg== X-Received: by 2002:a2e:9445:: with SMTP id o5-v6mr1475349ljh.7.1540974686887; Wed, 31 Oct 2018 01:31:26 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id a4-v6sm4098629lfa.91.2018.10.31.01.31.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:31:26 -0700 (PDT) Date: Wed, 31 Oct 2018 10:31:19 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 2/8] clk: clk-max77686: Clean clkdev lookup leak and use devm Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013138_451664_0A06C328 X-CRM114-Status: GOOD ( 16.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP clk-max77686 never clean clkdev lookup at remove. This can cause oops if clk-max77686 is removed and inserted again. Fix leak by using new devm clkdev lookup registration. Simplify also error path by using new devm_of_clk_add_parent_hw_provider. Signed-off-by: Matti Vaittinen --- drivers/clk/clk-max77686.c | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/drivers/clk/clk-max77686.c b/drivers/clk/clk-max77686.c index 02551fe4b87c..b1920c1d9b76 100644 --- a/drivers/clk/clk-max77686.c +++ b/drivers/clk/clk-max77686.c @@ -235,7 +235,7 @@ static int max77686_clk_probe(struct platform_device *pdev) return ret; } - ret = clk_hw_register_clkdev(&max_clk_data->hw, + ret = devm_clk_hw_register_clkdev(dev, &max_clk_data->hw, max_clk_data->clk_idata.name, NULL); if (ret < 0) { dev_err(dev, "Failed to clkdev register: %d\n", ret); @@ -244,8 +244,8 @@ static int max77686_clk_probe(struct platform_device *pdev) } if (parent->of_node) { - ret = of_clk_add_hw_provider(parent->of_node, of_clk_max77686_get, - drv_data); + ret = devm_of_clk_add_parent_hw_provider(dev, + of_clk_max77686_get, drv_data); if (ret < 0) { dev_err(dev, "Failed to register OF clock provider: %d\n", @@ -261,27 +261,11 @@ static int max77686_clk_probe(struct platform_device *pdev) 1 << MAX77802_CLOCK_LOW_JITTER_SHIFT); if (ret < 0) { dev_err(dev, "Failed to config low-jitter: %d\n", ret); - goto remove_of_clk_provider; + return ret; } } return 0; - -remove_of_clk_provider: - if (parent->of_node) - of_clk_del_provider(parent->of_node); - - return ret; -} - -static int max77686_clk_remove(struct platform_device *pdev) -{ - struct device *parent = pdev->dev.parent; - - if (parent->of_node) - of_clk_del_provider(parent->of_node); - - return 0; } static const struct platform_device_id max77686_clk_id[] = { @@ -297,7 +281,6 @@ static struct platform_driver max77686_clk_driver = { .name = "max77686-clk", }, .probe = max77686_clk_probe, - .remove = max77686_clk_remove, .id_table = max77686_clk_id, }; From patchwork Wed Oct 31 08:31:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662169 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4836B13BF for ; Wed, 31 Oct 2018 08:32:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 32A9D2A32E for ; Wed, 31 Oct 2018 08:32:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 253722A348; Wed, 31 Oct 2018 08:32:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id CA3E32A32E for ; Wed, 31 Oct 2018 08:32:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=UM8LqNW5qp7ihLeC0krrsM8Y8RlUSAzkzjHQF+5skuE=; b=HIhFpGKtA1T0RG ziIrYA3OGdyGnIjKee6Zbdu+w82n8RJHFUa/GcJos9WaWkkfmfb6UhrqvjFoMqi1tnHQUD02FTBwI keyia0W2i067UpOTocJTQiI2R3rRS5Nhj57EiBoDxypJhQnwavKWOE4sSI9TUEOS3x/YrhFSHXEUo RMI7nWm9BnXzH+0sBicYoguPW5zpgZdoflftZiv87OQ+Tn9w0S1VKNnloZASIs4g2CGPL5l+EPamR 7jbPkkVZ606nYzyzb88GQRohX3K6WvD8HV1tMga0KMXKaj5obxNq+pUwBguDwNB2D7VK+1EbnhOYv G6uFvO4zqUSpt7i3vdsg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlvE-0006uR-Jx; Wed, 31 Oct 2018 08:32:16 +0000 Received: from mail-lf1-f65.google.com ([209.85.167.65]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlvB-0006re-5r for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:32:14 +0000 Received: by mail-lf1-f65.google.com with SMTP id d7-v6so10970549lfi.2 for ; Wed, 31 Oct 2018 01:32:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=yodtWAaw5BTk3hbCqBw9o101omzQN2QDRD/joFnNkiA=; b=EO4jZ4eGbpnTHfykqkf21MHZmChsKXSXlxvFjhD80DyqnupLYt2/brZ8gHrmhChv2D HKN3NgpqMPXbUXa5vD/RLs1cmgzDOdHw52CWwwnfsNqpItofE4rktnOiwIjmWWv5uQMV wVQZHKrqll02W7PqrQMYzUZdcgdZgSrLCdfTawH6azFzrJJ51eHQ9M1NaOjd5zMgLmch 757bYKYF3DT2jGIgLQxxa1H3SrNnOSjjshtaorBwhV5fxkUMJk7hHhq0iwJmwILpnCJ/ dYLIYojlJ4DpfmQjQ2scWcIgFgf0++8tc3puMK47Ub8C01OYOWKvsfYt/nPQSL4gFR5g ZCCA== X-Gm-Message-State: AGRZ1gLnhUtVoW1h2ap7dzqwhXOr8t+A+W9yF36c389h+w7LbwPES37/ CqE6/4wHiusyNw2P/OaN7pQ= X-Google-Smtp-Source: AJdET5d+965pcpjHNMils5+JMBG9Pp5AZoQQ91OgfhYTK3gWlr+tcNeXjqkB7PPrVZmkJtWKUL/cgw== X-Received: by 2002:a19:f115:: with SMTP id p21mr1220273lfh.20.1540974721284; Wed, 31 Oct 2018 01:32:01 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id f134-v6sm1822585lfg.68.2018.10.31.01.31.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:32:00 -0700 (PDT) Date: Wed, 31 Oct 2018 10:31:48 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 3/8] clk: clk-s3c2410-dclk: clean up clkdev lookup leak Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013213_306356_3E43E94E X-CRM114-Status: GOOD ( 14.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Use devm variant of clkdev lookup registration in order to avoid clkdev lookup leak at device remove. Signed-off-by: Matti Vaittinen --- drivers/clk/samsung/clk-s3c2410-dclk.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/clk/samsung/clk-s3c2410-dclk.c b/drivers/clk/samsung/clk-s3c2410-dclk.c index 0d92f3e5e3d9..07798debfec4 100644 --- a/drivers/clk/samsung/clk-s3c2410-dclk.c +++ b/drivers/clk/samsung/clk-s3c2410-dclk.c @@ -309,16 +309,17 @@ static int s3c24xx_dclk_probe(struct platform_device *pdev) goto err_clk_register; } - ret = clk_hw_register_clkdev(clk_table[MUX_DCLK0], "dclk0", NULL); + ret = devm_clk_hw_register_clkdev(&pdev->dev, clk_table[MUX_DCLK0], + "dclk0", NULL); if (!ret) - ret = clk_hw_register_clkdev(clk_table[MUX_DCLK1], "dclk1", - NULL); + ret = devm_clk_hw_register_clkdev(&pdev->dev, + clk_table[MUX_DCLK1], "dclk1", NULL); if (!ret) - ret = clk_hw_register_clkdev(clk_table[MUX_CLKOUT0], - "clkout0", NULL); + ret = devm_clk_hw_register_clkdev(&pdev->dev, + clk_table[MUX_CLKOUT0], "clkout0", NULL); if (!ret) - ret = clk_hw_register_clkdev(clk_table[MUX_CLKOUT1], - "clkout1", NULL); + ret = devm_clk_hw_register_clkdev(&pdev->dev, + clk_table[MUX_CLKOUT1], "clkout1", NULL); if (ret) { dev_err(&pdev->dev, "failed to register aliases, %d\n", ret); goto err_clk_register; From patchwork Wed Oct 31 08:32:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662177 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 578F114E2 for ; Wed, 31 Oct 2018 08:32:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 40EF42A317 for ; Wed, 31 Oct 2018 08:32:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3430E2A338; Wed, 31 Oct 2018 08:32:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D84A02A317 for ; Wed, 31 Oct 2018 08:32:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lzTTL4ZauqG+LAu44m2PPBVvqGlxJ5Vj5qOLoJCVYdg=; b=bFzstfUVBOJR+8 Ihfrmxd2GwH/CE9+7ejZ6JvEle1xfWJUrU/0fmKYp8YHcrZ0Ze/X85NKDFP+CUJLT1Lu1DGhC6kTe fLnl+m8mJoGrkkBcLhDzxAR4LC2K9Eu7Ke5pNIIZ4zi0sYtdaJXnnOBAUrDEUDt7yz+k0OjWElMUZ EUIpfs2NxrA52KL1iHBRPQFyQDAHePXl8Abpkx+SXPMc0IuXlGrPIOV6XrdPVeCo1IvtmT0Wxqh8F gCmN/DxBBbYAPiVMHa6RZ3CWgzeXqp2A3bP7NjbgLjepMGKjjHfIrJ8CGaqlxgGygpMC+TLDwC9Zl HHRI2NQjZZoidUdQoDrA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlvm-0007C5-9W; Wed, 31 Oct 2018 08:32:50 +0000 Received: from mail-lj1-f193.google.com ([209.85.208.193]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlvi-00079w-Gr for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:32:48 +0000 Received: by mail-lj1-f193.google.com with SMTP id z80-v6so7945969ljb.8 for ; Wed, 31 Oct 2018 01:32:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=COmn/EezDX/GWsah2t8NJRxiKg5KtxdFjJeZJYU4E4A=; b=savYeh0SkniBD7Us+SatQHEfv8JS+ru301rBAZc49rPgUJ5doDUxIRP7yLSgX3arWb MGWWPcMTgIysuciDC6Y2LfK7p3K0vq9hiYKlFN9EkztiSSYYl4TMHt4OqWUO2sguIONE Ycn8GUwi54pZaEVexZqj7s9RMg0wygxJEMHJdHu/JCva8yqsfp50ZpPaeJ0Z6Aywofkl gpPNXep40qWDEHVd/vceLRfcrODTENZw6dki5prd+xQBRVhh4NhxzeHl/J4UW+5VZXSv koUZlK4Y63EujQKSZ0uUkaNJY7lcVPbeWl0gBIMd8+oy5r8lGW4j80luXhVaIsHe/kdS PtlQ== X-Gm-Message-State: AGRZ1gKo3uQAthAZWMzhjX63fyvGz4dHniAHR+aXqN5epax+hLOBaFWX PXgrvQ1Y2lRkvtq4B/S9/ao= X-Google-Smtp-Source: AJdET5dN5g/dAlTN28IcLopaJGJqDFRn9JUStvqdSb8+QrYQcyIrmuQUnYRVAQPdJ563Hod4iCxVeQ== X-Received: by 2002:a2e:1510:: with SMTP id s16-v6mr1345261ljd.4.1540974754722; Wed, 31 Oct 2018 01:32:34 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id j13-v6sm3966819ljh.42.2018.10.31.01.32.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:32:34 -0700 (PDT) Date: Wed, 31 Oct 2018 10:32:21 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 4/8] clk: clk-st: avoid clkdev lookup leak at remove Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013246_639393_3B283AD7 X-CRM114-Status: GOOD ( 14.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Use devm based clkdev lookup registration to avoid leaking lookup structures. Signed-off-by: Matti Vaittinen --- drivers/clk/x86/clk-st.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-st.c index fb62f3938008..32d8df9bd853 100644 --- a/drivers/clk/x86/clk-st.c +++ b/drivers/clk/x86/clk-st.c @@ -52,7 +52,8 @@ static int st_clk_probe(struct platform_device *pdev) 0, st_data->base + MISCCLKCNTL1, OSCCLKENB, CLK_GATE_SET_TO_DISABLE, NULL); - clk_hw_register_clkdev(hws[ST_CLK_GATE], "oscout1", NULL); + devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE], "oscout1", + NULL); return 0; } From patchwork Wed Oct 31 08:32:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 72A7B14E2 for ; Wed, 31 Oct 2018 08:33:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59C662A10D for ; Wed, 31 Oct 2018 08:33:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 47F832A120; Wed, 31 Oct 2018 08:33:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 6141E2A10D for ; Wed, 31 Oct 2018 08:33:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6GbZnwahHJBJImj5vNaEytfIqlkxnNgBKwJLAL8Klgo=; b=DBarDNKvcbqInW 80pVqU+nSnf1rNFApqPaJTg0/wX5cQQ4x524nnWMxJTi+l9jE6WnztxbGm7rAyq597dGJLZqF19TM 9pz3yEUYkb98JoESWVPA2PP/rc33IuHTxPIZZSK09eHNEFIoChVXq+D9oehqd8atr+JjJ5Lb5R1gl DgH+m1nT3QQjGoFbx3Xia1KJicN05K4toSOo+caM8ow2UoEQbBWApjny+w1OJnqllwLrBdFgH2jc8 jCAZIghy2A9AO6/YqDnrPiIcB65AIldeaMnTwfb+niyd7K7AfJY1dSnq/EojJvQfWZsU0z+Xizi7+ 6cfL956oAeRWpHbrvE8A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlwK-0007UY-Na; Wed, 31 Oct 2018 08:33:24 +0000 Received: from mail-lf1-f68.google.com ([209.85.167.68]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlwH-0007So-86 for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:33:22 +0000 Received: by mail-lf1-f68.google.com with SMTP id c16so10964145lfj.8 for ; Wed, 31 Oct 2018 01:33:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=KJKi78f3BmTlbgbFoV5YXjiBkX7wj5R8W+WOr3C0zec=; b=PfsL651tMACYBbQneekQE11ULXiXOTQ1pRo5nMsOKUzqVZoIudvSQJogA+lXF6enkX LpQIovBQFQ8pzkp9M/1gA4LFAnt2fKONSWAXig7ZOXu8vN7MZoN8Hx/Y655Vrzrulmk6 iASJSCN01cooSrhPbplCwQM4R6QW5+uztA3ZHXA6XaqZO1bIIAm3XemvA2vAn6g78sV0 +jBvsWt5AWuK04MEPbtCgDa3vC1u7DL7809O0v9oXAt3di87jPI+gfgSABlvncu9QV42 xW/9f49mpmz6bDIwyvoufnCk7t86Yw1+0HPiplbQ7eapcNlGEwR/Wma7xwtQf5X89qdK 9Arg== X-Gm-Message-State: AGRZ1gJ4p5ofcbojEAOy3ROd2j6J9E8j018Y01nCxwD192u2PogZTqyQ CCo8iL/ki8fUy0ygEQQIYhg= X-Google-Smtp-Source: AJdET5dHivoOLmVKefTpysoQURcCgOEhVWg1eeqESIZmDlGxkWhU0I+qiaE5vSusHGnwfZ/HweN1rA== X-Received: by 2002:a19:cec8:: with SMTP id e191mr1196583lfg.13.1540974789281; Wed, 31 Oct 2018 01:33:09 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id p134-v6sm4397709lfd.80.2018.10.31.01.33.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:33:08 -0700 (PDT) Date: Wed, 31 Oct 2018 10:32:56 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 5/8] clk: clk-hi655x: Free of_provider at remove Message-ID: <6705a681118488ea905a5d3c29266683bf1a8a6c.1540970653.git.matti.vaittinen@fi.rohmeurope.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013321_288631_459E45E4 X-CRM114-Status: GOOD ( 15.24 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP use devm variant for of_provider registration so provider is freed at exit. Signed-off-by: Matti Vaittinen --- drivers/clk/clk-hi655x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/clk-hi655x.c b/drivers/clk/clk-hi655x.c index 403a0188634a..394d0109104d 100644 --- a/drivers/clk/clk-hi655x.c +++ b/drivers/clk/clk-hi655x.c @@ -107,8 +107,8 @@ static int hi655x_clk_probe(struct platform_device *pdev) if (ret) return ret; - return of_clk_add_hw_provider(parent->of_node, of_clk_hw_simple_get, - &hi655x_clk->clk_hw); + return devm_of_clk_add_parent_hw_provider(&pdev->dev, + of_clk_hw_simple_get, &hi655x_clk->clk_hw); } static struct platform_driver hi655x_clk_driver = { From patchwork Wed Oct 31 08:33:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662193 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EAF4414E2 for ; Wed, 31 Oct 2018 08:33:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D55F82A317 for ; Wed, 31 Oct 2018 08:33:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C90672A338; Wed, 31 Oct 2018 08:33:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 799EC2A32E for ; Wed, 31 Oct 2018 08:33:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RGdoiIedUVumv1VY5MsdWFk+o93J698sq4oreuyw+X8=; b=V5M8Hl0Qbu+z/m 8GmYZv0e8K622xaxYyKI1bvf2u1+988OgFemiUrAHpYa4H9XyBO6h7KZ6w7IGMs10wd+Ooyw2bieu 9fdrKhEvzTfzlcONj2SkJR6/jkIluTQcA6W4rQXEmX+UMXAC7PXHnSL0kubbmV3vDkU1KGZQHw1VQ ehbFIgn7xjV8ogi7lT+wcEBN56N3O8pVwyqw6U9U10b2h/U5VTYGS9n6kDmhofJCPiVVK7RW4WD5J Okmhc8+KMzHacRjhwuYiDI9d9eVssGuYbt5+DRxNZk4EwTqPtSTuZJiu0jWD14juNbpQZ/FMmrRzG VDOArWnp1kBLEZB++7eA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlwr-0007mX-H4; Wed, 31 Oct 2018 08:33:57 +0000 Received: from mail-lj1-f195.google.com ([209.85.208.195]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlwn-0007kA-Jd for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:33:56 +0000 Received: by mail-lj1-f195.google.com with SMTP id z21-v6so14018568ljz.0 for ; Wed, 31 Oct 2018 01:33:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=JJ40AdSZPMkqm7Da3QKXJd/JQH4MrVzdTvQwG7toy0o=; b=NUsdpVWWKlSC7pJBKh32jmGHbb4GKDnTgP6in+flQ9+d82TrpaPPWcw6R+2dy6w2Df Au9NHrk4GunNxKQ1MHKn6mHSoELgEX6FILUp6mSRL0cjlb+o7hqjkT23/FvUYwRkWZle kJFn8ht5NlVH9boprqSvRnvhPYmPb0Q48ea/GWgotq5IT/94Pt4GVTdV2JkOH5UmzY/Y FLsw0YDwcJNNxpbnSC70S8XhPXBCb47QmzBAAuGCC2ylVEpvMaYrbCXBl/gDNvxu03rD erzg9o9A+qEp6EeEdZ5twq1cHzzIVlbP2toFEAcu9G+PNUtfgwsNaM7/b1ch5W4C85kV 8dQg== X-Gm-Message-State: AGRZ1gLRKW2xujzm7eH44qLHh3FCQhXhThIrNOSU2HeNyqBHJn1BqTx2 8Bk+ywoPat5sz2MsKJy6cF0= X-Google-Smtp-Source: AJdET5cjdgLBrCJqgFZ2mzt6ED/HOT3OWL2hbdn1z1omeguTTDhoP10SZv8fOZFL0V7HG0nmTYiGdw== X-Received: by 2002:a2e:9445:: with SMTP id o5-v6mr1480858ljh.7.1540974822030; Wed, 31 Oct 2018 01:33:42 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id j20sm1313575lfg.69.2018.10.31.01.33.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:33:41 -0700 (PDT) Date: Wed, 31 Oct 2018 10:33:23 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 6/8] clk: rk808: use managed version of of_provider registration Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013353_731331_FEE6081D X-CRM114-Status: GOOD ( 15.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Simplify clean-up for rk808 by using managed version of of_provider registration. Signed-off-by: Matti Vaittinen --- drivers/clk/clk-rk808.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/clk/clk-rk808.c b/drivers/clk/clk-rk808.c index 6461f2820a5b..177340edaae5 100644 --- a/drivers/clk/clk-rk808.c +++ b/drivers/clk/clk-rk808.c @@ -138,23 +138,12 @@ static int rk808_clkout_probe(struct platform_device *pdev) if (ret) return ret; - return of_clk_add_hw_provider(node, of_clk_rk808_get, rk808_clkout); -} - -static int rk808_clkout_remove(struct platform_device *pdev) -{ - struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent); - struct i2c_client *client = rk808->i2c; - struct device_node *node = client->dev.of_node; - - of_clk_del_provider(node); - - return 0; + return devm_of_clk_add_parent_hw_provider(&pdev->dev, + of_clk_rk808_get, rk808_clkout); } static struct platform_driver rk808_clkout_driver = { .probe = rk808_clkout_probe, - .remove = rk808_clkout_remove, .driver = { .name = "rk808-clkout", }, From patchwork Wed Oct 31 08:34:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662217 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B0E0314BD for ; Wed, 31 Oct 2018 08:49:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9CDF72A330 for ; Wed, 31 Oct 2018 08:49:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8E6902A4B0; Wed, 31 Oct 2018 08:49:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E441D2A330 for ; Wed, 31 Oct 2018 08:49:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AV/0q8ofR4yyrilKKmOSW3f08L1jPC1DPcp2W27Z5ro=; b=lEovDlYQQZxMfX 47BTuqwVhxPz/LJbcZhYVNDEwARGUgX8u0L1WQfh155YTpJIwqIwsETFhvRRRuhTf9WqTbXKAlSTW Sk5GH4trf2+M9UOtXOPfaYHshKGKfA/D9gkcZossflshcL7s/iHyyCADGPD5BO6ejExrxXBDctpky i+e7FETE5eqHzR3M9npPm2lUh38rMw4sGaHw7w/uSQMVC2u3/1xEL2ZPiNH4cP2XcGRNoFTa+CCQr rTPQKQbujDW3plZiuYpLkAmqpIwj9e/3YjXTW948nEl7CcLea5Ae51rShSn5PVQd4AHLX98CU5TkS 9BQKxgSP39v5rL71/RoA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHmCD-0005EA-6V; Wed, 31 Oct 2018 08:49:49 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHmCB-0005Dn-RN for linux-arm-kernel@bombadil.infradead.org; Wed, 31 Oct 2018 08:49:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=+s3r/08+Ga/YxLK3dh6bw5wWfEcqvsWpac0ppTzEu1E=; b=It+6pnLOjogtStjs+QfyFg0/K wY0/ABXNIjbi2PSkNengTI9IUVAUSrUIDmL+YVnxTaC676PM1njGjOv+33d9dkGQiv+FNY1kTbYqu GEG73FIPH2vIIj08qZFqpWpN/zPn138mVIDV/eCfCT6HD9jkp8/nLdFnfmMsBPyafydL2juEUY0R6 iPCneWiiTL7uXvj28WyV65QPvsNYikAuZ9cVQJGt3/wRuw4BN/GZUI1gh0G/M/PVhBQ8KyNK2kf14 86qZY3XpA/khsFfd1p82tQa4CWjfD4b3lvzstM6+DH0M23Z9w731vPO4SleMKGna5cjVNNr3ze2pt 9kcYHPojg==; Received: from mail-lj1-f194.google.com ([209.85.208.194]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlxJ-0007jf-Ri for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:34:27 +0000 Received: by mail-lj1-f194.google.com with SMTP id s15-v6so14019958lji.3 for ; Wed, 31 Oct 2018 01:34:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=+s3r/08+Ga/YxLK3dh6bw5wWfEcqvsWpac0ppTzEu1E=; b=H9WzEt8Cq5mmSzH0bDAsfo4XEPsM78fZGUYZ4GBahapC0DCsFWZHiVRHkCldJJDzLP iYi4LbYzUwSusUV3qmlAfag71wErS458/acml27o0F7vl2+Ugioq05bpbcsVkj7oA09+ 9qE7XzT4jtZ1RGgAtGt0ynKApRFXjG0a2XHlRRPCSab8a+22/r2YMx2vXc8cyiaW5tN5 SADXifSVKA7kohL1Ap9GnsKVEAH0mdKNRN4gXtaLNRVHvPidKJNoa+nXmCPVpHMW8n/P AA4tIi529dctQYRpnS03dlnw3tqSnXluQFsKfj439rdDye8kqUqmZKRg/AhgJ39G0qTE gQlw== X-Gm-Message-State: AGRZ1gLCrWdBnBHDejvUPE/w4DRb1svr2SiFCkdtRSLsUsJ09zpAYA0v 5uS0d6RBPDgfklGIQRsyeXA= X-Google-Smtp-Source: AJdET5fHQE/hzwCsh3LjOV1NPtgcihUmu+AmjleYo4x6udHFOsAC1s0k8u7G84d9Nl0a/MMrlc9TRQ== X-Received: by 2002:a2e:6594:: with SMTP id e20-v6mr1486335ljf.123.1540974854246; Wed, 31 Oct 2018 01:34:14 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id 18-v6sm3586149ljp.49.2018.10.31.01.34.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:34:13 -0700 (PDT) Date: Wed, 31 Oct 2018 10:34:01 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 7/8] clk: clk-twl6040: Free of_provider at remove Message-ID: <5281ac8223e5ec2673341e2655abf1144e997d10.1540970653.git.matti.vaittinen@fi.rohmeurope.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_083425_890487_EBF8E3F5 X-CRM114-Status: GOOD ( 15.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP use devm variant for of_provider registration so provider is freed at exit. Signed-off-by: Matti Vaittinen --- drivers/clk/clk-twl6040.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-twl6040.c b/drivers/clk/clk-twl6040.c index 25dfe050ae9f..e9da09453eb2 100644 --- a/drivers/clk/clk-twl6040.c +++ b/drivers/clk/clk-twl6040.c @@ -108,9 +108,8 @@ static int twl6040_pdmclk_probe(struct platform_device *pdev) platform_set_drvdata(pdev, clkdata); - return of_clk_add_hw_provider(pdev->dev.parent->of_node, - of_clk_hw_simple_get, - &clkdata->pdmclk_hw); + return devm_of_clk_add_parent_hw_provider(&pdev->dev, + of_clk_hw_simple_get, &clkdata->pdmclk_hw); } static struct platform_driver twl6040_pdmclk_driver = { From patchwork Wed Oct 31 08:34:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Vaittinen, Matti" X-Patchwork-Id: 10662207 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0CC5713BF for ; Wed, 31 Oct 2018 08:35:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E76612A317 for ; Wed, 31 Oct 2018 08:35:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D66F92A338; Wed, 31 Oct 2018 08:35:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 86C8C2A317 for ; Wed, 31 Oct 2018 08:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XOWnGMkNNfEczf7WOLTGam7sB/E2h5C0IZ3MLBy4y70=; b=Wwa4cjzGMn4rYh QMawVzVG9u6OsProO3bHPA6ftzvepaHW0bxPi4BMOFbv1AG8MY7J7JOtem94Akk4z5I8WEeobdK0E 0QVMUNhMw6xYQp2T4LjVnkxaIEGkkfLcoVaSF3uq9vCwV5aDySKK+/DwXxHVUm9vs2MH+eJwsxLex 5vPajKV0BoFfMM7Af/DP9dAV9age3RDZlN145Qx6XtpYoAjUbkueG6S6JtOWR69JOSIV1clye5XpS gJYlSvKIKEduPa9aJnQYBfA4+YtzVh+gCwj6iOdz2d0ne7sAx66N3r71C3Ij1GbqeRVR+3Mk0Hi/G 4F74yrHs2WSFLLoGsWXw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlxs-00085a-TZ; Wed, 31 Oct 2018 08:35:00 +0000 Received: from mail-lf1-f65.google.com ([209.85.167.65]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gHlxq-00084m-4w for linux-arm-kernel@lists.infradead.org; Wed, 31 Oct 2018 08:34:59 +0000 Received: by mail-lf1-f65.google.com with SMTP id d7-v6so10976103lfi.2 for ; Wed, 31 Oct 2018 01:34:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=UWFrztTGBGBvTlJ4yv0DEf/05EQvWoHnl+hl24Atexs=; b=F/lKXJ/BDX9wTRv+0Gj7UTt3wo+IsnALk9z+J9GCE3gcQ6kBUbiztk+cEjHezqRMoy 0oQMnggaTpkxCqKC2/TUVuKqtV7jDL7M9gnxDrGt1hCdKj7Q7eIyyqPC/Vpy7/4ydOQA lmRhnN5JlizY92o+l/f3EcT29NDORFxqdT13JzBv5pQSlT0gFIavGW/hQtKikxb68ed5 WCYVvenKLV0pvaU2juJee6GC2Ug2ijo/i1fnU5TpWKelpyybRxzebFnh5fZ/zeplVo0W 9va8HU/7kOZmtZDpE9SSa5Oj1+ph6J30sxYQuBbQ5LfdPdGEQm/K2R3hpc2S1xU/Hm/d ZfLw== X-Gm-Message-State: AGRZ1gIY0YlZQoXwDYOx/izbCcQEZYhcop+jDND7rdQGG7XXtHpG0Wuh C0+1w9Tt7NT9+IlI5M2Dldg= X-Google-Smtp-Source: AJdET5ecHIjPyVjF1HMdEiS5Gtf76m4/ewMhfAoITPfJhfIAU8wIAlHcuEVc6E7fJAq4CmUdKsF69g== X-Received: by 2002:a19:d212:: with SMTP id j18-v6mr1193355lfg.44.1540974886563; Wed, 31 Oct 2018 01:34:46 -0700 (PDT) Received: from localhost.localdomain ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id r22-v6sm2780095ljh.77.2018.10.31.01.34.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Oct 2018 01:34:46 -0700 (PDT) Date: Wed, 31 Oct 2018 10:34:32 +0200 From: Matti Vaittinen To: Jonathan Corbet , Michael Turquette , Stephen Boyd , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Russell King , Andy Gross , David Brown , Kukjin Kim , Sylwester Nawrocki , Tomasz Figa , Andrey Smirnov , Sebastian Reichel , Guenter Roeck , Rob Herring , Matti Vaittinen , Huang Shijie , Akshu Agrawal , "Rafael J. Wysocki" , Daniel Kurtz , mazziesaccount@gmail.com Subject: [PATCH 8/8] clk: apcs-msm8916: simplify probe cleanup by using devm Message-ID: <0495e02e0a7e7afe5b16e606fd83ad928a3eed4d.1540970653.git.matti.vaittinen@fi.rohmeurope.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181031_013458_187868_F9B9BE97 X-CRM114-Status: GOOD ( 14.59 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, matti.vaittinen@fi.rohmeurope.com, linux-kernel@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP use devm variant for of_provider registration. Signed-off-by: Matti Vaittinen --- drivers/clk/qcom/apcs-msm8916.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm8916.c index b1cc8dbcd327..f4e0c136ab1a 100644 --- a/drivers/clk/qcom/apcs-msm8916.c +++ b/drivers/clk/qcom/apcs-msm8916.c @@ -96,8 +96,8 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev) goto err; } - ret = of_clk_add_hw_provider(parent->of_node, of_clk_hw_simple_get, - &a53cc->clkr.hw); + ret = devm_of_clk_add_parent_hw_provider(dev, of_clk_hw_simple_get, + &a53cc->clkr.hw); if (ret) { dev_err(dev, "failed to add clock provider: %d\n", ret); goto err; @@ -118,7 +118,6 @@ static int qcom_apcs_msm8916_clk_remove(struct platform_device *pdev) struct device *parent = pdev->dev.parent; clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); - of_clk_del_provider(parent->of_node); return 0; }