[PATCH v13 2/2] mailbox: mediatek: add support for adsp mailbox controller
allen-kh.cheng
allen-kh.cheng at mediatek.com
Fri Jan 14 04:16:21 CET 2022
On Thu, 2022-01-13 at 12:47 -0600, Pierre-Louis Bossart wrote:
> > +static int mtk_adsp_mbox_probe(struct platform_device *pdev)
> > +{
> > + struct device *dev = &pdev->dev;
> > + struct mtk_adsp_mbox_priv *priv;
> > + const struct mtk_adsp_mbox_cfg *cfg;
> > + struct mbox_controller *mbox;
> > + int ret, irq;
> > +
> > + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> > + if (!priv)
> > + return -ENOMEM;
> > +
> > + mbox = &priv->mbox;
> > + mbox->dev = dev;
> > + mbox->ops = &mtk_adsp_mbox_chan_ops;
> > + mbox->txdone_irq = false;
> > + mbox->txdone_poll = true;
> > + mbox->of_xlate = mtk_adsp_mbox_xlate;
> > + mbox->num_chans = 1;
> > + mbox->chans = devm_kzalloc(dev, sizeof(*mbox->chans),
> > GFP_KERNEL);
> > + if (!mbox->chans)
> > + return -ENOMEM;
> > +
> > + priv->va_mboxreg = devm_platform_ioremap_resource(pdev, 0);
> > + if (IS_ERR(priv->va_mboxreg))
> > + return PTR_ERR(priv->va_mboxreg);
> > +
> > + priv->cfg = of_device_get_match_data(dev);
>
> question: is any error handling needed here? some drivers do, others
> don't, but that function can return NULL.
>
Hi Pierre,
Thanks for your question.
I prefer my previous version which check NULL from
of_device_get_match_data.
I will revert this part in the next version.
Thanks.
> > +
> > + irq = platform_get_irq(pdev, 0);
> > + if (irq < 0)
> > + return irq;
> > +
> > + ret = devm_request_threaded_irq(dev, irq, mtk_adsp_mbox_irq,
> > + mtk_adsp_mbox_isr,
> > IRQF_TRIGGER_NONE,
> > + dev_name(dev), mbox->chans);
> > + if (ret < 0)
> > + return ret;
> > +
> > + platform_set_drvdata(pdev, priv);
> > +
> > + return devm_mbox_controller_register(dev, &priv->mbox);
> > +}
>
>
More information about the Alsa-devel
mailing list