diff mbox

clk: probe common clock drivers earlier

Message ID 1462435037-27979-1-git-send-email-yamada.masahiro@socionext.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Masahiro Yamada May 5, 2016, 7:57 a.m. UTC
Several SoCs implement platform drivers for clocks rather than
CLK_OF_DECLARE().  Clocks should come earlier because they are
prerequisites for many of other drivers.  It will help to mitigate
EPROBE_DEFER issues.

Also, drop the comment since it does not look valuable.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Linus Torvalds July 15, 2016, 9:53 p.m. UTC | #1
This is still in my "what happened to this" patch list..

I'm dropping it as I'll be without internet for a week and I'm trying
to make sure my pile is empty, but I'd like somebody to take a look at
it (Greg?) since it feels right to me.

             Linus

On Thu, May 5, 2016 at 4:57 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Several SoCs implement platform drivers for clocks rather than
> CLK_OF_DECLARE().  Clocks should come earlier because they are
> prerequisites for many of other drivers.  It will help to mitigate
> EPROBE_DEFER issues.
>
> Also, drop the comment since it does not look valuable.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
>  drivers/Makefile | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 8f5d076..a2a4922 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -44,6 +44,7 @@ obj-$(CONFIG_REGULATOR)               += regulator/
>
>  # reset controllers early, since gpu drivers might rely on them to initialize
>  obj-$(CONFIG_RESET_CONTROLLER) += reset/
> +obj-y                          += clk/
>
>  # tty/ comes before char/ so that the VT console is the boot-time
>  # default.
> @@ -141,8 +142,6 @@ obj-$(CONFIG_VHOST_RING)    += vhost/
>  obj-$(CONFIG_VLYNQ)            += vlynq/
>  obj-$(CONFIG_STAGING)          += staging/
>  obj-y                          += platform/
> -#common clk code
> -obj-y                          += clk/
>
>  obj-$(CONFIG_MAILBOX)          += mailbox/
>  obj-$(CONFIG_HWSPINLOCK)       += hwspinlock/
> --
> 1.9.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Turquette July 16, 2016, 2:11 a.m. UTC | #2
Quoting Masahiro Yamada (2016-05-05 00:57:17)
> Several SoCs implement platform drivers for clocks rather than
> CLK_OF_DECLARE().  Clocks should come earlier because they are
> prerequisites for many of other drivers.  It will help to mitigate
> EPROBE_DEFER issues.
> 
> Also, drop the comment since it does not look valuable.
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Acked-by: Michael Turquette <mturquette@baylibre.com>

Regards,
Mike

> ---
> 
>  drivers/Makefile | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 8f5d076..a2a4922 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -44,6 +44,7 @@ obj-$(CONFIG_REGULATOR)               += regulator/
>  
>  # reset controllers early, since gpu drivers might rely on them to initialize
>  obj-$(CONFIG_RESET_CONTROLLER) += reset/
> +obj-y                          += clk/
>  
>  # tty/ comes before char/ so that the VT console is the boot-time
>  # default.
> @@ -141,8 +142,6 @@ obj-$(CONFIG_VHOST_RING)    += vhost/
>  obj-$(CONFIG_VLYNQ)            += vlynq/
>  obj-$(CONFIG_STAGING)          += staging/
>  obj-y                          += platform/
> -#common clk code
> -obj-y                          += clk/
>  
>  obj-$(CONFIG_MAILBOX)          += mailbox/
>  obj-$(CONFIG_HWSPINLOCK)       += hwspinlock/
> -- 
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-clk" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada July 16, 2016, 4:57 a.m. UTC | #3
2016-07-16 11:11 GMT+09:00 Michael Turquette <mturquette@baylibre.com>:
> Quoting Masahiro Yamada (2016-05-05 00:57:17)
>> Several SoCs implement platform drivers for clocks rather than
>> CLK_OF_DECLARE().  Clocks should come earlier because they are
>> prerequisites for many of other drivers.  It will help to mitigate
>> EPROBE_DEFER issues.
>>
>> Also, drop the comment since it does not look valuable.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
> Acked-by: Michael Turquette <mturquette@baylibre.com>
>
> Regards,
> Mike
>

Thanks for taking a look at this patch.

While I was wondering where is the best place for
"obj-y += clk/", I thought it can be probed even earlier.

So, v2 is here:
https://patchwork.kernel.org/patch/9129749/

Please consider it as a applicable candidate.

Thanks!
Geert Uytterhoeven July 20, 2016, 10:58 a.m. UTC | #4
On Sat, Jul 16, 2016 at 6:57 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2016-07-16 11:11 GMT+09:00 Michael Turquette <mturquette@baylibre.com>:
>> Quoting Masahiro Yamada (2016-05-05 00:57:17)
>>> Several SoCs implement platform drivers for clocks rather than
>>> CLK_OF_DECLARE().  Clocks should come earlier because they are
>>> prerequisites for many of other drivers.  It will help to mitigate

As are regulators, DMA engines, power domains, ..., but the actual ordering
needed depends on the SoC.

>>> EPROBE_DEFER issues.
>>>
>>> Also, drop the comment since it does not look valuable.
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>
>> Acked-by: Michael Turquette <mturquette@baylibre.com>
>
> Thanks for taking a look at this patch.
>
> While I was wondering where is the best place for
> "obj-y += clk/", I thought it can be probed even earlier.
>
> So, v2 is here:
> https://patchwork.kernel.org/patch/9129749/
>
> Please consider it as a applicable candidate.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada July 21, 2016, 12:59 a.m. UTC | #5
2016-07-20 19:58 GMT+09:00 Geert Uytterhoeven <geert@linux-m68k.org>:
> On Sat, Jul 16, 2016 at 6:57 AM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> 2016-07-16 11:11 GMT+09:00 Michael Turquette <mturquette@baylibre.com>:
>>> Quoting Masahiro Yamada (2016-05-05 00:57:17)
>>>> Several SoCs implement platform drivers for clocks rather than
>>>> CLK_OF_DECLARE().  Clocks should come earlier because they are
>>>> prerequisites for many of other drivers.  It will help to mitigate
>
> As are regulators, DMA engines, power domains, ..., but the actual ordering
> needed depends on the SoC.


Right.


The *mitigate* is a keyword in my git-log.

I am not saying this commit can completely suppress EPROBE_DEFER,
but moving "obj-y += clk/" up is
a right thing for *most* of SoCs.
diff mbox

Patch

diff --git a/drivers/Makefile b/drivers/Makefile
index 8f5d076..a2a4922 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -44,6 +44,7 @@  obj-$(CONFIG_REGULATOR)		+= regulator/
 
 # reset controllers early, since gpu drivers might rely on them to initialize
 obj-$(CONFIG_RESET_CONTROLLER)	+= reset/
+obj-y				+= clk/
 
 # tty/ comes before char/ so that the VT console is the boot-time
 # default.
@@ -141,8 +142,6 @@  obj-$(CONFIG_VHOST_RING)	+= vhost/
 obj-$(CONFIG_VLYNQ)		+= vlynq/
 obj-$(CONFIG_STAGING)		+= staging/
 obj-y				+= platform/
-#common clk code
-obj-y				+= clk/
 
 obj-$(CONFIG_MAILBOX)		+= mailbox/
 obj-$(CONFIG_HWSPINLOCK)	+= hwspinlock/