[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a86e4d6b-ed2c-d2f2-2974-6f00dc6ef68a@intel.com>
Date: Thu, 18 Jul 2019 20:48:45 +0200
From: Cezary Rojewski <cezary.rojewski@...el.com>
To: Oleksandr Suvorov <oleksandr.suvorov@...adex.com>
Cc: Fabio Estevam <festevam@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Igor Opaniuk <igor.opaniuk@...adex.com>,
Marcel Ziswiler <marcel.ziswiler@...adex.com>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Sasha Levin <sashal@...nel.org>,
Mark Brown <broonie@...nel.org>, Takashi Iwai <tiwai@...e.com>,
Liam Girdwood <lgirdwood@...il.com>
Subject: Re: [PATCH v5 2/6] ASoC: sgtl5000: Improve VAG power and mute control
On 2019-07-18 20:42, Cezary Rojewski wrote:
> On 2019-07-18 11:02, Oleksandr Suvorov wrote:
>> +enum {
>> + HP_POWER_EVENT,
>> + DAC_POWER_EVENT,
>> + ADC_POWER_EVENT,
>> + LAST_POWER_EVENT
>> +};
>> +
>> +static u16 mute_mask[] = {
>> + SGTL5000_HP_MUTE,
>> + SGTL5000_OUTPUTS_MUTE,
>> + SGTL5000_OUTPUTS_MUTE
>> +};
>
> If mute_mask[] is only used within common handler, you may consider
> declaring const array within said handler instead (did not check that
> myself).
> Otherwise, simple comment for the second _OUTPUTS_MUTE should suffice -
> its not self explanatory why you doubled that mask.
>
>> +
>> /* sgtl5000 private structure in codec */
>> struct sgtl5000_priv {
>> int sysclk; /* sysclk rate */
>> @@ -137,8 +157,109 @@ struct sgtl5000_priv {
>> u8 micbias_voltage;
>> u8 lrclk_strength;
>> u8 sclk_strength;
>> + u16 mute_state[LAST_POWER_EVENT];
>> };
>
> When I spoke of LAST enum constant, I did not really had this specific
> usage in mind.
>
> From design perspective, _LAST_ does not exist and should never be
> referred to as "the next option" i.e.: new enum constant.
> That is way preferred usage is:
> u16 mute_state[ADC_POWER_EVENT+1;
> -or-
> u16 mute_state[LAST_POWER_EVENT+1];
>
> Maybe I'm just being radical here :)
>
> Czarek
Forgive me for double posting. Comment above is targeted towards:
>> +enum {
>> + HP_POWER_EVENT,
>> + DAC_POWER_EVENT,
>> + ADC_POWER_EVENT,
>> + LAST_POWER_EVENT
>> +};
as LAST_POWER_EVENT is not assigned explicitly to ADC_POWER_EVENT and
thus generates implicit "new option" of value 3.
Czarek
Powered by blists - more mailing lists