[alsa-devel] [PATCH v8 2/3] ALSA: hdac_ext: add hdac extended controller

Vinod Koul vinod.koul at intel.com
Thu Jun 11 06:18:17 CEST 2015


On Thu, Jun 11, 2015 at 09:13:46AM +0530, Vinod Koul wrote:
> On Wed, Jun 10, 2015 at 08:41:08PM +0200, Takashi Iwai wrote:
> > 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.
> Yes my miss :(
> 
> This also means that I would be required to save the idx number, so I am
> thinking of returning the idx value in snd_hdac_ext_bus_device_init() and
> then pass on snd_hdac_ext_bus_map_codec_to_link() API which can save this in
> the array and then use idx here as well and use I like below so will add
> this
and i overlooked ebus->index below, so yes this makes much better so saved it
there and also removed snd_hdac_ext_bus_map_codec_to_link() we dont need
that and array anymore :)

-- 
~Vinod

> 
> > 
> > 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;
> 
> Thanks
> 
> -- 
> ~Vinod
> 

-- 


More information about the Alsa-devel mailing list