mailbox: tegra: Fix superfluous IRQ error message
authorJon Hunter <jonathanh@nvidia.com>
Fri, 11 Oct 2019 08:34:59 +0000 (09:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Nov 2019 14:09:19 +0000 (15:09 +0100)
Commit 7723f4c5ecdb ("driver core: platform: Add an error message to
platform_get_irq*()") added an error message to avoid drivers having
to print an error message when IRQ lookup fails. However, there are
some cases where IRQs are optional and so new optional versions of
the platform_get_irq*() APIs have been added for these cases.

The IRQs for Tegra HSP module are optional because not all instances
of the module have the doorbell and all of the shared interrupts.
Hence, since the above commit was applied the following error messages
are now seen on Tegra194 ...

 ERR KERN tegra-hsp c150000.hsp: IRQ doorbell not found
 ERR KERN tegra-hsp c150000.hsp: IRQ shared0 not found

The Tegra HSP driver deliberately does not fail if these are not found
and so fix the above errors by updating the Tegra HSP driver to use
the platform_get_irq_byname_optional() API.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20191011083459.11551-1-jonathanh@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mailbox/tegra-hsp.c

index 4c5ba35d48d435e61d2161cf4070f1f50c299eb0..834b35dc3b1378bca2a99ea7401af2f38410d0b8 100644 (file)
@@ -657,7 +657,7 @@ static int tegra_hsp_probe(struct platform_device *pdev)
        hsp->num_db = (value >> HSP_nDB_SHIFT) & HSP_nINT_MASK;
        hsp->num_si = (value >> HSP_nSI_SHIFT) & HSP_nINT_MASK;
 
-       err = platform_get_irq_byname(pdev, "doorbell");
+       err = platform_get_irq_byname_optional(pdev, "doorbell");
        if (err >= 0)
                hsp->doorbell_irq = err;
 
@@ -677,7 +677,7 @@ static int tegra_hsp_probe(struct platform_device *pdev)
                        if (!name)
                                return -ENOMEM;
 
-                       err = platform_get_irq_byname(pdev, name);
+                       err = platform_get_irq_byname_optional(pdev, name);
                        if (err >= 0) {
                                hsp->shared_irqs[i] = err;
                                count++;