[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZMJESOsmm/0ta+Nc@smile.fi.intel.com>
Date: Thu, 27 Jul 2023 13:17:44 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Brent Lu <brent.lu@...el.com>
Cc: alsa-devel@...a-project.org,
Cezary Rojewski <cezary.rojewski@...el.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, linux-kernel@...r.kernel.org,
Ajye Huang <ajye_huang@...pal.corp-partner.google.com>,
Yong Zhi <yong.zhi@...el.com>,
Terry Cheong <htcheong@...omium.org>,
Uday M Bhat <uday.m.bhat@...el.com>,
Mac Chiang <mac.chiang@...el.com>,
"Dharageswari . R" <dharageswari.r@...el.com>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
ye xingchen <ye.xingchen@....com.cn>
Subject: Re: [PATCH v3 1/2] ASoC: Intel: maxim-common: get codec number from
ACPI
On Thu, Jul 27, 2023 at 06:43:53PM +0800, Brent Lu wrote:
> Implement a helper function to get number of codecs from ACPI
> subsystem to remove the need of quirk flag in machine driver.
...
> static int max_98390_hw_params(struct snd_pcm_substream *substream,
> struct snd_pcm_hw_params *params)
> {
> struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
> struct snd_soc_dai *codec_dai;
> + int i, ret = 0;
Redundant assignment.
> for_each_rtd_codec_dais(rtd, i, codec_dai) {
> + if (i >= ARRAY_SIZE(max_98390_tdm_mask)) {
> dev_err(codec_dai->dev, "invalid codec index %d\n", i);
> return -ENODEV;
> }
>
> + ret = snd_soc_dai_set_tdm_slot(codec_dai, max_98390_tdm_mask[i].tx,
> + max_98390_tdm_mask[i].rx, 4,
> + params_width(params));
> + if (ret < 0) {
> + dev_err(codec_dai->dev, "fail to set tdm slot, ret %d\n",
> + ret);
> + return ret;
> }
> }
> return 0;
> }
...
> + case 2:
> + /* add regular speakers dapm route */
> + ret = snd_soc_dapm_add_routes(&card->dapm, max_98390_dapm_routes,
> + ARRAY_SIZE(max_98390_dapm_routes));
> + if (ret) {
> + dev_err(rtd->dev, "unable to add dapm routes, ret %d\n",
> + ret);
> + return ret;
> + }
> + break;
> + default:
> + dev_err(rtd->dev, "invalid codec number %d\n", num_codecs);
> + ret = -EINVAL;
> + break;
You can
return -EINVAL;
> }
> +
> return ret;
...
> +#define MAX_98390_ACPI_HID "MX98390"
> +#define MAX_98390_DEV0_NAME "i2c-MX98390:00"
> +#define MAX_98390_DEV1_NAME "i2c-MX98390:01"
> +#define MAX_98390_DEV2_NAME "i2c-MX98390:02"
> +#define MAX_98390_DEV3_NAME "i2c-MX98390:03"
Maybe (maybe, don't know subsystem preferences)
#define MAX_98390_DEV0_NAME "i2c-" MAX_98390_ACPI_HID ":00"
#define MAX_98390_DEV1_NAME "i2c-" MAX_98390_ACPI_HID ":01"
#define MAX_98390_DEV2_NAME "i2c-" MAX_98390_ACPI_HID ":02"
#define MAX_98390_DEV3_NAME "i2c-" MAX_98390_ACPI_HID ":03"
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists