Re: [PATCH 5/5] ASoC: codecs: Add WCD939x Codec driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On 29.11.2023 16:12, neil.armstrong@xxxxxxxxxx wrote:
> On 29/11/2023 14:46, Konrad Dybcio wrote:
>> On 28.11.2023 16:01, Neil Armstrong wrote:
>>> On 25/11/2023 13:07, Konrad Dybcio wrote:
>>>
>>> <snip>
>>>
>>>>> +
>>>>> +static int wcd939x_io_init(struct snd_soc_component *component)
>>>>> +{
>>>>> +    snd_soc_component_write_field(component, WCD939X_ANA_BIAS,
>>>>> +                      WCD939X_BIAS_ANALOG_BIAS_EN, 1);
>>>> All of these values are BIT()s or 2-4 ORed BIT()s, can you check what they
>>>> mean?
>>>>
>>>> Same for almost all other snd_soc_component_ write/modify functions
>>>
>>> It uses snd_soc_component_write_field() with is the same as
>>> regmap_write_bits(REGISTER, REGISTER_MASK,
>>>                    FIELD_PREP(REGISTER_MASK, value);
>>>
>>> So the 1 mean write in enable mask in this case, and mask is single bit,
>>> read it exactly like if it was using FIELD_PREP(), but even for BITs.
>>>
>>> I did check every single snd_soc_component_write_field() so far to check
>>> it matches.
>>>
>>> Or it's another question ?
>> What I wanted to ask is whether it's possible to #define these magic
>> values within these fields
> 
> OK, so most of writes are to boolean enable bits, I can use true/false
> instead of 0 & 1 for those, would it be more readable ?
Yes, I think that would convey their meaning quite well

> 
> For the rest, those a integer values to a field, those are not bitmasks
> and I do not have the definition of the values.
> 
> I did a full cleanup and tried to define as much as possible,
> there were still lot of places where not defined bitmasks we used,
> but there's still some integer values, but I think it's acceptable.
No worries, what you say already sounds very cool!

Konrad




[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux