Hi Simon, Answer in line. Best Regards Jim > From: Simon Trimmer <simont@xxxxxxxxxxxxxxxxxxxxx> > Sent: 18 June 2024 19:01 > To: Xu, Baojun > Cc: robh+dt@xxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx; lgirdwood@xxxxxxxxx; perex@xxxxxxxx; pierre-louis.bossart@xxxxxxxxxxxxxxx; Lu, Kevin; Ding, Shenghao; Navada Kanyana, Mukund; 13916275206@xxxxxxx; Hampiholi, Vallabha; P O, Vijeth; Holalu Yogendra, Niranjan; alsa-devel@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; liam.r.girdwood@xxxxxxxxx; yung-chuan.liao@xxxxxxxxxxxxxxx; broonie@xxxxxxxxxx; soyer@xxxxxx; tiwai@xxxxxxx > Subject: [EXTERNAL] RE: [PATCH v8] ALSA: hda/tas2781: Add tas2781 hda SPI driver > > > From: Baojun Xu <baojun. xu@ ti. com> > Sent: Friday, June 14, 2024 5: 06 AM > +static int tas2781_hda_bind(struct device *dev, struct device *master, > + void *master_data) > +{ > + struct tas2781_hda *tas_hda = dev_get_drvdata(dev); > ZjQcmQRYFpfptBannerStart > This message was sent from outside of Texas Instruments. > Do not click links or open attachments unless you recognize the source of this email and know the content is safe. If you wish to report this message to IT Security, please forward the message as an attachment to phishing@xxxxxxxxxxx > > ZjQcmQRYFpfptBannerEnd > > > From: Baojun Xu <baojun.xu@xxxxxx> > > Sent: Friday, June 14, 2024 5:06 AM > > +static int tas2781_hda_bind(struct device *dev, struct device *master, > > + void *master_data) > > +{ > > + struct tas2781_hda *tas_hda = dev_get_drvdata(dev); > > + struct hda_component *comps = master_data; > > + struct hda_codec *codec; > > + int ret; > > + > > + if (tas_hda->priv->index < 0 || > > + tas_hda->priv->index >= HDA_MAX_COMPONENTS || > > + (!comps)) > > + return -EINVAL; > > + > > + comps = &comps[tas_hda->priv->index]; > > + if (comps->dev) > > + return -EBUSY; > > + > > + codec = comps->codec; > > + > > + pm_runtime_get_sync(dev); > > + > > + comps->dev = dev; > > + > > + strscpy(comps->name, dev_name(dev), sizeof(comps->name)); > > + > > + ret = tascodec_spi_init(tas_hda->priv, codec, THIS_MODULE, > > + tasdev_fw_ready); > > + if (!ret) > > + comps->playback_hook = tas2781_hda_playback_hook; > > + > ... > > + > > +static void tas2781_hda_unbind(struct device *dev, struct device *master, > > + void *master_data) > > +{ > > + struct tas2781_hda *tas_hda = dev_get_drvdata(dev); > > + struct hda_component *comps = master_data; > > + > > + comps = &comps[tas_hda->priv->index]; > > + > > + if (comps->dev == dev) { > > + comps->dev = NULL; > > + memset(comps->name, 0, sizeof(comps->name)); > > + comps->playback_hook = NULL; > > + } > > + > > > > I'd been making sure you're on CC but in addition to the other review > comments I wanted to highlight that this in for-next will affect this patch > and require similar changes to these in the i2c driver: > > https://urldefense.com/v3/__https://lore.kernel.org/alsa-devel/87le327f29.wl-tiwai@xxxxxxx/T/*Z2e.:..:20__;Iw!!G3vK!UGUoFkYP8jbjNbnvinbssfRhZQq52GEfg1o9tdR07b-XPFU8lyewNDXCoc4suK7HPRXwoK3rIPqJKxXLlFnE$ > 240617154105.108635-3-simont::40opensource.cirrus.com:1sound:pci:hda:tas2781 > _hda_i2c.c > I merge code to master of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. Till now, seem your patch not applied yet, so I can't pass the compile if I apply your patch. > -Simon > >