On Thu, Nov 25, 2021 at 08:29:25PM +0800, allen-kh.cheng wrote: > diff --git a/drivers/mailbox/mtk-adsp-mailbox.c b/drivers/mailbox/mtk-adsp-mailbox.c [...] > +static bool mtk_adsp_mbox_last_tx_done(struct mbox_chan *chan) > +{ > + struct adsp_mbox_ch_info *ch_info = chan->con_priv; > + void __iomem *reg = ch_info->va_reg; > + > + return (readl(reg + MTK_ADSP_MBOX_IN_CMD) == 0) ? true : false; To be concise, readl(reg + MTK_ADSP_MBOX_IN_CMD) == 0. > +static int mtk_adsp_mbox_probe(struct platform_device *pdev) > +{ [...] > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + if (!res) { > + dev_err(dev, "no adsp mbox register resource\n"); > + return -ENXIO; > + } > + > + priv->va_mboxreg = devm_platform_ioremap_resource(pdev, 0); > + if (IS_ERR(priv->va_mboxreg)) > + return PTR_ERR(priv->va_mboxreg); If using devm_platform_ioremap_resource(), it doesn't need to call platform_get_resource(). res is unused.