On Thu, Aug 06, 2020 at 03:39:45PM +0800, Shengjiu Wang wrote: > } else if (of_node_name_eq(cpu_np, "esai")) { > + struct clk *esai_clk = clk_get(&cpu_pdev->dev, "extal"); > + > + if (!IS_ERR(esai_clk)) { > + priv->cpu_priv.sysclk_freq[TX] = clk_get_rate(esai_clk); > + priv->cpu_priv.sysclk_freq[RX] = clk_get_rate(esai_clk); > + clk_put(esai_clk); > + } This should handle probe deferral. Also if this clock is in use shouldn't we be enabling it? It looks like it's intended to be a crystal so it's probably forced on all the time but sometimes there's power control for crystals, or perhaps someone might do something unusual with the hardware.
Attachment:
signature.asc
Description: PGP signature