mirror of https://gitee.com/openkylin/linux.git
iommu/mediatek: Convert DT component matching to component_match_add_release()
Convert DT component matching to use component_match_add_release(). Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
84672f1926
commit
00c7c81f7b
|
@ -544,17 +544,19 @@ static int mtk_iommu_probe(struct platform_device *pdev)
|
|||
continue;
|
||||
|
||||
plarbdev = of_find_device_by_node(larbnode);
|
||||
of_node_put(larbnode);
|
||||
if (!plarbdev) {
|
||||
plarbdev = of_platform_device_create(
|
||||
larbnode, NULL,
|
||||
platform_bus_type.dev_root);
|
||||
if (!plarbdev)
|
||||
if (!plarbdev) {
|
||||
of_node_put(larbnode);
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
}
|
||||
data->smi_imu.larb_imu[i].dev = &plarbdev->dev;
|
||||
|
||||
component_match_add(dev, &match, compare_of, larbnode);
|
||||
component_match_add_release(dev, &match, release_of,
|
||||
compare_of, larbnode);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, data);
|
||||
|
|
|
@ -54,6 +54,11 @@ static inline int compare_of(struct device *dev, void *data)
|
|||
return dev->of_node == data;
|
||||
}
|
||||
|
||||
static inline void release_of(struct device *dev, void *data)
|
||||
{
|
||||
of_node_put(data);
|
||||
}
|
||||
|
||||
static inline int mtk_iommu_bind(struct device *dev)
|
||||
{
|
||||
struct mtk_iommu_data *data = dev_get_drvdata(dev);
|
||||
|
|
|
@ -601,17 +601,19 @@ static int mtk_iommu_probe(struct platform_device *pdev)
|
|||
continue;
|
||||
|
||||
plarbdev = of_find_device_by_node(larb_spec.np);
|
||||
of_node_put(larb_spec.np);
|
||||
if (!plarbdev) {
|
||||
plarbdev = of_platform_device_create(
|
||||
larb_spec.np, NULL,
|
||||
platform_bus_type.dev_root);
|
||||
if (!plarbdev)
|
||||
if (!plarbdev) {
|
||||
of_node_put(larb_spec.np);
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
}
|
||||
|
||||
data->smi_imu.larb_imu[larb_nr].dev = &plarbdev->dev;
|
||||
component_match_add(dev, &match, compare_of, larb_spec.np);
|
||||
component_match_add_release(dev, &match, release_of,
|
||||
compare_of, larb_spec.np);
|
||||
larb_nr++;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue