Re: [PATCH] ASoC: sun4i: Use PTR_ERR_OR_ZERO to simplify the code

From: zhong jiang
Date: Fri Nov 01 2019 - 07:55:50 EST


On 2019/11/1 17:13, Maxime Ripard wrote:
> On Thu, Oct 31, 2019 at 10:09:39PM +0800, zhong jiang wrote:
>> It is better to use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR.
>>
>> Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx>
>> ---
>> sound/soc/sunxi/sun4i-i2s.c | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
>> index d0a8d58..72012a6 100644
>> --- a/sound/soc/sunxi/sun4i-i2s.c
>> +++ b/sound/soc/sunxi/sun4i-i2s.c
>> @@ -1174,10 +1174,8 @@ static int sun4i_i2s_init_regmap_fields(struct device *dev,
>> i2s->field_fmt_sr =
>> devm_regmap_field_alloc(dev, i2s->regmap,
>> i2s->variant->field_fmt_sr);
>> - if (IS_ERR(i2s->field_fmt_sr))
>> - return PTR_ERR(i2s->field_fmt_sr);
>>
>> - return 0;
>> + return PTR_ERR_OR_ZERO(i2s->field_fmt_sr);
> I don't find it "better". This couples the error handling and the
> success case, and it makes it harder to extend in the future.
PTR_ERR_OR_ZERO has implemented the if(IS_ERR(...)) + PTR_ERR. It is
feasible to replace it and more readable at least now.

As you said, PTR_ERR_OR_ZERO should be removed ? :-(

Thanks,
zhong jiang


> Maxime