From: Mark Brown broonie@linaro.org
During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one.
Signed-off-by: Mark Brown broonie@linaro.org --- drivers/mfd/wm5102-tables.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c index f4668d39e542..07f024fd4ded 100644 --- a/drivers/mfd/wm5102-tables.c +++ b/drivers/mfd/wm5102-tables.c @@ -1016,6 +1016,7 @@ static bool wm5102_readable_register(struct device *dev, unsigned int reg) case ARIZONA_WRITE_SEQUENCER_CTRL_0: case ARIZONA_WRITE_SEQUENCER_CTRL_1: case ARIZONA_WRITE_SEQUENCER_CTRL_2: + case 0x19: case ARIZONA_WRITE_SEQUENCER_PROM: case ARIZONA_TONE_GENERATOR_1: case ARIZONA_TONE_GENERATOR_2:
From: Mark Brown broonie@linaro.org
During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one.
Signed-off-by: Mark Brown broonie@linaro.org
drivers/mfd/wm5102-tables.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c index f4668d39e542..07f024fd4ded 100644 --- a/drivers/mfd/wm5102-tables.c +++ b/drivers/mfd/wm5102-tables.c @@ -1016,6 +1016,7 @@ static bool wm5102_readable_register(struct device *dev, unsigned int reg) case ARIZONA_WRITE_SEQUENCER_CTRL_0: case ARIZONA_WRITE_SEQUENCER_CTRL_1: case ARIZONA_WRITE_SEQUENCER_CTRL_2:
- case 0x19:
Can we have a #define for these please?
case ARIZONA_WRITE_SEQUENCER_PROM: case ARIZONA_TONE_GENERATOR_1: case ARIZONA_TONE_GENERATOR_2:
On Mon, Mar 10, 2014 at 04:49:04PM +0000, Mark Brown wrote:
On Mon, Mar 10, 2014 at 04:38:11PM +0000, Lee Jones wrote:
Can we have a #define for these please?
It'd be nice but you'd need to ask the Wolfson guys to tell us what it's called, all the information I have is the read in the driver source. Meanwile we've got a bug.
WRITE_SEQUENCER_CTRL_3, seems we should add that in since it is required for that 5102 boot stuff. Slightly confused as to how that ever worked without the register being readable, but guess it has been a while since I have fired up 5102 on mainline.
Thanks, Charles
On Mon, Mar 10, 2014 at 05:05:24PM +0000, Charles Keepax wrote:
On Mon, Mar 10, 2014 at 04:49:04PM +0000, Mark Brown wrote:
It'd be nice but you'd need to ask the Wolfson guys to tell us what it's called, all the information I have is the read in the driver source. Meanwile we've got a bug.
WRITE_SEQUENCER_CTRL_3, seems we should add that in since it is required for that 5102 boot stuff. Slightly confused as to how that ever worked without the register being readable, but guess it has been a while since I have fired up 5102 on mainline.
It just prints an error message, it doesn't actually care if the read failed and will fall through to polling for boot completion.
On 03/10/2014 06:05 PM, Charles Keepax wrote:
On Mon, Mar 10, 2014 at 04:49:04PM +0000, Mark Brown wrote:
On Mon, Mar 10, 2014 at 04:38:11PM +0000, Lee Jones wrote:
Can we have a #define for these please?
It'd be nice but you'd need to ask the Wolfson guys to tell us what it's called, all the information I have is the read in the driver source. Meanwile we've got a bug.
WRITE_SEQUENCER_CTRL_3, seems we should add that in since it is required for that 5102 boot stuff. Slightly confused as to how that ever worked without the register being readable, but guess it has been a while since I have fired up 5102 on mainline.
Presumably this change triggered it:
http://git.kernel.org/cgit/linux/kernel/git/broonie/regmap.git/commit/?h=top...
On Mon, Mar 10, 2014 at 06:17:22PM +0100, Lars-Peter Clausen wrote:
On 03/10/2014 06:05 PM, Charles Keepax wrote:
WRITE_SEQUENCER_CTRL_3, seems we should add that in since it is required for that 5102 boot stuff. Slightly confused as to how that ever worked without the register being readable, but guess it has been a while since I have fired up 5102 on mainline.
Presumably this change triggered it:
http://git.kernel.org/cgit/linux/kernel/git/broonie/regmap.git/commit/?h=top...
Indeed. Now that I think about it there's another bug lying underneath too - the register isn't marked as volatile so it'll only actually be being read on first read. For some reason that check is only done on probe so it's got no impact but it seems it's asking for future breakage.
linaro-kernel@lists.linaro.org