2
0

220-v6.3-clk-mediatek-clk-gate-Propagate-struct-device-with-m.patch 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. From fe5c8d03f3de89ae058e365b783f8c1314f47490 Mon Sep 17 00:00:00 2001
  2. From: AngeloGioacchino Del Regno <[email protected]>
  3. Date: Fri, 20 Jan 2023 10:20:33 +0100
  4. Subject: [PATCH 01/15] clk: mediatek: clk-gate: Propagate struct device with
  5. mtk_clk_register_gates()
  6. Commit e4c23e19aa2a ("clk: mediatek: Register clock gate with device")
  7. introduces a helper function for the sole purpose of propagating a
  8. struct device pointer to the clk API when registering the mtk-gate
  9. clocks to take advantage of Runtime PM when/where needed and where
  10. a power domain is defined in devicetree.
  11. Function mtk_clk_register_gates() then becomes a wrapper around the
  12. new mtk_clk_register_gates_with_dev() function that will simply pass
  13. NULL as struct device: this is essential when registering drivers
  14. with CLK_OF_DECLARE instead of as a platform device, as there will
  15. be no struct device to pass... but we can as well simply have only
  16. one function that always takes such pointer as a param and pass NULL
  17. when unavoidable.
  18. This commit removes the mtk_clk_register_gates() wrapper and renames
  19. mtk_clk_register_gates_with_dev() to the former and all of the calls
  20. to either of the two functions were fixed in all drivers in order to
  21. reflect this change; also, to improve consistency with other kernel
  22. functions, the pointer to struct device was moved as the first param.
  23. Since a lot of MediaTek clock drivers are actually registering as a
  24. platform device, but were still registering the mtk-gate clocks
  25. without passing any struct device to the clock framework, they've
  26. been changed to pass a valid one now, as to make all those platforms
  27. able to use runtime power management where available.
  28. While at it, some much needed indentation changes were also done.
  29. Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
  30. Reviewed-by: Chen-Yu Tsai <[email protected]>
  31. Reviewed-by: Markus Schneider-Pargmann <[email protected]>
  32. Tested-by: Miles Chen <[email protected]>
  33. Link: https://lore.kernel.org/r/[email protected]
  34. Tested-by: Mingming Su <[email protected]>
  35. Signed-off-by: Stephen Boyd <[email protected]>
  36. [[email protected]: dropped parts not relevant for OpenWrt]
  37. ---
  38. drivers/clk/mediatek/clk-gate.c | 23 +++++++---------------
  39. drivers/clk/mediatek/clk-gate.h | 7 +------
  40. drivers/clk/mediatek/clk-mt2701-aud.c | 4 ++--
  41. drivers/clk/mediatek/clk-mt2701-eth.c | 4 ++--
  42. drivers/clk/mediatek/clk-mt2701-g3d.c | 2 +-
  43. drivers/clk/mediatek/clk-mt2701-hif.c | 4 ++--
  44. drivers/clk/mediatek/clk-mt2701-mm.c | 4 ++--
  45. drivers/clk/mediatek/clk-mt2701.c | 12 +++++------
  46. drivers/clk/mediatek/clk-mt2712-mm.c | 4 ++--
  47. drivers/clk/mediatek/clk-mt2712.c | 12 +++++------
  48. drivers/clk/mediatek/clk-mt7622-aud.c | 4 ++--
  49. drivers/clk/mediatek/clk-mt7622-eth.c | 8 ++++----
  50. drivers/clk/mediatek/clk-mt7622-hif.c | 8 ++++----
  51. drivers/clk/mediatek/clk-mt7622.c | 14 ++++++-------
  52. drivers/clk/mediatek/clk-mt7629-eth.c | 7 ++++---
  53. drivers/clk/mediatek/clk-mt7629-hif.c | 8 ++++----
  54. drivers/clk/mediatek/clk-mt7629.c | 10 +++++-----
  55. drivers/clk/mediatek/clk-mt7986-eth.c | 10 +++++-----
  56. drivers/clk/mediatek/clk-mt7986-infracfg.c | 4 ++--
  57. 19 files changed, 68 insertions(+), 81 deletions(-)
  58. --- a/drivers/clk/mediatek/clk-gate.c
  59. +++ b/drivers/clk/mediatek/clk-gate.c
  60. @@ -152,12 +152,12 @@ const struct clk_ops mtk_clk_gate_ops_no
  61. };
  62. EXPORT_SYMBOL_GPL(mtk_clk_gate_ops_no_setclr_inv);
  63. -static struct clk_hw *mtk_clk_register_gate(const char *name,
  64. +static struct clk_hw *mtk_clk_register_gate(struct device *dev, const char *name,
  65. const char *parent_name,
  66. struct regmap *regmap, int set_ofs,
  67. int clr_ofs, int sta_ofs, u8 bit,
  68. const struct clk_ops *ops,
  69. - unsigned long flags, struct device *dev)
  70. + unsigned long flags)
  71. {
  72. struct mtk_clk_gate *cg;
  73. int ret;
  74. @@ -202,10 +202,9 @@ static void mtk_clk_unregister_gate(stru
  75. kfree(cg);
  76. }
  77. -int mtk_clk_register_gates_with_dev(struct device_node *node,
  78. - const struct mtk_gate *clks, int num,
  79. - struct clk_hw_onecell_data *clk_data,
  80. - struct device *dev)
  81. +int mtk_clk_register_gates(struct device *dev, struct device_node *node,
  82. + const struct mtk_gate *clks, int num,
  83. + struct clk_hw_onecell_data *clk_data)
  84. {
  85. int i;
  86. struct clk_hw *hw;
  87. @@ -229,13 +228,13 @@ int mtk_clk_register_gates_with_dev(stru
  88. continue;
  89. }
  90. - hw = mtk_clk_register_gate(gate->name, gate->parent_name,
  91. + hw = mtk_clk_register_gate(dev, gate->name, gate->parent_name,
  92. regmap,
  93. gate->regs->set_ofs,
  94. gate->regs->clr_ofs,
  95. gate->regs->sta_ofs,
  96. gate->shift, gate->ops,
  97. - gate->flags, dev);
  98. + gate->flags);
  99. if (IS_ERR(hw)) {
  100. pr_err("Failed to register clk %s: %pe\n", gate->name,
  101. @@ -261,14 +260,6 @@ err:
  102. return PTR_ERR(hw);
  103. }
  104. -EXPORT_SYMBOL_GPL(mtk_clk_register_gates_with_dev);
  105. -
  106. -int mtk_clk_register_gates(struct device_node *node,
  107. - const struct mtk_gate *clks, int num,
  108. - struct clk_hw_onecell_data *clk_data)
  109. -{
  110. - return mtk_clk_register_gates_with_dev(node, clks, num, clk_data, NULL);
  111. -}
  112. EXPORT_SYMBOL_GPL(mtk_clk_register_gates);
  113. void mtk_clk_unregister_gates(const struct mtk_gate *clks, int num,
  114. --- a/drivers/clk/mediatek/clk-gate.h
  115. +++ b/drivers/clk/mediatek/clk-gate.h
  116. @@ -50,15 +50,10 @@ struct mtk_gate {
  117. #define GATE_MTK(_id, _name, _parent, _regs, _shift, _ops) \
  118. GATE_MTK_FLAGS(_id, _name, _parent, _regs, _shift, _ops, 0)
  119. -int mtk_clk_register_gates(struct device_node *node,
  120. +int mtk_clk_register_gates(struct device *dev, struct device_node *node,
  121. const struct mtk_gate *clks, int num,
  122. struct clk_hw_onecell_data *clk_data);
  123. -int mtk_clk_register_gates_with_dev(struct device_node *node,
  124. - const struct mtk_gate *clks, int num,
  125. - struct clk_hw_onecell_data *clk_data,
  126. - struct device *dev);
  127. -
  128. void mtk_clk_unregister_gates(const struct mtk_gate *clks, int num,
  129. struct clk_hw_onecell_data *clk_data);
  130. --- a/drivers/clk/mediatek/clk-mt2701-aud.c
  131. +++ b/drivers/clk/mediatek/clk-mt2701-aud.c
  132. @@ -127,8 +127,8 @@ static int clk_mt2701_aud_probe(struct p
  133. clk_data = mtk_alloc_clk_data(CLK_AUD_NR);
  134. - mtk_clk_register_gates(node, audio_clks, ARRAY_SIZE(audio_clks),
  135. - clk_data);
  136. + mtk_clk_register_gates(&pdev->dev, node, audio_clks,
  137. + ARRAY_SIZE(audio_clks), clk_data);
  138. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  139. if (r) {
  140. --- a/drivers/clk/mediatek/clk-mt2701-eth.c
  141. +++ b/drivers/clk/mediatek/clk-mt2701-eth.c
  142. @@ -51,8 +51,8 @@ static int clk_mt2701_eth_probe(struct p
  143. clk_data = mtk_alloc_clk_data(CLK_ETHSYS_NR);
  144. - mtk_clk_register_gates(node, eth_clks, ARRAY_SIZE(eth_clks),
  145. - clk_data);
  146. + mtk_clk_register_gates(&pdev->dev, node, eth_clks,
  147. + ARRAY_SIZE(eth_clks), clk_data);
  148. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  149. if (r)
  150. --- a/drivers/clk/mediatek/clk-mt2701-g3d.c
  151. +++ b/drivers/clk/mediatek/clk-mt2701-g3d.c
  152. @@ -45,7 +45,7 @@ static int clk_mt2701_g3dsys_init(struct
  153. clk_data = mtk_alloc_clk_data(CLK_G3DSYS_NR);
  154. - mtk_clk_register_gates(node, g3d_clks, ARRAY_SIZE(g3d_clks),
  155. + mtk_clk_register_gates(&pdev->dev, node, g3d_clks, ARRAY_SIZE(g3d_clks),
  156. clk_data);
  157. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  158. --- a/drivers/clk/mediatek/clk-mt2701-hif.c
  159. +++ b/drivers/clk/mediatek/clk-mt2701-hif.c
  160. @@ -48,8 +48,8 @@ static int clk_mt2701_hif_probe(struct p
  161. clk_data = mtk_alloc_clk_data(CLK_HIFSYS_NR);
  162. - mtk_clk_register_gates(node, hif_clks, ARRAY_SIZE(hif_clks),
  163. - clk_data);
  164. + mtk_clk_register_gates(&pdev->dev, node, hif_clks,
  165. + ARRAY_SIZE(hif_clks), clk_data);
  166. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  167. if (r) {
  168. --- a/drivers/clk/mediatek/clk-mt2701-mm.c
  169. +++ b/drivers/clk/mediatek/clk-mt2701-mm.c
  170. @@ -76,8 +76,8 @@ static int clk_mt2701_mm_probe(struct pl
  171. clk_data = mtk_alloc_clk_data(CLK_MM_NR);
  172. - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks),
  173. - clk_data);
  174. + mtk_clk_register_gates(&pdev->dev, node, mm_clks,
  175. + ARRAY_SIZE(mm_clks), clk_data);
  176. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  177. if (r)
  178. --- a/drivers/clk/mediatek/clk-mt2701.c
  179. +++ b/drivers/clk/mediatek/clk-mt2701.c
  180. @@ -683,8 +683,8 @@ static int mtk_topckgen_init(struct plat
  181. mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
  182. base, &mt2701_clk_lock, clk_data);
  183. - mtk_clk_register_gates(node, top_clks, ARRAY_SIZE(top_clks),
  184. - clk_data);
  185. + mtk_clk_register_gates(&pdev->dev, node, top_clks,
  186. + ARRAY_SIZE(top_clks), clk_data);
  187. return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  188. }
  189. @@ -783,8 +783,8 @@ static int mtk_infrasys_init(struct plat
  190. }
  191. }
  192. - mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
  193. - infra_clk_data);
  194. + mtk_clk_register_gates(&pdev->dev, node, infra_clks,
  195. + ARRAY_SIZE(infra_clks), infra_clk_data);
  196. mtk_clk_register_factors(infra_fixed_divs, ARRAY_SIZE(infra_fixed_divs),
  197. infra_clk_data);
  198. @@ -894,8 +894,8 @@ static int mtk_pericfg_init(struct platf
  199. clk_data = mtk_alloc_clk_data(CLK_PERI_NR);
  200. - mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
  201. - clk_data);
  202. + mtk_clk_register_gates(&pdev->dev, node, peri_clks,
  203. + ARRAY_SIZE(peri_clks), clk_data);
  204. mtk_clk_register_composites(peri_muxs, ARRAY_SIZE(peri_muxs), base,
  205. &mt2701_clk_lock, clk_data);
  206. --- a/drivers/clk/mediatek/clk-mt2712-mm.c
  207. +++ b/drivers/clk/mediatek/clk-mt2712-mm.c
  208. @@ -117,8 +117,8 @@ static int clk_mt2712_mm_probe(struct pl
  209. clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
  210. - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks),
  211. - clk_data);
  212. + mtk_clk_register_gates(&pdev->dev, node, mm_clks,
  213. + ARRAY_SIZE(mm_clks), clk_data);
  214. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  215. --- a/drivers/clk/mediatek/clk-mt2712.c
  216. +++ b/drivers/clk/mediatek/clk-mt2712.c
  217. @@ -1324,8 +1324,8 @@ static int clk_mt2712_top_probe(struct p
  218. &mt2712_clk_lock, top_clk_data);
  219. mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs), base,
  220. &mt2712_clk_lock, top_clk_data);
  221. - mtk_clk_register_gates(node, top_clks, ARRAY_SIZE(top_clks),
  222. - top_clk_data);
  223. + mtk_clk_register_gates(&pdev->dev, node, top_clks,
  224. + ARRAY_SIZE(top_clks), top_clk_data);
  225. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, top_clk_data);
  226. @@ -1344,8 +1344,8 @@ static int clk_mt2712_infra_probe(struct
  227. clk_data = mtk_alloc_clk_data(CLK_INFRA_NR_CLK);
  228. - mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
  229. - clk_data);
  230. + mtk_clk_register_gates(&pdev->dev, node, infra_clks,
  231. + ARRAY_SIZE(infra_clks), clk_data);
  232. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  233. @@ -1366,8 +1366,8 @@ static int clk_mt2712_peri_probe(struct
  234. clk_data = mtk_alloc_clk_data(CLK_PERI_NR_CLK);
  235. - mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
  236. - clk_data);
  237. + mtk_clk_register_gates(&pdev->dev, node, peri_clks,
  238. + ARRAY_SIZE(peri_clks), clk_data);
  239. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  240. --- a/drivers/clk/mediatek/clk-mt7622-aud.c
  241. +++ b/drivers/clk/mediatek/clk-mt7622-aud.c
  242. @@ -114,8 +114,8 @@ static int clk_mt7622_audiosys_init(stru
  243. clk_data = mtk_alloc_clk_data(CLK_AUDIO_NR_CLK);
  244. - mtk_clk_register_gates(node, audio_clks, ARRAY_SIZE(audio_clks),
  245. - clk_data);
  246. + mtk_clk_register_gates(&pdev->dev, node, audio_clks,
  247. + ARRAY_SIZE(audio_clks), clk_data);
  248. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  249. if (r) {
  250. --- a/drivers/clk/mediatek/clk-mt7622-eth.c
  251. +++ b/drivers/clk/mediatek/clk-mt7622-eth.c
  252. @@ -69,8 +69,8 @@ static int clk_mt7622_ethsys_init(struct
  253. clk_data = mtk_alloc_clk_data(CLK_ETH_NR_CLK);
  254. - mtk_clk_register_gates(node, eth_clks, ARRAY_SIZE(eth_clks),
  255. - clk_data);
  256. + mtk_clk_register_gates(&pdev->dev, node, eth_clks,
  257. + ARRAY_SIZE(eth_clks), clk_data);
  258. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  259. if (r)
  260. @@ -91,8 +91,8 @@ static int clk_mt7622_sgmiisys_init(stru
  261. clk_data = mtk_alloc_clk_data(CLK_SGMII_NR_CLK);
  262. - mtk_clk_register_gates(node, sgmii_clks, ARRAY_SIZE(sgmii_clks),
  263. - clk_data);
  264. + mtk_clk_register_gates(&pdev->dev, node, sgmii_clks,
  265. + ARRAY_SIZE(sgmii_clks), clk_data);
  266. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  267. if (r)
  268. --- a/drivers/clk/mediatek/clk-mt7622-hif.c
  269. +++ b/drivers/clk/mediatek/clk-mt7622-hif.c
  270. @@ -80,8 +80,8 @@ static int clk_mt7622_ssusbsys_init(stru
  271. clk_data = mtk_alloc_clk_data(CLK_SSUSB_NR_CLK);
  272. - mtk_clk_register_gates(node, ssusb_clks, ARRAY_SIZE(ssusb_clks),
  273. - clk_data);
  274. + mtk_clk_register_gates(&pdev->dev, node, ssusb_clks,
  275. + ARRAY_SIZE(ssusb_clks), clk_data);
  276. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  277. if (r)
  278. @@ -102,8 +102,8 @@ static int clk_mt7622_pciesys_init(struc
  279. clk_data = mtk_alloc_clk_data(CLK_PCIE_NR_CLK);
  280. - mtk_clk_register_gates(node, pcie_clks, ARRAY_SIZE(pcie_clks),
  281. - clk_data);
  282. + mtk_clk_register_gates(&pdev->dev, node, pcie_clks,
  283. + ARRAY_SIZE(pcie_clks), clk_data);
  284. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  285. if (r)
  286. --- a/drivers/clk/mediatek/clk-mt7622.c
  287. +++ b/drivers/clk/mediatek/clk-mt7622.c
  288. @@ -621,8 +621,8 @@ static int mtk_topckgen_init(struct plat
  289. mtk_clk_register_dividers(top_adj_divs, ARRAY_SIZE(top_adj_divs),
  290. base, &mt7622_clk_lock, clk_data);
  291. - mtk_clk_register_gates(node, top_clks, ARRAY_SIZE(top_clks),
  292. - clk_data);
  293. + mtk_clk_register_gates(&pdev->dev, node, top_clks,
  294. + ARRAY_SIZE(top_clks), clk_data);
  295. return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  296. }
  297. @@ -635,8 +635,8 @@ static int mtk_infrasys_init(struct plat
  298. clk_data = mtk_alloc_clk_data(CLK_INFRA_NR_CLK);
  299. - mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
  300. - clk_data);
  301. + mtk_clk_register_gates(&pdev->dev, node, infra_clks,
  302. + ARRAY_SIZE(infra_clks), clk_data);
  303. mtk_clk_register_cpumuxes(node, infra_muxes, ARRAY_SIZE(infra_muxes),
  304. clk_data);
  305. @@ -663,7 +663,7 @@ static int mtk_apmixedsys_init(struct pl
  306. mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls),
  307. clk_data);
  308. - mtk_clk_register_gates(node, apmixed_clks,
  309. + mtk_clk_register_gates(&pdev->dev, node, apmixed_clks,
  310. ARRAY_SIZE(apmixed_clks), clk_data);
  311. return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  312. @@ -682,8 +682,8 @@ static int mtk_pericfg_init(struct platf
  313. clk_data = mtk_alloc_clk_data(CLK_PERI_NR_CLK);
  314. - mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
  315. - clk_data);
  316. + mtk_clk_register_gates(&pdev->dev, node, peri_clks,
  317. + ARRAY_SIZE(peri_clks), clk_data);
  318. mtk_clk_register_composites(peri_muxes, ARRAY_SIZE(peri_muxes), base,
  319. &mt7622_clk_lock, clk_data);
  320. --- a/drivers/clk/mediatek/clk-mt7629-eth.c
  321. +++ b/drivers/clk/mediatek/clk-mt7629-eth.c
  322. @@ -80,7 +80,8 @@ static int clk_mt7629_ethsys_init(struct
  323. clk_data = mtk_alloc_clk_data(CLK_ETH_NR_CLK);
  324. - mtk_clk_register_gates(node, eth_clks, CLK_ETH_NR_CLK, clk_data);
  325. + mtk_clk_register_gates(&pdev->dev, node, eth_clks,
  326. + CLK_ETH_NR_CLK, clk_data);
  327. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  328. if (r)
  329. @@ -102,8 +103,8 @@ static int clk_mt7629_sgmiisys_init(stru
  330. clk_data = mtk_alloc_clk_data(CLK_SGMII_NR_CLK);
  331. - mtk_clk_register_gates(node, sgmii_clks[id++], CLK_SGMII_NR_CLK,
  332. - clk_data);
  333. + mtk_clk_register_gates(&pdev->dev, node, sgmii_clks[id++],
  334. + CLK_SGMII_NR_CLK, clk_data);
  335. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  336. if (r)
  337. --- a/drivers/clk/mediatek/clk-mt7629-hif.c
  338. +++ b/drivers/clk/mediatek/clk-mt7629-hif.c
  339. @@ -75,8 +75,8 @@ static int clk_mt7629_ssusbsys_init(stru
  340. clk_data = mtk_alloc_clk_data(CLK_SSUSB_NR_CLK);
  341. - mtk_clk_register_gates(node, ssusb_clks, ARRAY_SIZE(ssusb_clks),
  342. - clk_data);
  343. + mtk_clk_register_gates(&pdev->dev, node, ssusb_clks,
  344. + ARRAY_SIZE(ssusb_clks), clk_data);
  345. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  346. if (r)
  347. @@ -97,8 +97,8 @@ static int clk_mt7629_pciesys_init(struc
  348. clk_data = mtk_alloc_clk_data(CLK_PCIE_NR_CLK);
  349. - mtk_clk_register_gates(node, pcie_clks, ARRAY_SIZE(pcie_clks),
  350. - clk_data);
  351. + mtk_clk_register_gates(&pdev->dev, node, pcie_clks,
  352. + ARRAY_SIZE(pcie_clks), clk_data);
  353. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  354. if (r)
  355. --- a/drivers/clk/mediatek/clk-mt7629.c
  356. +++ b/drivers/clk/mediatek/clk-mt7629.c
  357. @@ -581,8 +581,8 @@ static int mtk_infrasys_init(struct plat
  358. clk_data = mtk_alloc_clk_data(CLK_INFRA_NR_CLK);
  359. - mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
  360. - clk_data);
  361. + mtk_clk_register_gates(&pdev->dev, node, infra_clks,
  362. + ARRAY_SIZE(infra_clks), clk_data);
  363. mtk_clk_register_cpumuxes(node, infra_muxes, ARRAY_SIZE(infra_muxes),
  364. clk_data);
  365. @@ -604,8 +604,8 @@ static int mtk_pericfg_init(struct platf
  366. clk_data = mtk_alloc_clk_data(CLK_PERI_NR_CLK);
  367. - mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks),
  368. - clk_data);
  369. + mtk_clk_register_gates(&pdev->dev, node, peri_clks,
  370. + ARRAY_SIZE(peri_clks), clk_data);
  371. mtk_clk_register_composites(peri_muxes, ARRAY_SIZE(peri_muxes), base,
  372. &mt7629_clk_lock, clk_data);
  373. @@ -631,7 +631,7 @@ static int mtk_apmixedsys_init(struct pl
  374. mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls),
  375. clk_data);
  376. - mtk_clk_register_gates(node, apmixed_clks,
  377. + mtk_clk_register_gates(&pdev->dev, node, apmixed_clks,
  378. ARRAY_SIZE(apmixed_clks), clk_data);
  379. clk_prepare_enable(clk_data->hws[CLK_APMIXED_ARMPLL]->clk);
  380. --- a/drivers/clk/mediatek/clk-mt7986-eth.c
  381. +++ b/drivers/clk/mediatek/clk-mt7986-eth.c
  382. @@ -72,8 +72,8 @@ static void __init mtk_sgmiisys_0_init(s
  383. clk_data = mtk_alloc_clk_data(ARRAY_SIZE(sgmii0_clks));
  384. - mtk_clk_register_gates(node, sgmii0_clks, ARRAY_SIZE(sgmii0_clks),
  385. - clk_data);
  386. + mtk_clk_register_gates(NULL, node, sgmii0_clks,
  387. + ARRAY_SIZE(sgmii0_clks), clk_data);
  388. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  389. if (r)
  390. @@ -90,8 +90,8 @@ static void __init mtk_sgmiisys_1_init(s
  391. clk_data = mtk_alloc_clk_data(ARRAY_SIZE(sgmii1_clks));
  392. - mtk_clk_register_gates(node, sgmii1_clks, ARRAY_SIZE(sgmii1_clks),
  393. - clk_data);
  394. + mtk_clk_register_gates(NULL, node, sgmii1_clks,
  395. + ARRAY_SIZE(sgmii1_clks), clk_data);
  396. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  397. @@ -109,7 +109,7 @@ static void __init mtk_ethsys_init(struc
  398. clk_data = mtk_alloc_clk_data(ARRAY_SIZE(eth_clks));
  399. - mtk_clk_register_gates(node, eth_clks, ARRAY_SIZE(eth_clks), clk_data);
  400. + mtk_clk_register_gates(NULL, node, eth_clks, ARRAY_SIZE(eth_clks), clk_data);
  401. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  402. --- a/drivers/clk/mediatek/clk-mt7986-infracfg.c
  403. +++ b/drivers/clk/mediatek/clk-mt7986-infracfg.c
  404. @@ -180,8 +180,8 @@ static int clk_mt7986_infracfg_probe(str
  405. mtk_clk_register_factors(infra_divs, ARRAY_SIZE(infra_divs), clk_data);
  406. mtk_clk_register_muxes(infra_muxes, ARRAY_SIZE(infra_muxes), node,
  407. &mt7986_clk_lock, clk_data);
  408. - mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks),
  409. - clk_data);
  410. + mtk_clk_register_gates(&pdev->dev, node, infra_clks,
  411. + ARRAY_SIZE(infra_clks), clk_data);
  412. r = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
  413. if (r) {
  414. --- a/drivers/clk/mediatek/clk-mtk.c
  415. +++ b/drivers/clk/mediatek/clk-mtk.c
  416. @@ -459,8 +459,8 @@ int mtk_clk_simple_probe(struct platform
  417. if (!clk_data)
  418. return -ENOMEM;
  419. - r = mtk_clk_register_gates_with_dev(node, mcd->clks, mcd->num_clks,
  420. - clk_data, &pdev->dev);
  421. + r = mtk_clk_register_gates(&pdev->dev, node, mcd->clks, mcd->num_clks,
  422. + clk_data);
  423. if (r)
  424. goto free_data;