[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <54FB224B.1020308@metafoo.de>
Date: Sat, 07 Mar 2015 17:07:39 +0100
From: Lars-Peter Clausen <lars@...afoo.de>
To: Daniel Baluta <daniel.baluta@...il.com>
CC: Mark Brown <broonie@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Using regmap_update_bits to update a write only register
On 03/06/2015 08:48 PM, Daniel Baluta wrote:
> On Fri, Mar 6, 2015 at 7:36 PM, Lars-Peter Clausen <lars@...afoo.de> wrote:
>> On 03/06/2015 06:26 PM, Daniel Baluta wrote:
>> [...]
>>>
>>> I can reproduce the problem with:
>>>
>>> static struct reg_default xxx_reg_defaults[] = {
>>> { XXX_REG_CTRL0, 0x00 },
>>> { XXX_REG_CTRL1, 0x00 },
>>> { XXX_REG_STATUS, 0x00 },
>>> };
>>>
>>> but, not if the reg default definition is:
>>>
>>> static struct reg_default xxx_reg_defaults[] = {
>>> { XXX_REG_STATUS, 0x00 },
>>> { XXX_REG_CTRL0, 0x00 },
>>> { XXX_REG_CTRL1, 0x00 },
>>> };
>>>
>>> Is this normal?
>>
>>
>> That's a rhetorical question, right?
>>
>> It might be that there is a bug when growing a rbblock to the left. It
>> probably went unnoticed because everybody has their reg defaults ordered in
>> ascending order.
>>
>> Try to put a few debug printks into regcache_rbtree_write() and
>> regcache_rbtree_insert_to_block() to see what exactly is going on when a new
>> register is inserted into the block. How do base_reg and top_reg change.
>
> I cannot test is right now because I don't have access to the physical device.
> Is there a way to use to test the regmap API without an I2C/SPI device?
I did some quick testing today, and the resizing the present bitmap
definitely broken with the current code. Patch will follow shortly.
- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists