From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5270C41513 for ; Thu, 27 Jul 2023 10:18:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232112AbjG0KR5 (ORCPT ); Thu, 27 Jul 2023 06:17:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230182AbjG0KRy (ORCPT ); Thu, 27 Jul 2023 06:17:54 -0400 Received: from mgamail.intel.com (unknown [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74683136 for ; Thu, 27 Jul 2023 03:17:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690453072; x=1721989072; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=i40kkbTsdb38qiGVDasibks/QH/gJb3cMVszKUDLJ+Q=; b=apWROy/oteOzgwGMq3Hz85OzIoeG9cLMDIHSPaNjqL95z+Z/4YxRBM3L XnvbwlZKOCQP+95cWeL7vqNVICwhDMMU4jCtsfSplZkfvZ2PI0QQP77UA oKnEKP8+XFRe1JeDT2+KxyzYyfj/i9BT/HTD8ogD7NIA5viucpq+SM8DW oCwAgyq+uhXksJHrKzjdHpwt4Ojta1hqTbNHsQdnwBrFtyaCbtwl4bkAN XMPmuE/Bu5TmdVhmESAdVe3s7VwlH0k32/EzVAow5tB7xbHycqeFVx3SZ JLritYXVY2OnXGWrw2demoNGoveyRtzqHUDZmyMjhIUqR3BGVKuTRqtBQ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="371879750" X-IronPort-AV: E=Sophos;i="6.01,234,1684825200"; d="scan'208";a="371879750" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2023 03:17:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="677102021" X-IronPort-AV: E=Sophos;i="6.01,234,1684825200"; d="scan'208";a="677102021" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga003.jf.intel.com with ESMTP; 27 Jul 2023 03:17:46 -0700 Received: from andy by smile.fi.intel.com with local (Exim 4.96) (envelope-from ) id 1qOy40-00Gse5-1y; Thu, 27 Jul 2023 13:17:44 +0300 Date: Thu, 27 Jul 2023 13:17:44 +0300 From: Andy Shevchenko To: Brent Lu Cc: alsa-devel@alsa-project.org, Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , linux-kernel@vger.kernel.org, Ajye Huang , Yong Zhi , Terry Cheong , Uday M Bhat , Mac Chiang , "Dharageswari . R" , Kuninori Morimoto , ye xingchen Subject: Re: [PATCH v3 1/2] ASoC: Intel: maxim-common: get codec number from ACPI Message-ID: References: <20230727104354.2344418-1-brent.lu@intel.com> <20230727104354.2344418-2-brent.lu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230727104354.2344418-2-brent.lu@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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