[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <451e69dc-ad89-9ffc-1e91-70796e908003@gmail.com>
Date: Tue, 22 Nov 2022 17:28:58 +0100
From: Matthias Brugger <matthias.bgg@...il.com>
To: Yong Wu <yong.wu@...iatek.com>, Joerg Roedel <joro@...tes.org>,
Will Deacon <will@...nel.org>
Cc: Robin Murphy <robin.murphy@....com>, iommu@...ts.linux.dev,
linux-mediatek@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
mingyuan.ma@...iatek.com, yf.wang@...iatek.com,
libo.kang@...iatek.com, chengci.xu@...iatek.com,
youlin.pei@...iatek.com, anan.sun@...iatek.com,
xueqi.zhang@...iatek.com, Guenter Roeck <groeck@...omium.org>,
Dan Carpenter <dan.carpenter@...cle.com>
Subject: Re: [PATCH v7 2/6] iommu/mediatek: Use component_match_add
On 18/10/2022 04:42, Yong Wu wrote:
> In order to simplify the error patch(avoid call of_node_put), Use
> component_match_add instead component_match_add_release since we are only
> interested in the "device" here. Then we could always call of_node_put in
> normal path.
>
> Strictly this is not a fixes patch, but it is a prepare for adding the
> error path, thus I add a Fixes tag too.
>
> Fixes: d2e9a1102cfc ("iommu/mediatek: Contain MM IOMMU flow with the MM TYPE")
> Suggested-by: Robin Murphy <robin.murphy@....com>
> Signed-off-by: Yong Wu <yong.wu@...iatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@...il.com>
> ---
> drivers/iommu/mtk_iommu.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 3189b585725f..38112ad87d70 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -1068,19 +1068,17 @@ static int mtk_iommu_mm_dts_parse(struct device *dev, struct component_match **m
> id = i;
>
> plarbdev = of_find_device_by_node(larbnode);
> - if (!plarbdev) {
> - of_node_put(larbnode);
> + of_node_put(larbnode);
> + if (!plarbdev)
> return -ENODEV;
> - }
> +
> if (!plarbdev->dev.driver) {
> - of_node_put(larbnode);
> platform_device_put(plarbdev);
> return -EPROBE_DEFER;
> }
> data->larb_imu[id].dev = &plarbdev->dev;
>
> - component_match_add_release(dev, match, component_release_of,
> - component_compare_of, larbnode);
> + component_match_add(dev, match, component_compare_dev, &plarbdev->dev);
> platform_device_put(plarbdev);
> }
>
Powered by blists - more mailing lists