mbox series

[v2,0/2] PCI: Check for platform_get_irq() failure consistently

Message ID 20200501224042.141366-1-helgaas@kernel.org
Headers show
Series PCI: Check for platform_get_irq() failure consistently | expand

Message

Bjorn Helgaas May 1, 2020, 10:40 p.m. UTC
From: Bjorn Helgaas <bhelgaas@google.com>

All callers of platform_get_irq() and related functions interpret a
negative return value as an error.  A few also interpret zero as an error.

platform_get_irq() should return either a negative error number or a valid
non-zero IRQ, so there's no need to check for zero.

This series:

  - Extends the platform_get_irq() function comment to say it returns a
    non-zero IRQ number or a negative error number.

  - Adds a WARN() if platform_get_irq() ever *does* return zero (this would
    be a bug in the underlying arch code, and most callers are not prepared
    for this).

  - Updates drivers/pci/ to check consistently using "irq < 0".

This is based on Aman's series [1].  I propose to merge this via the PCI
tree, given acks from Greg and Thomas.

[1] https://lore.kernel.org/r/cover.1583952275.git.amanharitsh123@gmail.com

Aman Sharma (1):
  PCI: Check for platform_get_irq() failure consistently

Bjorn Helgaas (1):
  driver core: platform: Clarify that IRQ 0 is invalid

 drivers/base/platform.c                       | 40 ++++++++++++-------
 drivers/pci/controller/dwc/pci-imx6.c         |  4 +-
 drivers/pci/controller/dwc/pcie-tegra194.c    |  4 +-
 .../controller/mobiveil/pcie-mobiveil-host.c  |  4 +-
 drivers/pci/controller/pci-aardvark.c         |  3 ++
 drivers/pci/controller/pci-v3-semi.c          |  4 +-
 drivers/pci/controller/pcie-mediatek.c        |  3 ++
 drivers/pci/controller/pcie-tango.c           |  4 +-
 8 files changed, 41 insertions(+), 25 deletions(-)


base-commit: 8f3d9f354286745c751374f5f1fcafee6b3f3136

Comments

Linus Walleij May 12, 2020, 12:35 p.m. UTC | #1
On Sat, May 2, 2020 at 12:41 AM Bjorn Helgaas <helgaas@kernel.org> wrote:

> From: Bjorn Helgaas <bhelgaas@google.com>
>
> All callers of platform_get_irq() and related functions interpret a
> negative return value as an error.  A few also interpret zero as an error.
>
> platform_get_irq() should return either a negative error number or a valid
> non-zero IRQ, so there's no need to check for zero.
>
> This series:
>
>   - Extends the platform_get_irq() function comment to say it returns a
>     non-zero IRQ number or a negative error number.
>
>   - Adds a WARN() if platform_get_irq() ever *does* return zero (this would
>     be a bug in the underlying arch code, and most callers are not prepared
>     for this).
>
>   - Updates drivers/pci/ to check consistently using "irq < 0".
>
> This is based on Aman's series [1].  I propose to merge this via the PCI
> tree, given acks from Greg and Thomas.
>
> [1] https://lore.kernel.org/r/cover.1583952275.git.amanharitsh123@gmail.com

Makes sense to me.
Acked-by: Linus Walleij <linus.walleij@linaro.org>

for the series.

Yours,
Linus Walleij
Bjorn Helgaas May 13, 2020, 5:44 p.m. UTC | #2
On Fri, May 01, 2020 at 05:40:40PM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> All callers of platform_get_irq() and related functions interpret a
> negative return value as an error.  A few also interpret zero as an error.
> 
> platform_get_irq() should return either a negative error number or a valid
> non-zero IRQ, so there's no need to check for zero.
> 
> This series:
> 
>   - Extends the platform_get_irq() function comment to say it returns a
>     non-zero IRQ number or a negative error number.
> 
>   - Adds a WARN() if platform_get_irq() ever *does* return zero (this would
>     be a bug in the underlying arch code, and most callers are not prepared
>     for this).
> 
>   - Updates drivers/pci/ to check consistently using "irq < 0".
> 
> This is based on Aman's series [1].  I propose to merge this via the PCI
> tree, given acks from Greg and Thomas.
> 
> [1] https://lore.kernel.org/r/cover.1583952275.git.amanharitsh123@gmail.com
> 
> Aman Sharma (1):
>   PCI: Check for platform_get_irq() failure consistently
> 
> Bjorn Helgaas (1):
>   driver core: platform: Clarify that IRQ 0 is invalid
> 
>  drivers/base/platform.c                       | 40 ++++++++++++-------
>  drivers/pci/controller/dwc/pci-imx6.c         |  4 +-
>  drivers/pci/controller/dwc/pcie-tegra194.c    |  4 +-
>  .../controller/mobiveil/pcie-mobiveil-host.c  |  4 +-
>  drivers/pci/controller/pci-aardvark.c         |  3 ++
>  drivers/pci/controller/pci-v3-semi.c          |  4 +-
>  drivers/pci/controller/pcie-mediatek.c        |  3 ++
>  drivers/pci/controller/pcie-tango.c           |  4 +-
>  8 files changed, 41 insertions(+), 25 deletions(-)

Applied with acks from Greg and Linus W to pci/misc for v5.8.