From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH v8 2/3] ALSA: hdac_ext: add hdac extended controller Date: Wed, 10 Jun 2015 20:41:08 +0200 Message-ID: References: <1433941562-5778-1-git-send-email-vinod.koul@intel.com> <1433941562-5778-3-git-send-email-vinod.koul@intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 4CA0E265DFE for ; Wed, 10 Jun 2015 20:41:10 +0200 (CEST) In-Reply-To: <1433941562-5778-3-git-send-email-vinod.koul@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Vinod Koul Cc: liam.r.girdwood@linux.intel.com, patches.audio@intel.com, alsa-devel@alsa-project.org, broonie@kernel.org, Jeeja KP List-Id: alsa-devel@alsa-project.org At Wed, 10 Jun 2015 18:36:01 +0530, Vinod Koul wrote: > > +/** > + * snd_hdac_ext_bus_get_link_index - get link based on codec name > + * @ebus: HD-audio extended core bus > + * @codec_name: codec name > + */ > +struct hdac_ext_link *snd_hdac_ext_bus_get_link(struct hdac_ext_bus *ebus, > + const char *codec_name) > +{ > + int i; > + struct hdac_ext_link *hlink = NULL; > + char name[32]; > + > + list_for_each_entry(hlink, &ebus->hlink_list, list) { > + for (i = 0; i < HDA_MAX_CODECS; i++) { > + snprintf(name, sizeof(name), "codec#%03x", hlink->codec[i]); > + if (!strncmp(name, codec_name, strlen(codec_name))) > + return hlink; Is this name supposed to be identical with the string the patch 1 sets? If so, this looks incompatible. Also, it'd be easier to parse the string only once like: int bus_idx, addr; if (sscanf(codec_name, "ehdaudio%dD%d", &bus_idx, &addr) != 2) return NULL; if (ebus->index != bus_idx) return NULL; list_for_each_entry(hlink, &ebus->hlink_list, list) if (hlink->lsdiid && (0x1 << addr)) return hlink; return NULL; Takashi