On 26/01/15 17:49, Tony Lindgren wrote: >> I'm not sure if I miss something, but regmap_write does not protect from >> problems if there are multiple users for the same registers. You need to >> use regmap_update_bits() to get a protected read/write sequence, in >> which you can change only the bits that you want to change. > > To me it seems that issue can be fixed by making all the code use regmap. > AFAIK that should work for the legacy code too. Even if everybody uses regmap, doing v = regmap_read() modify v regmap_write(v) is racy. regmap_update_bits() has to be used to protect the read/write sequence. Which may be somewhat challenging at times with some strange registers, the like Roger Q encountered recently related to CAN. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature