Re[14]: [PATCH v3] mfd: syscon: Add non-DT support

From: Alexander Shiyan
Date: Wed Feb 20 2013 - 12:27:53 EST


> 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‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i