From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A115EC77B6F for ; Fri, 14 Apr 2023 01:38:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229591AbjDNBio (ORCPT ); Thu, 13 Apr 2023 21:38:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229516AbjDNBin (ORCPT ); Thu, 13 Apr 2023 21:38:43 -0400 Received: from fd01.gateway.ufhost.com (fd01.gateway.ufhost.com [61.152.239.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DD9F52697; Thu, 13 Apr 2023 18:38:39 -0700 (PDT) Received: from EXMBX166.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX166", Issuer "EXMBX166" (not verified)) by fd01.gateway.ufhost.com (Postfix) with ESMTP id 1D2778086; Fri, 14 Apr 2023 09:38:27 +0800 (CST) Received: from EXMBX061.cuchost.com (172.16.6.61) by EXMBX166.cuchost.com (172.16.6.76) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 14 Apr 2023 09:38:26 +0800 Received: from [192.168.125.131] (183.27.97.249) by EXMBX061.cuchost.com (172.16.6.61) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 14 Apr 2023 09:38:25 +0800 Message-ID: Date: Fri, 14 Apr 2023 09:37:29 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v4 07/10] clk: starfive: Add StarFive JH7110 Video-Output clock driver Content-Language: en-US To: Stephen Boyd , Conor Dooley , "Emil Renner Berthing" , Krzysztof Kozlowski , Michael Turquette , Philipp Zabel , , CC: Rob Herring , Paul Walmsley , Palmer Dabbelt , Albert Ou , Hal Feng , , References: <20230411135558.44282-1-xingyu.wu@starfivetech.com> <20230411135558.44282-8-xingyu.wu@starfivetech.com> <683cbe934d1df9436e003466d2a419ef.sboyd@kernel.org> <463ee23c-f617-bed0-27a8-56c6fb40d092@starfivetech.com> <4ed4d0e6-8da5-7eef-8713-44854b8d4a9b@starfivetech.com> From: Xingyu Wu In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [183.27.97.249] X-ClientProxiedBy: EXCAS064.cuchost.com (172.16.6.24) To EXMBX061.cuchost.com (172.16.6.61) X-YovoleRuleAgent: yovoleflag Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On 2023/4/14 2:38, Stephen Boyd wrote: > Quoting Xingyu Wu (2023-04-13 06:31:12) >> On 2023/4/13 12:04, Stephen Boyd wrote: >> > diff --git a/drivers/clk/starfive/clk-starfive-jh7110-sys.c b/drivers/clk/starfive/clk-starfive-jh7110-sys.c >> > index 5ec210644e1d..851b93d0f371 100644 >> > --- a/drivers/clk/starfive/clk-starfive-jh7110-sys.c >> > +++ b/drivers/clk/starfive/clk-starfive-jh7110-sys.c >> > @@ -11,6 +11,9 @@ >> > #include >> > #include >> > #include >> > +#include >> > + >> > +#include >> > >> > #include >> > >> > @@ -335,26 +338,32 @@ static void jh7110_reset_unregister_adev(void *_adev) >> > struct auxiliary_device *adev = _adev; >> > >> > auxiliary_device_delete(adev); >> > + auxiliary_device_uninit(adev); >> > } >> > >> > static void jh7110_reset_adev_release(struct device *dev) >> > { >> > struct auxiliary_device *adev = to_auxiliary_dev(dev); >> > + struct jh71x0_reset_adev *rdev = to_jh71x0_reset_adev(adev); >> > >> > - auxiliary_device_uninit(adev); >> > + kfree(rdev); >> > } >> > >> > int jh7110_reset_controller_register(struct jh71x0_clk_priv *priv, >> > const char *adev_name, >> > u32 adev_id) >> > { >> > + struct jh71x0_reset_adev *rdev; >> > struct auxiliary_device *adev; >> > int ret; >> > >> > - adev = devm_kzalloc(priv->dev, sizeof(*adev), GFP_KERNEL); >> > - if (!adev) >> > + rdev = kzalloc(sizeof(*rdev), GFP_KERNEL); >> >> Can there use 'devm_kzalloc'? Are you not using this because the struct is public and clock driver >> and reset driver both use it. But I think the both clock driver and reset driver are the same >> device and can use 'devm_kzalloc'. > > No. The release function for the auxiliary_device is supposed to free > the memory. It shouldn't be tied to the lifetime of anything like the > lifetime of the clk driver being bound. Get it. Thanks. Best regards, Xingyu Wu