Quoting Krzysztof Kozlowski (2020-10-15 05:52:30) > On Thu, 15 Oct 2020 at 14:25, <daire.mcnamara@xxxxxxxxxxxxx> wrote: > > +struct pfsoc_cfg_hw_clock { > > + struct pfsoc_cfg_clock cfg; > > + void __iomem *sys_base; > > + /* lock is used to prevent multiple writes */ > > + spinlock_t *lock; > > Doesn't the core already provide you locking? Why do you need it? > Please keep the lock. The core has locking for itself and it shouldn't be relied upon to ensure that register writes in this driver are protected from each other, assuming that clks are sharing registers and need to be protected from each other. > > + struct clk_hw hw; > > + struct clk_init_data init; > > +}; > > +