On Tue, Nov 17, 2020 at 07:00:32AM +0800, kernel test robot wrote: > From: kernel test robot > > drivers/phy/tegra/phy-tegra194-p2u.c:95:1-3: WARNING: PTR_ERR_OR_ZERO can be used > > > Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR > > Generated by: scripts/coccinelle/api/ptr_ret.cocci > > Fixes: 133552bf03ed ("phy: Remove CONFIG_ARCH_* check for related subdir in Makefile") > CC: Tiezhu Yang > Reported-by: kernel test robot > Signed-off-by: kernel test robot > --- > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 09162bc32c880a791c6c0668ce0745cf7958f576 > commit: 133552bf03edbe3892767a4b64c56e3bed746374 phy: Remove CONFIG_ARCH_* check for related subdir in Makefile > > phy-tegra194-p2u.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) A similar patch was recently sent out against the pci-tegra driver. That was perhaps the third time or so that it happened and both the Bjorn (the PCI maintainer) and I have agreed multiple times in the past that this isn't an actual improvement. There are two reasons why I think this is actually worse than the original: 1) this doesn't look like regular error handling and therefore becomes more difficult to read and 2) if we ever need to add code between the devm_of_phy_provider_register() and the final successful return, we need to go and effectively revert this patch again. I wonder if there's enough consensus that PTR_ERR_OR_ZERO() is really that useful. Thierry > > --- 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 platfo > 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); > } > > static const struct of_device_id tegra_p2u_id_table[] = {