From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Kousik Sanagavarapu <five231003@gmail.com>
Cc: Julia Lawall <julia.lawall@inria.fr>, Nishanth Menon <nm@ti.com>,
Santosh Shilimkar <ssantosh@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>,
"Javier Carrasco" <javier.carrasco.cruz@gmail.com>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 3/3] soc: ti: pm33xx: do device_node auto cleanup
Date: Fri, 5 Jul 2024 11:54:13 +0100 [thread overview]
Message-ID: <20240705115413.0000307d@Huawei.com> (raw)
In-Reply-To: <20240703065710.13786-4-five231003@gmail.com>
On Wed, 3 Jul 2024 12:25:28 +0530
Kousik Sanagavarapu <five231003@gmail.com> wrote:
> Use scope based cleanup instead of manual of_node_put() calls, hence
> simplifying the handling of error paths.
>
> Suggested-by: Julia Lawall <julia.lawall@inria.fr>
> Signed-off-by: Kousik Sanagavarapu <five231003@gmail.com>
I think you can make use of dev_err_probe() in here to
further simplify things (a bit anyway!)
Jonathan
> ---
> drivers/soc/ti/pm33xx.c | 20 +++++++-------------
> 1 file changed, 7 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/soc/ti/pm33xx.c b/drivers/soc/ti/pm33xx.c
> index 8e983c3c4e03..40988c45ed00 100644
> --- a/drivers/soc/ti/pm33xx.c
> +++ b/drivers/soc/ti/pm33xx.c
> @@ -383,10 +383,9 @@ static void am33xx_pm_free_sram(void)
> */
> static int am33xx_pm_alloc_sram(void)
> {
> - struct device_node *np;
> - int ret = 0;
> + struct device_node *np __free(device_node) =
> + of_find_compatible_node(NULL, NULL, "ti,omap3-mpu");
>
> - np = of_find_compatible_node(NULL, NULL, "ti,omap3-mpu");
> if (!np) {
> np = of_find_compatible_node(NULL, NULL, "ti,omap4-mpu");
> if (!np) {
> @@ -400,24 +399,21 @@ static int am33xx_pm_alloc_sram(void)
> if (!sram_pool) {
> dev_err(pm33xx_dev, "PM: %s: Unable to get sram pool for ocmcram\n",
> __func__);
> - ret = -ENODEV;
> - goto mpu_put_node;
> + return -ENODEV;
> }
>
> sram_pool_data = of_gen_pool_get(np, "pm-sram", 1);
> if (!sram_pool_data) {
> dev_err(pm33xx_dev, "PM: %s: Unable to get sram data pool for ocmcram\n",
> __func__);
> - ret = -ENODEV;
> - goto mpu_put_node;
> + return -ENODEV;
> }
>
> ocmcram_location = gen_pool_alloc(sram_pool, *pm_sram->do_wfi_sz);
> if (!ocmcram_location) {
> dev_err(pm33xx_dev, "PM: %s: Unable to allocate memory from ocmcram\n",
> __func__);
> - ret = -ENOMEM;
> - goto mpu_put_node;
> + return -ENOMEM;
Why not dev_err_probe()?
Seems to only be called from a probe() callback.
> }
>
> ocmcram_location_data = gen_pool_alloc(sram_pool_data,
> @@ -425,12 +421,10 @@ static int am33xx_pm_alloc_sram(void)
> if (!ocmcram_location_data) {
> dev_err(pm33xx_dev, "PM: Unable to allocate memory from ocmcram\n");
> gen_pool_free(sram_pool, ocmcram_location, *pm_sram->do_wfi_sz);
> - ret = -ENOMEM;
> + return -ENOMEM;
I doubt the ordering matters so can probably do dev_err_probe() in here.
> }
>
> -mpu_put_node:
> - of_node_put(np);
> - return ret;
> + return 0;
> }
>
> static int am33xx_pm_rtc_setup(void)
next prev parent reply other threads:[~2024-07-05 10:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-03 6:55 [PATCH v2 0/3] Do device node auto cleanup in drivers/soc/ti/ Kousik Sanagavarapu
2024-07-03 6:55 ` [PATCH v2 1/3] soc: ti: pruss: do device_node auto cleanup Kousik Sanagavarapu
2024-07-05 10:49 ` Jonathan Cameron
2024-07-03 6:55 ` [PATCH v2 2/3] soc: ti: knav_qmss_queue: " Kousik Sanagavarapu
2024-07-05 10:52 ` Jonathan Cameron
2024-07-03 6:55 ` [PATCH v2 3/3] soc: ti: pm33xx: " Kousik Sanagavarapu
2024-07-05 10:54 ` Jonathan Cameron [this message]
2024-07-05 11:11 ` Kousik Sanagavarapu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240705115413.0000307d@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=five231003@gmail.com \
--cc=javier.carrasco.cruz@gmail.com \
--cc=julia.lawall@inria.fr \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=nm@ti.com \
--cc=skhan@linuxfoundation.org \
--cc=ssantosh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.