On Thu, Feb 19, 2015 at 08:40:39AM +0000, Srinivas Kandagatla wrote:Yes, I totally agree, this call would be expensive.
+ /* Check for readable registers before we start */
+ for (i = 0; i < count; i++)
+ if (!regmap_readable(map, reg + (i * map->reg_stride)))
+ return -EINVAL;
That's starting to look pretty expensive especially if what we're
looking for is just max_register really... This is one of the reasons
we're not religious about checking for readability everywhere, andYes, just checking max_register would solve the issue for me, I think I over done the patch.. I will resend with just max_register check.
obviously even if we avoid triggering this particular thing we still
have to cope with both the caller and devices that didn't specify
readability. A cheaper check for just max_register would be less
concerning but it feels like we're trying to paper over a symptom with
this rather than fix a problem.