From: John Hsu <KCHSU0@nuvoton.com>
To: Anatol Pomozov <anatol.pomozov@gmail.com>
Cc: AP MS30 Linux ALSA <alsa-devel@alsa-project.org>,
AC30 YHChuang <YHCHuang@nuvoton.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Ben Zhang <benzh@chromium.org>, Mark Brown <broonie@kernel.org>,
AC30 CTLin0 <CTLIN0@nuvoton.com>, MS40 MHKuo <MHKuo@nuvoton.com>,
Yong Zhi <yong.zhi@intel.com>
Subject: Re: [PATCH] ASoC: nau8825: jack connection decision with different insertion logic
Date: Thu, 30 Jun 2016 15:51:51 +0800 [thread overview]
Message-ID: <5774CF97.4010203@nuvoton.com> (raw)
In-Reply-To: <CAOMFOmUhvWrm6ivTs4Ujp2_A8o81A12L0gPUDay0Bv9PVAkbug@mail.gmail.com>
Hi
On 6/29/2016 11:45 AM, Anatol Pomozov wrote:
> Hi
>
> On Tue, Jun 28, 2016 at 8:20 PM, John Hsu <KCHSU0@nuvoton.com> wrote:
>
>> The original design only covers the jack insertion logic is active low.
>> Add more condition to cover no matter the logic is active low and high.
>>
>> Signed-off-by: John Hsu <KCHSU0@nuvoton.com>
>> ---
>> sound/soc/codecs/nau8825.c | 12 ++++++++++--
>> 1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/codecs/nau8825.c b/sound/soc/codecs/nau8825.c
>> index 3f30e6e..a2f0d03 100644
>> --- a/sound/soc/codecs/nau8825.c
>> +++ b/sound/soc/codecs/nau8825.c
>> @@ -1345,10 +1345,18 @@ EXPORT_SYMBOL_GPL(nau8825_enable_jack_detect);
>>
>> static bool nau8825_is_jack_inserted(struct regmap *regmap)
>> {
>> - int status;
>> + int status, jkdet, res;
>>
>> regmap_read(regmap, NAU8825_REG_I2C_DEVICE_ID, &status);
>> - return !(status & NAU8825_GPIO2JD1);
>> + regmap_read(regmap, NAU8825_REG_JACK_DET_CTRL, &jkdet);
>> +
>> + /* return jack connection status according to jack insertion logic
>> + * active high or active low.
>> + */
>> + res = !(status & NAU8825_GPIO2JD1) * !(jkdet & NAU8825_JACK_POLARITY) +
>> + (status & NAU8825_GPIO2JD1) * (jkdet & NAU8825_JACK_POLARITY);
>>
>
> It makes more sense to use a more boolean-like expression. Something like
>
> return !!(status & NAU8825_GPIO2JD1) == !!(jkdet & NAU8825_JACK_POLARITY);
> (hope I translated expression above correctly)
>
> or even better to introduce readable bool flags:
> bool active_high = !!(jkdet & NAU8825_JACK_POLARITY);
> bool is_high = !!(status & NAU8825_GPIO2JD1);
> return active_high == is_high;
>
>
Yes, it'll be more readable. I have a question. Why to add !! in
front of bit wise operation? What does it mean?
next prev parent reply other threads:[~2016-06-30 7:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-29 3:20 [PATCH] ASoC: nau8825: jack connection decision with different insertion logic John Hsu
2016-06-29 3:45 ` Anatol Pomozov
2016-06-30 7:51 ` John Hsu [this message]
2016-07-01 15:57 ` Mark Brown
2016-07-04 2:43 ` John Hsu
2016-07-06 2:54 ` Anatol Pomozov
-- strict thread matches above, loose matches on Subject: below --
2016-07-06 2:09 John Hsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5774CF97.4010203@nuvoton.com \
--to=kchsu0@nuvoton.com \
--cc=CTLIN0@nuvoton.com \
--cc=MHKuo@nuvoton.com \
--cc=YHCHuang@nuvoton.com \
--cc=alsa-devel@alsa-project.org \
--cc=anatol.pomozov@gmail.com \
--cc=benzh@chromium.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=yong.zhi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.