From: "jeff_chang(張世佳)" <jeff_chang@richtek.com>
To: Mark Brown <broonie@kernel.org>,
Jeff Chang <richtek.jeff.chang@gmail.com>
Cc: "lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"perex@perex.cz" <perex@perex.cz>,
"tiwai@suse.com" <tiwai@suse.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] ASoC: Add MediaTek MT6660 Speaker Amp Driver
Date: Mon, 23 Dec 2019 02:10:12 +0000 [thread overview]
Message-ID: <7a9bcf5d414c4a74ae8e101c54c9e46f@ex1.rt.l> (raw)
In-Reply-To: <20191220121152.GC4790@sirena.org.uk>
Dear Mark:
Thanks for your replying.
I have a question about this
> +++ b/sound/soc/codecs/mt6660.c
> @@ -0,0 +1,653 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 MediaTek Inc.
> + */
Please make the entire comment a C++ one so things look more intentional.
--> When I check other driver at sound/soc/codecs/ folder, I just follow what others do.
It seems in .h --> /* SPDX-Liencese-Identifier: GPL-2.0 */
In .c --> // SPDK-Liencese-Identifier: GPL-2.0
Is it correct?
Thanks & BRs
Jeff Chang
Tel 886-3-5526789 Ext 2357
14F, No. 8, Taiyuen 1st st., Zhubei City,
Hsinchu County, Taiwan 30288
-----Original Message-----
From: Mark Brown [mailto:broonie@kernel.org]
Sent: Friday, December 20, 2019 8:12 PM
To: Jeff Chang <richtek.jeff.chang@gmail.com>
Cc: lgirdwood@gmail.com; perex@perex.cz; tiwai@suse.com; matthias.bgg@gmail.com; alsa-devel@alsa-project.org; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; jeff_chang(張世佳) <jeff_chang@richtek.com>
Subject: Re: [PATCH] ASoC: Add MediaTek MT6660 Speaker Amp Driver
On Fri, Dec 20, 2019 at 06:15:34PM +0800, Jeff Chang wrote:
> +++ b/sound/soc/codecs/mt6660.c
> @@ -0,0 +1,653 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 MediaTek Inc.
> + */
Please make the entire comment a C++ one so things look more intentional.
> +{ MT6660_REG_DEVID, 2},
> +{ MT6660_REG_TDM_CFG3, 2},
> +{ MT6660_REG_HCLIP_CTRL, 2},
> +{ MT6660_REG_DA_GAIN, 2},
Missing space before the } (the same thing happens in some of the other tables).
> +static int mt6660_component_get_volsw(struct snd_kcontrol *kcontrol,
> + struct snd_ctl_elem_value *ucontrol) {
> +struct snd_soc_component *component =
> +snd_soc_kcontrol_component(kcontrol);
> +struct mt6660_chip *chip = (struct mt6660_chip *)
> +snd_soc_component_get_drvdata(component);
> +int ret = -EINVAL;
> +
> +if (!strcmp(kcontrol->id.name, "Chip_Rev")) {
Why would this be used on a different control?
> +SOC_SINGLE_EXT("BoostMode", MT6660_REG_BST_CTRL, 0, 3, 0,
> + snd_soc_get_volsw, snd_soc_put_volsw),
Boost Mode. You've also got a lot of these controls that are _EXT but you then just use standard operations so it's not clear why you're using _EXT.
> +SOC_SINGLE_EXT("audio input selection", MT6660_REG_DATAO_SEL, 6, 3, 0,
> + snd_soc_get_volsw, snd_soc_put_volsw),
Audio Input Selection, but this looks like it should be a DAPM control if it's controlling audio routing. A simple numerical setting definitely doesn't seem like the right thing.
> +SOC_SINGLE_EXT("AUD LOOP BACK Switch", MT6660_REG_PATH_BYPASS, 4, 1, 0,
> + snd_soc_get_volsw, snd_soc_put_volsw),
This sounds like it should be a DAPM thing too.
> +static int mt6660_component_probe(struct snd_soc_component
> +*component) {
> +struct mt6660_chip *chip = snd_soc_component_get_drvdata(component);
> +int ret = 0;
> +
> +dev_info(component->dev, "%s\n", __func__);
dev_dbg() at most but probably better to remove this and the other similar dev_info()s.
> +static inline int _mt6660_chip_id_check(struct mt6660_chip *chip) {
> +u8 id[2] = {0};
> +int ret = 0;
> +
> +ret = i2c_smbus_read_i2c_block_data(chip->i2c, MT6660_REG_DEVID, 2, id);
> +if (ret < 0)
> +return ret;
> +ret = (id[0] << 8) + id[1];
> +ret &= 0x0ff0;
> +if (ret != 0x00e0 && ret != 0x01e0)
> +return -ENODEV;
It'd be better to print an error message saying we don't recognize the device to help people doing debugging.
> +if (of_property_read_u32(np, "rt,init_setting_num", &val)) {
> +dev_info(dev, "no init setting\n");
> +chip->plat_data.init_setting_num = 0;
You should be adding a DT binding document for any new DT bindings.
************* Email Confidentiality Notice ********************
The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you!
next prev parent reply other threads:[~2019-12-23 2:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-20 10:15 Jeff Chang
2019-12-20 12:11 ` Mark Brown
2019-12-23 2:10 ` jeff_chang(張世佳) [this message]
2019-12-24 23:51 ` Mark Brown
2019-12-25 1:45 ` jeff_chang(張世佳)
2019-12-25 17:45 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2019-12-12 12:12 Jeff Chang
2019-12-12 14:53 ` Mark Brown
[not found] ` <b0f4c1afd1d341b49b87b7b5cda5ea4d@ex1.rt.l>
2019-12-13 11:32 ` Mark Brown
2019-12-12 11:08 Jeff Chang
2019-12-12 11:57 ` Matthias Brugger
2019-12-12 12:06 ` Mark Brown
2019-12-17 15:17 ` Greg KH
2019-12-12 9:12 Jeff Chang
2019-12-12 10:36 ` Jaroslav Kysela
2019-12-12 11:05 ` jeff_chang(張世佳)
2019-12-12 8:29 [PATCH] ASoC: add " Jeff Chang
2019-12-12 8:52 ` Matthias Brugger
2019-12-12 6:58 Jeff Chang
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=7a9bcf5d414c4a74ae8e101c54c9e46f@ex1.rt.l \
--to=jeff_chang@richtek.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=perex@perex.cz \
--cc=richtek.jeff.chang@gmail.com \
--cc=tiwai@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®