Re: Using regmap_update_bits to update a write only register

From: Daniel Baluta
Date: Fri Mar 06 2015 - 08:28:08 EST


On Fri, Mar 6, 2015 at 2:45 PM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote:
> On 03/06/2015 12:21 PM, Mark Brown wrote:
>>
>> On Thu, Mar 05, 2015 at 08:14:14PM +0200, Daniel Baluta wrote:
>>>
>>> On Mar 5, 2015 7:54 PM, "Mark Brown" <broonie@xxxxxxxxxx> wrote:
>>
>>
>>>> Probably, or there's a bug. What should happen is that if the register
>>>> default appeared successfully then the read will get statisfied from the
>>>> cache in the manner you describe - presumably that's gone wrong somehow.
>>>> Have you set num_reg_defaults? That's the obvious thing...
>>
>>
>>> Did that. I will have a closer look. Thanks for the answer.
>>
>>
>> OK, the other thing that springs to mind to check is that the register
>> didn't somehow get marked as volatile.

Checked that! is_volatile_reg returns false for that register.

>>
>
> There were some bugs in the past were non-readable register automatically
> got marked as volatile, this has been fixed though a few months ago. Try to
> make sure you use the latest upstream version of regmap.

Thanks for pointing this out. I am using 3.19. Changing from
REGCACHE_RBTREE to REGCACHE_FLAT fixed the problem for me.

I will update my sources and try again with REGCACHE_RBTREE when
I'll have some time.

thanks,
Daniel.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/