[alsa-devel] [PATCH v3] ASoC: wm9081: Use snd_soc_update_bits for read-modify-write

Axel Lin axel.lin at gmail.com
Wed Nov 9 09:53:18 CET 2011


2011/11/9 Axel Lin <axel.lin at gmail.com>:
>>                        /* VMID 2*4k; Soft VMID ramp enable */
>> -                       reg = snd_soc_read(codec, WM9081_VMID_CONTROL);
>> -                       reg |= WM9081_VMID_RAMP | 0x6;
>> -                       snd_soc_write(codec, WM9081_VMID_CONTROL, reg);
>> +                       snd_soc_update_bits(codec, WM9081_VMID_CONTROL,
>> +                                           WM9081_VMID_RAMP |
>> +                                           WM9081_VMID_SEL_MASK,
>> +                                           WM9081_VMID_RAMP | 0x6);
>>
>>                        mdelay(100);
>>
>>                        /* Normal bias enable & soft start off */
>> -                       reg &= ~WM9081_VMID_RAMP;

oh.. wait. so original code does not clear WM9081_VMID_SEL_MASK bits here.
My bad. Don't know why I always think WM9081_VMID_SEL_MASK bits are
cleared here.

Will send a new version soon.

>> -                       snd_soc_write(codec, WM9081_VMID_CONTROL, reg);
>> +                       snd_soc_update_bits(codec, WM9081_VMID_CONTROL,
>> +                                           WM9081_VMID_RAMP |
>> +                                           WM9081_VMID_SEL_MASK, 0);
>>


More information about the Alsa-devel mailing list