]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpio: mlxbf2: use platform_get_irq_optional()
authorDavid Thompson <davthompson@nvidia.com>
Mon, 28 Jul 2025 14:46:19 +0000 (10:46 -0400)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sun, 3 Aug 2025 19:04:25 +0000 (21:04 +0200)
The gpio-mlxbf2 driver interfaces with four GPIO controllers,
device instances 0-3. There are two IRQ resources shared between
the four controllers, and they are found in the ACPI table for
instances 0 and 3. The driver should not use platform_get_irq(),
otherwise this error is logged when probing instances 1 and 2:
  mlxbf2_gpio MLNXBF22:01: error -ENXIO: IRQ index 0 not found

Fixes: 2b725265cb08 ("gpio: mlxbf2: Introduce IRQ support")
Cc: stable@vger.kernel.org
Signed-off-by: David Thompson <davthompson@nvidia.com>
Reviewed-by: Shravan Kumar Ramani <shravankr@nvidia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20250728144619.29894-1-davthompson@nvidia.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-mlxbf2.c

index 6f3dda6b635fa2c0d51fea16b26f78e1aa3167b4..390f2e74a9d8193f924ee50f4a8f2d7bc6ae2168 100644 (file)
@@ -397,7 +397,7 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
        gc->ngpio = npins;
        gc->owner = THIS_MODULE;
 
-       irq = platform_get_irq(pdev, 0);
+       irq = platform_get_irq_optional(pdev, 0);
        if (irq >= 0) {
                girq = &gs->gc.irq;
                gpio_irq_chip_set_chip(girq, &mlxbf2_gpio_irq_chip);