[alsa-devel] [PATCH 19/54 v2] ASoC: switch over to use snd_soc_register_component() on mpc5200 i2s
swarren at wwwdotorg.org
Fri Mar 22 06:04:05 CET 2013
On 03/21/2013 07:19 PM, Kuninori Morimoto wrote:
> Hi Stephen
> Thank you for pointing it
>>> diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
>>> @@ -163,7 +167,8 @@ static int psc_i2s_of_probe(struct platform_device *op)
>>> if (rc != 0)
>>> return rc;
>>> - rc = snd_soc_register_dais(&op->dev, psc_i2s_dai, ARRAY_SIZE(psc_i2s_dai));
>>> + rc = snd_soc_register_component(&op->dev, &psc_i2s_component,
>>> + psc_i2s_dai, ARRAY_SIZE(psc_i2s_dai));
>> ARRAY_SIZE(psc_i2s_dai)==1, so this switches from
>> snd_soc_register_dais() to snd_soc_register_dai(). Will that be a problem?
> I didn't notice about it.
> arch/powerpc/boot/dts/lite5200.dts seems the user of this driver,
> but, it was comment-outed.
> And it is using DT, not name matching ?
This one required some more in-depth investigation.
Certainly, there don't appear to be any instance of the device-name or
DAI name string mpc5200-psc-i2s anywhere in the kernel.
However, I do see:
> ./mpc8610_hpcd.c:213: machine_data->dai.cpu_dai_name = dev_name(&ssi_pdev->dev);
> ./p1022_ds.c:223: mdata->dai.cpu_dai_name = dev_name(&ssi_pdev->dev);
> ./p1022_rdk.c:226: mdata->dai.cpu_dai_name = dev_name(&ssi_pdev->dev);
> ./imx-sgtl5000.c:151: data->dai.cpu_dai_name = dev_name(&ssi_pdev->dev);
That's a bit icky; DT-based systems should use .cpu_of_node, not
Anyway, as far as I can tell from any of the in-kernel device trees,
this particular mpc5200-psc-i2s device isn't actually instantiated
anywhere. I guess the only users are removed or out-of-tree.
Equally, of those 4 files, the compatible value they're instantiated
from doesn't exist in any in-kernel DT files, except for imx-sgtl5000.c,
and in that case the CPU phandle points at something the definitely
isn't the MPC5200 PSC device.
So, I guess this if probably fine...
More information about the Alsa-devel