lkml.org 
[lkml]   [2018]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 11/13] iommu/rockchip: Fix error handling in init
    Date
    It's hard to undo bus_set_iommu() in the error path, so move it to the
    end of rk_iommu_probe().

    Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
    Reviewed-by: Tomasz Figa <tfiga@chromium.org>
    ---

    Changes in v4: None
    Changes in v3: None
    Changes in v2:
    Move bus_set_iommu() to rk_iommu_probe().

    drivers/iommu/rockchip-iommu.c | 15 ++-------------
    1 file changed, 2 insertions(+), 13 deletions(-)

    diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
    index b1f177ae03c7..2c095f96c033 100644
    --- a/drivers/iommu/rockchip-iommu.c
    +++ b/drivers/iommu/rockchip-iommu.c
    @@ -1195,6 +1195,8 @@ static int rk_iommu_probe(struct platform_device *pdev)
    if (!dma_dev)
    dma_dev = &pdev->dev;

    + bus_set_iommu(&platform_bus_type, &rk_iommu_ops);
    +
    return 0;
    err_remove_sysfs:
    iommu_device_sysfs_remove(&iommu->iommu);
    @@ -1220,19 +1222,6 @@ static struct platform_driver rk_iommu_driver = {

    static int __init rk_iommu_init(void)
    {
    - struct device_node *np;
    - int ret;
    -
    - np = of_find_matching_node(NULL, rk_iommu_dt_ids);
    - if (!np)
    - return 0;
    -
    - of_node_put(np);
    -
    - ret = bus_set_iommu(&platform_bus_type, &rk_iommu_ops);
    - if (ret)
    - return ret;
    -
    return platform_driver_register(&rk_iommu_driver);
    }
    subsys_initcall(rk_iommu_init);
    --
    2.11.0

    \
     
     \ /
      Last update: 2018-01-18 12:56    [W:6.664 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site