> On Wednesday 20 February 2013, Alexander Shiyan wrote: > > No. Target have a three SYSCON registers and two SYSFLG. All these registers > > can be combined into three syscon devices. > > Only these registers will be handled via syscon device, so it is not only one. > > Or you mean about handle all register via syscon? It is not it. > > Yes, I was expecting that you would list all three pages in the resource > for the syscon device, basically making all of the core clps711x > registers available this way. All other will be passed as resource to drivers, as for other drivers. And this change replaces clps_read/write. > > > treat the absence of DT information as an error, and a call to > > > syscon_regmap_lookup_by_compatible or syscon_regmap_lookup_by_phandle > > > will always return the syscon device that was registered first, or > > > -EPROBE_DEFER for any error. > > > > The initial idea is search desired syscon device from drivers only by one function > > (i.e. search syscon device by compatible string or by specific alias) and no depend > > on DT or non-DT. I.e. define syscon device always at machine start (even if we run > > machine from DTS), because device should be always present in system. > > I don't understand yet what the advantage for clps711x is over just a single > register area that would get registered at boot time and replace all the > clps_readl/clps_writel calls. This cause a serious perfomance impact. Only SYSCON and SYSFLG is used in several places and should be protected by spinlocks. Other registers can be used without locks. And, as say before, clps_read/write will be replaced with read/write when registers will passed as resource. First example of this change I sent to you before (patchset for serial driver). --- {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I