lkml.org 
[lkml]   [2019]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 28/79] bus: ti-sysc: Simplify cleanup upon failures in sysc_probe()
    Date
    From: Suman Anna <s-anna@ti.com>

    [ Upstream commit a304f483b6b00d42bde41c45ca52c670945348e2 ]

    The clocks are not yet parsed and prepared until after a successful
    sysc_get_clocks(), so there is no need to unprepare the clocks upon
    any failure of any of the prior functions in sysc_probe(). The current
    code path would have been a no-op because of the clock validity checks
    within sysc_unprepare(), but let's just simplify the cleanup path by
    returning the error directly.

    While at this, also fix the cleanup path for a sysc_init_resets()
    failure which is executed after the clocks are prepared.

    Signed-off-by: Suman Anna <s-anna@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/bus/ti-sysc.c | 14 +++++++-------
    1 file changed, 7 insertions(+), 7 deletions(-)

    diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
    index 4ca006e2137f7..e95b26319cd91 100644
    --- a/drivers/bus/ti-sysc.c
    +++ b/drivers/bus/ti-sysc.c
    @@ -1685,7 +1685,7 @@ static int sysc_probe(struct platform_device *pdev)

    error = sysc_init_dts_quirks(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_get_clocks(ddata);
    if (error)
    @@ -1693,27 +1693,27 @@ static int sysc_probe(struct platform_device *pdev)

    error = sysc_map_and_check_registers(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_init_sysc_mask(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_init_idlemodes(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_init_syss_mask(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_init_pdata(ddata);
    if (error)
    - goto unprepare;
    + return error;

    error = sysc_init_resets(ddata);
    if (error)
    - return error;
    + goto unprepare;

    pm_runtime_enable(ddata->dev);
    error = sysc_init_module(ddata);
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-09-20 00:13    [W:4.095 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site