[PATCH 01/14] drivers/firmware/sdei: Remove sdei_is_err()
Gavin Shan
gshan at redhat.com
Tue Jul 21 22:04:52 EDT 2020
Hi James,
On 7/22/20 6:39 AM, James Morse wrote:
> On 06/07/2020 06:47, Gavin Shan wrote:
>> sdei_is_err() is only called by sdei_to_linux_errno().
>
> ... so it is! There were a lot more of these out of tree when it was being used to test
> the firmware.
>
Ok, thanks for the explanation.
>
>> 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().
>
>> diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
>> index e7e36aab2386..415c243a8e65 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,
>> @@ -147,8 +128,7 @@ static int invoke_sdei_fn(unsigned long function_id, unsigned long arg0,
>
> Please also remove the now-pointless initialiser at the top of the function.
>
Sure, the assignment of @err to zero will be dropped in v2.
>
>> 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
>>
>
> With that:
> Reviewed-by: James Morse <james.morse at arm.com>
>
Thanks for your review.
Thanks,
Gavin
More information about the linux-arm-kernel
mailing list