Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp2210397rwb; Thu, 27 Jul 2023 04:02:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlGJTSduGXISwvVTmbYeHECYc6BnT6s8EzCD2MMOKkBSjVofApl/221ODrfhJf69UNxS3Vig X-Received: by 2002:a05:6870:20c:b0:1bb:8ab6:6642 with SMTP id j12-20020a056870020c00b001bb8ab66642mr2685518oad.8.1690455759363; Thu, 27 Jul 2023 04:02:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690455759; cv=none; d=google.com; s=arc-20160816; b=K2sqIwGhQqwOh4AdiukYQ96u1MizVfWlyhiAuBI+8XToLVJdluR4RNC/ynO0Ex002J BMtxLJ0qPct3q3jof7qK0pyLbMHD0m2Mw879spIl9n6QUUgCSgOH+3jSQaoVsbF8ioVo /Lhe7mPLKnSu9gT24yBdXYGxovl1AuVd5cPcTze2W4Te87nQphIdlRCjF2OHERbHSiu2 uo+fPla7GexGzVyP+xO2c8jmpjtzLmF42VVKtQjppgTC4CouwWDhsi226GWq3y4vPlm8 b6GGSWqjZ/GmpZT3j3EeGZBk4BUBcCxaDjMLe0mrVj/k44HJpfHGtIfia42/qmyDSQep 35Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=PwIukThVUJDGstoRhmqPb5dxIhjOgkGQH7RIsuC8dAs=; fh=gIMVhyLweRwrNb0JV4Z2MuKYsCSK9xWS6SoF1O45+ks=; b=ND4citu/FjEt7C8HYz+KddoS5jMc47NDrcnyFapcVlWTVbiAckCShHlzUwEzau/uog aFCazcXMYYDeU0s+InUKUQDSopUbquZL3uOsiAVea9UvS4tiZj0DQBpuu5FrTRuzjSt+ sFKm5Bu/WP+XC6bi5awJ6OZDSXCmuBTXcmVOQmSMsTYDuccRe4dkNYF0SkRt6PY811V8 QjavhD9D4qyWCXn8zZCJFQdg0kpo0LT/IM/oz4R5N4hHAMD2hFJuYVY+PgjHBsmkRGfS liDEtVFf1691Ni5w8HuSoSC/sUBYnef+fdQB9tZCxkzbqq5YgMRLbNAttaPzxIe5irYV Hapw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="apWROy/o"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n7-20020a6543c7000000b0055e2bb303b5si1079964pgp.881.2023.07.27.04.02.27; Thu, 27 Jul 2023 04:02:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="apWROy/o"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231502AbjG0KRz (ORCPT + 99 others); Thu, 27 Jul 2023 06:17:55 -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 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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