Thread (17 messages) 17 messages, 3 authors, 2013-05-24

[RFC 3/8] mfd:syscon: Introduce claim/read/write/release APIs

From: Srinivas KANDAGATLA <hidden>
Date: 2013-05-09 14:06:31
Also in: linux-devicetree, linux-serial, lkml

On 09/05/13 14:26, Mark Brown wrote:
On Thu, May 09, 2013 at 12:58:01PM +0100, Srinivas KANDAGATLA wrote:
quoted
Currently, we have two bits of information which come from device trees.
1> The syscon bank/group definition itself.
2> syscon register offsets and bits information to the drivers.
quoted
These are the 2 things which keep changing per each SOC.
quoted
There is no other way to pass this information to the drivers other than
passing them as part of their own device node and syscon node.
Sure there is, for example the drivers could have this information
internally as part of knowing which device they're working with or they
could take advantage of some patterns in the register map to store some
higher level information that they use to configure.
Some of layouts of the sysconf registers are totally changed for each SOC.

Looking at driver by driver maybe some drivers can take advantage of the
patterns, but Am not sure if this will be a sustainable solution for all
the drivers.

The big disadvantage of this approach is that
- Every driver has to be touched for new SOC,
- Secondly the drivers will end up having more of such information than
code over a time.
quoted
quoted
 and to the extent that it is sensible it feels like something
which might be useful with any device using register maps, not just
syscon.
quoted
If you think this is going to be useful for other drivers, Am happy to
move this out of syscon to regmap something like adding
of_regmap_field_claim/regmap_field_claim/regmap_field_read/regmap_field_write/regmap_field_release
functions.
quoted
so any exiting drivers can still use the old syscon API to get the
regmap instance.
Alternatively they can use the new regmap APIs directly.
Well, I'd need to see the code to decide if it was sane but I do think
that if this is a good approach it's not syscon specific.  Anything like
this needs to be independent of DT too since not all architectures use
DT.
In the suggested approach, the API supports, both DT and non-DT style.

for DT style user can use.
of_regmap_field_claim -> regmap_field_read -> regmap_field_write-
->regmap_field_release

and for NON-DT user can use
regmap_field_claim  -> regmap_field_read -> regmap_field_write-
->regmap_field_release


thanks,
srini

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help