On Wed, 13 Aug 2014, Charles Keepax wrote:

> Mark some additional registers as volatile. The write sequencer control
> registers should not be cached, as we don't ever want their value
> synchronised as this might cause a write sequence to be accidentally
> initiated.
> 
> Additionally, the DAC_COMP registers require special preconditions to
> write so there values wouldn't be updated accurately during a register
> sync.
> 
> Signed-off-by: Charles Keepax <[email protected]>
> ---
>  drivers/mfd/wm5102-tables.c |   11 ++++++++---
>  drivers/mfd/wm5110-tables.c |    6 +++---
>  2 files changed, 11 insertions(+), 6 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/wm5102-tables.c b/drivers/mfd/wm5102-tables.c
> index c18d527..191f224 100644
> --- a/drivers/mfd/wm5102-tables.c
> +++ b/drivers/mfd/wm5102-tables.c
> @@ -245,9 +245,6 @@ const struct regmap_irq_chip wm5102_irq = {
>  static const struct reg_default wm5102_reg_default[] = {
>       { 0x00000008, 0x0019 },   /* R8     - Ctrl IF SPI CFG 1 */ 
>       { 0x00000009, 0x0001 },   /* R9     - Ctrl IF I2C1 CFG 1 */ 
> -     { 0x00000016, 0x0000 },   /* R22    - Write Sequencer Ctrl 0 */ 
> -     { 0x00000017, 0x0000 },   /* R23    - Write Sequencer Ctrl 1 */ 
> -     { 0x00000018, 0x0000 },   /* R24    - Write Sequencer Ctrl 2 */ 
>       { 0x00000020, 0x0000 },   /* R32    - Tone Generator 1 */ 
>       { 0x00000021, 0x1000 },   /* R33    - Tone Generator 2 */ 
>       { 0x00000022, 0x0000 },   /* R34    - Tone Generator 3 */ 
> @@ -1881,6 +1878,10 @@ static bool wm5102_volatile_register(struct device 
> *dev, unsigned int reg)
>       switch (reg) {
>       case ARIZONA_SOFTWARE_RESET:
>       case ARIZONA_DEVICE_REVISION:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_0:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_1:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_2:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_3:
>       case ARIZONA_OUTPUT_STATUS_1:
>       case ARIZONA_RAW_OUTPUT_STATUS_1:
>       case ARIZONA_SLIMBUS_RX_PORT_STATUS:
> @@ -1892,6 +1893,10 @@ static bool wm5102_volatile_register(struct device 
> *dev, unsigned int reg)
>       case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS:
>       case ARIZONA_FLL1_NCO_TEST_0:
>       case ARIZONA_FLL2_NCO_TEST_0:
> +     case ARIZONA_DAC_COMP_1:
> +     case ARIZONA_DAC_COMP_2:
> +     case ARIZONA_DAC_COMP_3:
> +     case ARIZONA_DAC_COMP_4:
>       case ARIZONA_FX_CTRL2:
>       case ARIZONA_INTERRUPT_STATUS_1:
>       case ARIZONA_INTERRUPT_STATUS_2:
> diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
> index 9b98ee5..beae0a3 100644
> --- a/drivers/mfd/wm5110-tables.c
> +++ b/drivers/mfd/wm5110-tables.c
> @@ -666,9 +666,6 @@ static const struct reg_default wm5110_reg_default[] = {
>       { 0x0000000A, 0x0001 },    /* R10    - Ctrl IF I2C2 CFG 1 */
>       { 0x0000000B, 0x0036 },    /* R11    - Ctrl IF I2C1 CFG 2 */
>       { 0x0000000C, 0x0036 },    /* R12    - Ctrl IF I2C2 CFG 2 */
> -     { 0x00000016, 0x0000 },    /* R22    - Write Sequencer Ctrl 0 */
> -     { 0x00000017, 0x0000 },    /* R23    - Write Sequencer Ctrl 1 */
> -     { 0x00000018, 0x0000 },    /* R24    - Write Sequencer Ctrl 2 */
>       { 0x00000020, 0x0000 },    /* R32    - Tone Generator 1 */
>       { 0x00000021, 0x1000 },    /* R33    - Tone Generator 2 */
>       { 0x00000022, 0x0000 },    /* R34    - Tone Generator 3 */
> @@ -2815,6 +2812,9 @@ static bool wm5110_volatile_register(struct device 
> *dev, unsigned int reg)
>       switch (reg) {
>       case ARIZONA_SOFTWARE_RESET:
>       case ARIZONA_DEVICE_REVISION:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_0:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_1:
> +     case ARIZONA_WRITE_SEQUENCER_CTRL_2:
>       case ARIZONA_HAPTICS_STATUS:
>       case ARIZONA_SAMPLE_RATE_1_STATUS:
>       case ARIZONA_SAMPLE_RATE_2_STATUS:

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to