112-clk-at91-Fix-the-declaration-of-the-clocks.patch 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. From 5a25e2437af0db535b17da352fb16680a8dfdeda Mon Sep 17 00:00:00 2001
  2. From: Tudor Ambarus <[email protected]>
  3. Date: Wed, 3 Feb 2021 17:43:32 +0200
  4. Subject: [PATCH 112/247] clk: at91: Fix the declaration of the clocks
  5. These are all "early clocks" that require initialization just at
  6. of_clk_init() time. Use CLK_OF_DECLARE() to declare them.
  7. This also fixes a problem that was spotted when fw_devlink was
  8. set to 'on' by default: the boards failed to boot. The reason is
  9. that CLK_OF_DECLARE_DRIVER() clears the OF_POPULATED and causes
  10. the consumers of the clock to be postponed by fw_devlink until
  11. the second initialization routine of the clock has been completed.
  12. One of the consumers of the clock is the timer, which is used as a
  13. clocksource, and needs the clock initialized early. Postponing the
  14. timers caused the fail at boot.
  15. Signed-off-by: Tudor Ambarus <[email protected]>
  16. Link: https://lore.kernel.org/r/[email protected]
  17. Acked-by: Saravana Kannan <[email protected]>
  18. Tested-by: Eugen Hristev <[email protected]>
  19. Acked-by: Nicolas Ferre <[email protected]>
  20. Reviewed-by: Claudiu Beznea <[email protected]>
  21. Signed-off-by: Stephen Boyd <[email protected]>
  22. ---
  23. drivers/clk/at91/at91rm9200.c | 3 +--
  24. drivers/clk/at91/at91sam9260.c | 16 ++++++++--------
  25. drivers/clk/at91/at91sam9g45.c | 3 +--
  26. drivers/clk/at91/at91sam9n12.c | 3 +--
  27. drivers/clk/at91/at91sam9rl.c | 3 ++-
  28. drivers/clk/at91/at91sam9x5.c | 20 ++++++++++----------
  29. drivers/clk/at91/sama5d2.c | 3 ++-
  30. drivers/clk/at91/sama5d3.c | 2 +-
  31. drivers/clk/at91/sama5d4.c | 3 ++-
  32. 9 files changed, 28 insertions(+), 28 deletions(-)
  33. diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
  34. index 0fad1009f315..428a6f4b9ebc 100644
  35. --- a/drivers/clk/at91/at91rm9200.c
  36. +++ b/drivers/clk/at91/at91rm9200.c
  37. @@ -215,5 +215,4 @@ static void __init at91rm9200_pmc_setup(struct device_node *np)
  38. * deferring properly. Once this is fixed, this can be switched to a platform
  39. * driver.
  40. */
  41. -CLK_OF_DECLARE_DRIVER(at91rm9200_pmc, "atmel,at91rm9200-pmc",
  42. - at91rm9200_pmc_setup);
  43. +CLK_OF_DECLARE(at91rm9200_pmc, "atmel,at91rm9200-pmc", at91rm9200_pmc_setup);
  44. diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c
  45. index ceb5495f723a..b29843bea278 100644
  46. --- a/drivers/clk/at91/at91sam9260.c
  47. +++ b/drivers/clk/at91/at91sam9260.c
  48. @@ -491,26 +491,26 @@ static void __init at91sam9260_pmc_setup(struct device_node *np)
  49. {
  50. at91sam926x_pmc_setup(np, &at91sam9260_data);
  51. }
  52. -CLK_OF_DECLARE_DRIVER(at91sam9260_pmc, "atmel,at91sam9260-pmc",
  53. - at91sam9260_pmc_setup);
  54. +
  55. +CLK_OF_DECLARE(at91sam9260_pmc, "atmel,at91sam9260-pmc", at91sam9260_pmc_setup);
  56. static void __init at91sam9261_pmc_setup(struct device_node *np)
  57. {
  58. at91sam926x_pmc_setup(np, &at91sam9261_data);
  59. }
  60. -CLK_OF_DECLARE_DRIVER(at91sam9261_pmc, "atmel,at91sam9261-pmc",
  61. - at91sam9261_pmc_setup);
  62. +
  63. +CLK_OF_DECLARE(at91sam9261_pmc, "atmel,at91sam9261-pmc", at91sam9261_pmc_setup);
  64. static void __init at91sam9263_pmc_setup(struct device_node *np)
  65. {
  66. at91sam926x_pmc_setup(np, &at91sam9263_data);
  67. }
  68. -CLK_OF_DECLARE_DRIVER(at91sam9263_pmc, "atmel,at91sam9263-pmc",
  69. - at91sam9263_pmc_setup);
  70. +
  71. +CLK_OF_DECLARE(at91sam9263_pmc, "atmel,at91sam9263-pmc", at91sam9263_pmc_setup);
  72. static void __init at91sam9g20_pmc_setup(struct device_node *np)
  73. {
  74. at91sam926x_pmc_setup(np, &at91sam9g20_data);
  75. }
  76. -CLK_OF_DECLARE_DRIVER(at91sam9g20_pmc, "atmel,at91sam9g20-pmc",
  77. - at91sam9g20_pmc_setup);
  78. +
  79. +CLK_OF_DECLARE(at91sam9g20_pmc, "atmel,at91sam9g20-pmc", at91sam9g20_pmc_setup);
  80. diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c
  81. index 0214333dedd3..15da0dfe3ef2 100644
  82. --- a/drivers/clk/at91/at91sam9g45.c
  83. +++ b/drivers/clk/at91/at91sam9g45.c
  84. @@ -228,5 +228,4 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np)
  85. * The TCB is used as the clocksource so its clock is needed early. This means
  86. * this can't be a platform driver.
  87. */
  88. -CLK_OF_DECLARE_DRIVER(at91sam9g45_pmc, "atmel,at91sam9g45-pmc",
  89. - at91sam9g45_pmc_setup);
  90. +CLK_OF_DECLARE(at91sam9g45_pmc, "atmel,at91sam9g45-pmc", at91sam9g45_pmc_setup);
  91. diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c
  92. index f9db5316a7f1..7fe435f4b46b 100644
  93. --- a/drivers/clk/at91/at91sam9n12.c
  94. +++ b/drivers/clk/at91/at91sam9n12.c
  95. @@ -255,5 +255,4 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np)
  96. * The TCB is used as the clocksource so its clock is needed early. This means
  97. * this can't be a platform driver.
  98. */
  99. -CLK_OF_DECLARE_DRIVER(at91sam9n12_pmc, "atmel,at91sam9n12-pmc",
  100. - at91sam9n12_pmc_setup);
  101. +CLK_OF_DECLARE(at91sam9n12_pmc, "atmel,at91sam9n12-pmc", at91sam9n12_pmc_setup);
  102. diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c
  103. index 66736e03cfef..ecbabf5162bd 100644
  104. --- a/drivers/clk/at91/at91sam9rl.c
  105. +++ b/drivers/clk/at91/at91sam9rl.c
  106. @@ -186,4 +186,5 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np)
  107. err_free:
  108. kfree(at91sam9rl_pmc);
  109. }
  110. -CLK_OF_DECLARE_DRIVER(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup);
  111. +
  112. +CLK_OF_DECLARE(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup);
  113. diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c
  114. index 79b9d3667228..5cce48c64ea2 100644
  115. --- a/drivers/clk/at91/at91sam9x5.c
  116. +++ b/drivers/clk/at91/at91sam9x5.c
  117. @@ -302,33 +302,33 @@ static void __init at91sam9g15_pmc_setup(struct device_node *np)
  118. {
  119. at91sam9x5_pmc_setup(np, at91sam9g15_periphck, true);
  120. }
  121. -CLK_OF_DECLARE_DRIVER(at91sam9g15_pmc, "atmel,at91sam9g15-pmc",
  122. - at91sam9g15_pmc_setup);
  123. +
  124. +CLK_OF_DECLARE(at91sam9g15_pmc, "atmel,at91sam9g15-pmc", at91sam9g15_pmc_setup);
  125. static void __init at91sam9g25_pmc_setup(struct device_node *np)
  126. {
  127. at91sam9x5_pmc_setup(np, at91sam9g25_periphck, false);
  128. }
  129. -CLK_OF_DECLARE_DRIVER(at91sam9g25_pmc, "atmel,at91sam9g25-pmc",
  130. - at91sam9g25_pmc_setup);
  131. +
  132. +CLK_OF_DECLARE(at91sam9g25_pmc, "atmel,at91sam9g25-pmc", at91sam9g25_pmc_setup);
  133. static void __init at91sam9g35_pmc_setup(struct device_node *np)
  134. {
  135. at91sam9x5_pmc_setup(np, at91sam9g35_periphck, true);
  136. }
  137. -CLK_OF_DECLARE_DRIVER(at91sam9g35_pmc, "atmel,at91sam9g35-pmc",
  138. - at91sam9g35_pmc_setup);
  139. +
  140. +CLK_OF_DECLARE(at91sam9g35_pmc, "atmel,at91sam9g35-pmc", at91sam9g35_pmc_setup);
  141. static void __init at91sam9x25_pmc_setup(struct device_node *np)
  142. {
  143. at91sam9x5_pmc_setup(np, at91sam9x25_periphck, false);
  144. }
  145. -CLK_OF_DECLARE_DRIVER(at91sam9x25_pmc, "atmel,at91sam9x25-pmc",
  146. - at91sam9x25_pmc_setup);
  147. +
  148. +CLK_OF_DECLARE(at91sam9x25_pmc, "atmel,at91sam9x25-pmc", at91sam9x25_pmc_setup);
  149. static void __init at91sam9x35_pmc_setup(struct device_node *np)
  150. {
  151. at91sam9x5_pmc_setup(np, at91sam9x35_periphck, true);
  152. }
  153. -CLK_OF_DECLARE_DRIVER(at91sam9x35_pmc, "atmel,at91sam9x35-pmc",
  154. - at91sam9x35_pmc_setup);
  155. +
  156. +CLK_OF_DECLARE(at91sam9x35_pmc, "atmel,at91sam9x35-pmc", at91sam9x35_pmc_setup);
  157. diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c
  158. index 9a5cbc7cd55a..3d1f78176c3e 100644
  159. --- a/drivers/clk/at91/sama5d2.c
  160. +++ b/drivers/clk/at91/sama5d2.c
  161. @@ -372,4 +372,5 @@ static void __init sama5d2_pmc_setup(struct device_node *np)
  162. err_free:
  163. kfree(sama5d2_pmc);
  164. }
  165. -CLK_OF_DECLARE_DRIVER(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup);
  166. +
  167. +CLK_OF_DECLARE(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup);
  168. diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c
  169. index 87009ee8effc..d376257807d2 100644
  170. --- a/drivers/clk/at91/sama5d3.c
  171. +++ b/drivers/clk/at91/sama5d3.c
  172. @@ -255,4 +255,4 @@ static void __init sama5d3_pmc_setup(struct device_node *np)
  173. * The TCB is used as the clocksource so its clock is needed early. This means
  174. * this can't be a platform driver.
  175. */
  176. -CLK_OF_DECLARE_DRIVER(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup);
  177. +CLK_OF_DECLARE(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup);
  178. diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c
  179. index 57fff790188b..5cbaac68da44 100644
  180. --- a/drivers/clk/at91/sama5d4.c
  181. +++ b/drivers/clk/at91/sama5d4.c
  182. @@ -286,4 +286,5 @@ static void __init sama5d4_pmc_setup(struct device_node *np)
  183. err_free:
  184. kfree(sama5d4_pmc);
  185. }
  186. -CLK_OF_DECLARE_DRIVER(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup);
  187. +
  188. +CLK_OF_DECLARE(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup);
  189. --
  190. 2.32.0