lkml.org 
[lkml]   [2020]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 01/13] firmware: arm_sdei: Remove sdei_is_err()
    Date
    sdei_is_err() is only called by sdei_to_linux_errno(). The logic of
    checking on the error number is common to them. They can be combined
    finely.

    This removes sdei_is_err() and its logic is combined to the function
    sdei_to_linux_errno(). Also, the assignment of @err to zero is also
    dropped in invoke_sdei_fn() because it's always overridden afterwards.
    This shouldn't cause functional changes.

    Signed-off-by: Gavin Shan <gshan@redhat.com>
    Reviewed-by: James Morse <james.morse@arm.com>
    Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    ---
    drivers/firmware/arm_sdei.c | 26 +++-----------------------
    1 file changed, 3 insertions(+), 23 deletions(-)

    diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
    index b4b9ce97f415..2d256b2ed4b4 100644
    --- a/drivers/firmware/arm_sdei.c
    +++ b/drivers/firmware/arm_sdei.c
    @@ -114,26 +114,7 @@ static int sdei_to_linux_errno(unsigned long sdei_err)
    return -ENOMEM;
    }

    - /* Not an error value ... */
    - return sdei_err;
    -}
    -
    -/*
    - * If x0 is any of these values, then the call failed, use sdei_to_linux_errno()
    - * to translate.
    - */
    -static int sdei_is_err(struct arm_smccc_res *res)
    -{
    - switch (res->a0) {
    - case SDEI_NOT_SUPPORTED:
    - case SDEI_INVALID_PARAMETERS:
    - case SDEI_DENIED:
    - case SDEI_PENDING:
    - case SDEI_OUT_OF_RESOURCE:
    - return true;
    - }
    -
    - return false;
    + return 0;
    }

    static int invoke_sdei_fn(unsigned long function_id, unsigned long arg0,
    @@ -141,14 +122,13 @@ static int invoke_sdei_fn(unsigned long function_id, unsigned long arg0,
    unsigned long arg3, unsigned long arg4,
    u64 *result)
    {
    - int err = 0;
    + int err;
    struct arm_smccc_res res;

    if (sdei_firmware_call) {
    sdei_firmware_call(function_id, arg0, arg1, arg2, arg3, arg4,
    &res);
    - if (sdei_is_err(&res))
    - err = sdei_to_linux_errno(res.a0);
    + err = sdei_to_linux_errno(res.a0);
    } else {
    /*
    * !sdei_firmware_call means we failed to probe or called
    --
    2.23.0
    \
     
     \ /
      Last update: 2020-09-22 15:05    [W:4.034 / U:0.820 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site