[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFpCu4sJbWEUBTiqQKswX_x1ww4-Qygeva==iejvEKax7g@mail.gmail.com>
Date: Tue, 24 Nov 2020 11:56:49 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
Cc: Russell King <linux@...linux.org.uk>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Arnd Bergmann <arnd@...db.de>,
Linus Walleij <linus.walleij@...aro.org>,
Rob Herring <robh@...nel.org>,
Sascha Hauer <kernel@...gutronix.de>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/4] amba: reorder functions
On Tue, 24 Nov 2020 at 11:33, Uwe Kleine-König
<u.kleine-koenig@...gutronix.de> wrote:
>
> Put helpers (here: amba_get_enable_pclk and amba_put_disable_pclk) at
> the top of the file and then define callbacks directly before the
> structs they are used in; in the same order.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@...gutronix.de>
Reviewed-by: Ulf Hansson <ulf.hansson@...aro.org>
> ---
> drivers/amba/bus.c | 77 +++++++++++++++++++++++-----------------------
> 1 file changed, 39 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
> index ecc304149067..8658e0533b67 100644
> --- a/drivers/amba/bus.c
> +++ b/drivers/amba/bus.c
> @@ -56,31 +56,28 @@ amba_lookup(const struct amba_id *table, struct amba_device *dev)
> return NULL;
> }
>
> -static int amba_match(struct device *dev, struct device_driver *drv)
> +static int amba_get_enable_pclk(struct amba_device *pcdev)
> {
> - struct amba_device *pcdev = to_amba_device(dev);
> - struct amba_driver *pcdrv = to_amba_driver(drv);
> + int ret;
>
> - /* When driver_override is set, only bind to the matching driver */
> - if (pcdev->driver_override)
> - return !strcmp(pcdev->driver_override, drv->name);
> + pcdev->pclk = clk_get(&pcdev->dev, "apb_pclk");
> + if (IS_ERR(pcdev->pclk))
> + return PTR_ERR(pcdev->pclk);
>
> - return amba_lookup(pcdrv->id_table, pcdev) != NULL;
> + ret = clk_prepare_enable(pcdev->pclk);
> + if (ret)
> + clk_put(pcdev->pclk);
> +
> + return ret;
> }
>
> -static int amba_uevent(struct device *dev, struct kobj_uevent_env *env)
> +static void amba_put_disable_pclk(struct amba_device *pcdev)
> {
> - struct amba_device *pcdev = to_amba_device(dev);
> - int retval = 0;
> -
> - retval = add_uevent_var(env, "AMBA_ID=%08x", pcdev->periphid);
> - if (retval)
> - return retval;
> -
> - retval = add_uevent_var(env, "MODALIAS=amba:d%08X", pcdev->periphid);
> - return retval;
> + clk_disable_unprepare(pcdev->pclk);
> + clk_put(pcdev->pclk);
> }
>
> +
> static ssize_t driver_override_show(struct device *_dev,
> struct device_attribute *attr, char *buf)
> {
> @@ -152,6 +149,31 @@ static struct attribute *amba_dev_attrs[] = {
> };
> ATTRIBUTE_GROUPS(amba_dev);
>
> +static int amba_match(struct device *dev, struct device_driver *drv)
> +{
> + struct amba_device *pcdev = to_amba_device(dev);
> + struct amba_driver *pcdrv = to_amba_driver(drv);
> +
> + /* When driver_override is set, only bind to the matching driver */
> + if (pcdev->driver_override)
> + return !strcmp(pcdev->driver_override, drv->name);
> +
> + return amba_lookup(pcdrv->id_table, pcdev) != NULL;
> +}
> +
> +static int amba_uevent(struct device *dev, struct kobj_uevent_env *env)
> +{
> + struct amba_device *pcdev = to_amba_device(dev);
> + int retval = 0;
> +
> + retval = add_uevent_var(env, "AMBA_ID=%08x", pcdev->periphid);
> + if (retval)
> + return retval;
> +
> + retval = add_uevent_var(env, "MODALIAS=amba:d%08X", pcdev->periphid);
> + return retval;
> +}
> +
> #ifdef CONFIG_PM
> /*
> * Hooks to provide runtime PM of the pclk (bus clock). It is safe to
> @@ -229,27 +251,6 @@ static int __init amba_init(void)
>
> postcore_initcall(amba_init);
>
> -static int amba_get_enable_pclk(struct amba_device *pcdev)
> -{
> - int ret;
> -
> - pcdev->pclk = clk_get(&pcdev->dev, "apb_pclk");
> - if (IS_ERR(pcdev->pclk))
> - return PTR_ERR(pcdev->pclk);
> -
> - ret = clk_prepare_enable(pcdev->pclk);
> - if (ret)
> - clk_put(pcdev->pclk);
> -
> - return ret;
> -}
> -
> -static void amba_put_disable_pclk(struct amba_device *pcdev)
> -{
> - clk_disable_unprepare(pcdev->pclk);
> - clk_put(pcdev->pclk);
> -}
> -
> /*
> * These are the device model conversion veneers; they convert the
> * device model structures to our more specific structures.
>
> base-commit: 95065cb54210eba86bed10cb2118041524d54573
> --
> 2.29.2
>
Powered by blists - more mailing lists