projects/linux·commit 017102b4

Merge tag 'gpio-fixes-for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

017102b4 · Linus Torvalds <[email protected]> · 2026-04-10 08:32:30 -07:00

Pull gpio fixes from Bartosz Golaszewski:

 - gracefully handle missing regmap in gpio-bd72720

 - fix IRQ resource release in gpio-tegra

 - return -ENOMEM on devm_kzalloc() failure instead of -ENODEV in
   gpio-tegra

* tag 'gpio-fixes-for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: tegra: return -ENOMEM on allocation failure in probe
  gpio: tegra: fix irq_release_resources calling enable instead of disable
  gpio: bd72720: handle missing regmap
Commit
017102b40c34b5a67de46230bdfb06096dd11716
Parents
77c3c619 · 57df6923

Merge commit. Changes below are compared with the first parent: 77c3c619.

Changes

2 files changed · +4 −2

FileStatusAddDelContent
drivers/gpio/gpio-bd72720.cmodified+2−0View file
drivers/gpio/gpio-tegra.cmodified+2−2View file

drivers/gpio/gpio-bd72720.c

View file
diff --git a/drivers/gpio/gpio-bd72720.c b/drivers/gpio/gpio-bd72720.c
index 6549dbf..d0f936e 100644
--- a/drivers/gpio/gpio-bd72720.c
+++ b/drivers/gpio/gpio-bd72720.c
@@ -256,6 +256,8 @@ static int gpo_bd72720_probe(struct platform_device *pdev)
g->dev = dev;
g->chip.parent = parent;
g->regmap = dev_get_regmap(parent, NULL);
+ if (!g->regmap)
+ return -ENODEV;
return devm_gpiochip_add_data(dev, &g->chip, g);
}

drivers/gpio/gpio-tegra.c

View file
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 15a5762..df06b56 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -595,7 +595,7 @@ static void tegra_gpio_irq_release_resources(struct irq_data *d)
struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
gpiochip_relres_irq(chip, d->hwirq);
- tegra_gpio_enable(tgi, d->hwirq);
+ tegra_gpio_disable(tgi, d->hwirq);
}
static void tegra_gpio_irq_print_chip(struct irq_data *d, struct seq_file *s)
@@ -698,7 +698,7 @@ static int tegra_gpio_probe(struct platform_device *pdev)
tgi = devm_kzalloc(&pdev->dev, sizeof(*tgi), GFP_KERNEL);
if (!tgi)
- return -ENODEV;
+ return -ENOMEM;
tgi->soc = of_device_get_match_data(&pdev->dev);
tgi->dev = &pdev->dev;