06.05.2020 14:47, Vidya Sagar пишет:
> Thanks for pushing this change.
> I'm fine with this change as it is attempting to change only the last
> occurrence of the (IS_ERR(...)) + PTR_ERR combination.
> But, this code was initially written with PTR_ERR_OR_ZERO() itself but
> later changed to use (IS_ERR(...)) + PTR_ERR based on the review comment
> from Dmitry Osipenko ( https://lkml.org/lkml/2019/6/20/1457 )
> 
> Adding Dmitry as well to review the change.
> 
> I'm fine with this change.
> Reviewed-by: Vidya Sagar <vid...@nvidia.com>
> 
> On 05-May-20 8:30 PM, Aishwarya Ramakrishnan wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> PTR_ERR_OR_ZERO contains if(IS_ERR(...)) + PTR_ERR.
>>
>> Generated by: scripts/coccinelle/api/ptr_ret.cocci
>>
>> Signed-off-by: Aishwarya Ramakrishnan <aishwaryarj...@gmail.com>
>> ---
>>   drivers/phy/tegra/phy-tegra194-p2u.c | 5 +----
>>   1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/drivers/phy/tegra/phy-tegra194-p2u.c
>> b/drivers/phy/tegra/phy-tegra194-p2u.c
>> index 7042bed9feaa..42394d27f4cb 100644
>> --- a/drivers/phy/tegra/phy-tegra194-p2u.c
>> +++ b/drivers/phy/tegra/phy-tegra194-p2u.c
>> @@ -92,10 +92,7 @@ static int tegra_p2u_probe(struct platform_device
>> *pdev)
>>          phy_set_drvdata(generic_phy, phy);
>>
>>          phy_provider = devm_of_phy_provider_register(dev,
>> of_phy_simple_xlate);
>> -       if (IS_ERR(phy_provider))
>> -               return PTR_ERR(phy_provider);
>> -
>> -       return 0;
>> +       return PTR_ERR_OR_ZERO(phy_provider);
>>   }

Quite some people think that such a change doesn't bring any benefits,
it doesn't help readability of the code, it even makes harder to read
the code for a human being.

IIRC, there were some requests in the past to remove that cocci rule to
stop such auto-generated patches to re-occur over and over again.

The PTR_ERR_OR_ZERO is good to use in a cases where it's not returned
directly, like this:

phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
err = PTR_ERR_OR_ZERO(phy_provider);
if (err)
        return err;

return 0;

Reply via email to