PCI: fix ptr_ret.cocci warnings

Message ID 20180711233041.GA39597@lkp-sbx04
State New
Headers show
Series
  • PCI: fix ptr_ret.cocci warnings
Related show

Commit Message

kbuild test robot July 11, 2018, 11:30 p.m.
From: kbuild test robot <fengguang.wu@intel.com>

drivers/pci/controller/pci-tegra.c:1132: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: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
CC: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
---

 pci-tegra.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Lorenzo Pieralisi Sept. 18, 2018, 2:18 p.m. | #1
On Thu, Jul 12, 2018 at 07:30:41AM +0800, kbuild test robot wrote:
> From: kbuild test robot <fengguang.wu@intel.com>
> 
> drivers/pci/controller/pci-tegra.c:1132: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: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
> CC: Shawn Lin <shawn.lin@rock-chips.com>
> Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
> ---
> 
>  pci-tegra.c |    5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)

Thierry,

are you OK with this change ? I will remove the Fixes: tag since
this does not fix anything AFAICS.

Lorenzo

> --- a/drivers/pci/controller/pci-tegra.c
> +++ b/drivers/pci/controller/pci-tegra.c
> @@ -1129,10 +1129,7 @@ static int tegra_pcie_resets_get(struct
>  		return PTR_ERR(pcie->afi_rst);
>  
>  	pcie->pcie_xrst = devm_reset_control_get_exclusive(dev, "pcie_x");
> -	if (IS_ERR(pcie->pcie_xrst))
> -		return PTR_ERR(pcie->pcie_xrst);
> -
> -	return 0;
> +	return PTR_ERR_OR_ZERO(pcie->pcie_xrst);
>  }
>  
>  static int tegra_pcie_phys_get_legacy(struct tegra_pcie *pcie)
Thierry Reding Sept. 18, 2018, 2:47 p.m. | #2
On Tue, Sep 18, 2018 at 03:18:38PM +0100, Lorenzo Pieralisi wrote:
> On Thu, Jul 12, 2018 at 07:30:41AM +0800, kbuild test robot wrote:
> > From: kbuild test robot <fengguang.wu@intel.com>
> > 
> > drivers/pci/controller/pci-tegra.c:1132: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: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
> > CC: Shawn Lin <shawn.lin@rock-chips.com>
> > Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
> > ---
> > 
> >  pci-tegra.c |    5 +----
> >  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> Thierry,
> 
> are you OK with this change ? I will remove the Fixes: tag since
> this does not fix anything AFAICS.

This has been proposed several times in the past and each time Bjorn and
I have agreed that we'd rather not merge that change. I think the
original is clearer and allows the code to be more easily extended.

I don't know if there's a way to "whitelist" certain drivers or sub-
systems where these kinds of changes are known not to be desired. Or
perhaps there's some way to trick coccinelle into not recognizing this
particular instance.

Then again, it seems wrong to have to work around over-ambitious
semantic patches...

Thierry
Lorenzo Pieralisi Sept. 18, 2018, 4:30 p.m. | #3
On Tue, Sep 18, 2018 at 04:47:37PM +0200, Thierry Reding wrote:
> On Tue, Sep 18, 2018 at 03:18:38PM +0100, Lorenzo Pieralisi wrote:
> > On Thu, Jul 12, 2018 at 07:30:41AM +0800, kbuild test robot wrote:
> > > From: kbuild test robot <fengguang.wu@intel.com>
> > > 
> > > drivers/pci/controller/pci-tegra.c:1132: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: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
> > > CC: Shawn Lin <shawn.lin@rock-chips.com>
> > > Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
> > > ---
> > > 
> > >  pci-tegra.c |    5 +----
> > >  1 file changed, 1 insertion(+), 4 deletions(-)
> > 
> > Thierry,
> > 
> > are you OK with this change ? I will remove the Fixes: tag since
> > this does not fix anything AFAICS.
> 
> This has been proposed several times in the past and each time Bjorn and
> I have agreed that we'd rather not merge that change. I think the
> original is clearer and allows the code to be more easily extended.
> 
> I don't know if there's a way to "whitelist" certain drivers or sub-
> systems where these kinds of changes are known not to be desired. Or
> perhaps there's some way to trick coccinelle into not recognizing this
> particular instance.
> 
> Then again, it seems wrong to have to work around over-ambitious
> semantic patches...

I agree with you and Bjorn, I will drop the patches but you have a
point. Certainly these patches aren't fixing anything unless I am
missing something obvious.

Lorenzo

Patch

--- a/drivers/pci/controller/pci-tegra.c
+++ b/drivers/pci/controller/pci-tegra.c
@@ -1129,10 +1129,7 @@  static int tegra_pcie_resets_get(struct
 		return PTR_ERR(pcie->afi_rst);
 
 	pcie->pcie_xrst = devm_reset_control_get_exclusive(dev, "pcie_x");
-	if (IS_ERR(pcie->pcie_xrst))
-		return PTR_ERR(pcie->pcie_xrst);
-
-	return 0;
+	return PTR_ERR_OR_ZERO(pcie->pcie_xrst);
 }
 
 static int tegra_pcie_phys_get_legacy(struct tegra_pcie *pcie)