On Wed, 2018-11-14 at 14:27 +0100, John Crispin wrote: > On 14/11/2018 13:47, Thierry Reding wrote: > > On Tue, Nov 13, 2018 at 10:08:22AM +0800, Ryder Lee wrote: > >> The flag 'has_clks' and related checks are superfluous as the CCF > >> subsystem does this for you. > > Both of these mechanisms aren't equivalent. While CCF can deal with > > optional clocks, what the has_clks flag actually means is that the > > device doesn't need a clock (or doesn't have a clock input) on the > > devices where it is cleared. > > > > So I'd actually be in favor of keeping the has_clks property because it > > serves as an additional sanity check. For example if you run this driver > > on an SoC that "has clocks" but if you don't list them in DT, then after > > this patch the driver will happily continue without clocks, even though > > it may break completely without those clocks. I've seen SoCs respond to > > disabled clocks for a hardware block in different ways, in many cases an > > access to any of the registers will completely hang the CPU. In other > > cases it may just crash in some other way or give you some sort of > > machine exception. None of those are good, and make the tiny bit of > > additional code required to support the has_clks flag very attractive. > > > > But that's just my opinion. If you prefer to throw away that safety > > barrier, be my guest. But if you do, please move this functionality into > > the clock framework first and then make the driver use it. > > > > Thierry > > Hi, > > sorry for my late response. I added the flag for the legacy MIPS > silicon. These SoCs only have a single clock register with a few on/off > bits. there is no complex clocktree or scaling. Hence COMMON_CLK is not > supported by those SoCs. I fully agree with Thierry, that the flag makes > this explicit and the intent was indeed to make sure that on silicon > where clocks are required, that they really are listed in OF. This is > indeed an extra sanity check and hiding it in an implicit check inside > CCF does not feel right. > > John > Thanks for the detailed information:) I will drop this patch in v1. Ryder