From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support Date: Wed, 27 Feb 2013 16:27:25 -0700 Message-ID: <512E965D.3020901@wwwdotorg.org> References: <87zk11487a.wl%kuninori.morimoto.gx@renesas.com> <20130127035943.GJ4650@opensource.wolfsonmicro.com> <87vcag3hcj.wl%kuninori.morimoto.gx@renesas.com> <20130129014808.GC4748@opensource.wolfsonmicro.com> <87sj5k3f83.wl%kuninori.morimoto.gx@renesas.com> <87obg8z4u4.wl%kuninori.morimoto.gx@renesas.com> <5107FF97.1070601@wwwdotorg.org> <87halz82bm.wl%kuninori.morimoto.gx@renesas.com> <51097F0F.2030501@wwwdotorg.org> <87halw7sij.wl%kuninori.morimoto.gx@renesas.com> <5110349D.3050308@wwwdotorg.org> <87ehgvrs1h.wl%kuninori.morimoto.gx@renesas.com> <87bobzrry6.wl%kuninori.morimoto.gx@renesas.com> <511963F8.5020107@wwwdotorg.org> <87bobqf5yq.wl%kuninori.morimoto.gx@renesas.com> <511C22E2.60701@wwwdotorg.org> <87obfnofsx.wl%kuninori.morimoto.gx@renesas.com> <511C6A1B.9000507@wwwdotorg.org> <874nhfv5mb.wl%kuninori.morimoto.gx@renesas.com> <8738wzuu9g.wl%kuninori.morimoto.gx@renesas.com> <87a9qsg4lp.wl%kuninori.morimoto.gx@renesas.com> <874nh0g49j.wl%kuninori.morimoto.gx@renes as.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <874nh0g49j.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Kuninori Morimoto Cc: Linux-ALSA , Lars-Peter Clausen , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Mark Brown , Liam Girdwood , Simon , Kuninori Morimoto List-Id: devicetree@vger.kernel.org On 02/25/2013 01:57 AM, Kuninori Morimoto wrote: > ak4642 driver can be used from simple-card driver > which requires .of_xlate_dai_name. > This patch supports it. > diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c > +static int ak4642_of_xlate_dai_name(struct snd_soc_codec *codec, > + struct of_phandle_args *spec, > + const char **dai_name) > +{ > + *dai_name = ak4642_dai.name; > + > + return 0; > +} This seems fine, but I would be tempted to make that a common function; with body something like: if codec->num_dai == 1: if spec->args_count: return error else: return codec->dais[0].name else: loop over all codec->dais if args->args[0] == dai->of_id: return dai return error (similar to how drivers/gpio/gpiolib-of.c:of_gpio_simple_xlate() works). That would allow the same function to be used by most CODECs/CPUs.