Commit 56bdf727 authored by David Thompson's avatar David Thompson Committed by Bartosz Golaszewski
Browse files

Revert "gpio: mlxbf3: only get IRQ for device instance 0"



This reverts commit 10af0273.

While this change was merged, it is not the preferred solution.
During review of a similar change to the gpio-mlxbf2 driver, the
use of "platform_get_irq_optional" was identified as the preferred
solution, so let's use it for gpio-mlxbf3 driver as well.

Cc: stable@vger.kernel.org
Fixes: 10af0273 ("gpio: mlxbf3: only get IRQ for device instance 0")
Signed-off-by: default avatarDavid Thompson <davthompson@nvidia.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/8d2b630c71b3742f2c74242cf7d602706a6108e6.1754928650.git.davthompson@nvidia.com


Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 8f5ae30d
Loading
Loading
Loading
Loading
+19 −35
Original line number Diff line number Diff line
@@ -190,9 +190,7 @@ static int mlxbf3_gpio_probe(struct platform_device *pdev)
	struct mlxbf3_gpio_context *gs;
	struct gpio_irq_chip *girq;
	struct gpio_chip *gc;
	char *colon_ptr;
	int ret, irq;
	long num;

	gs = devm_kzalloc(dev, sizeof(*gs), GFP_KERNEL);
	if (!gs)
@@ -229,19 +227,6 @@ static int mlxbf3_gpio_probe(struct platform_device *pdev)
	gc->owner = THIS_MODULE;
	gc->add_pin_ranges = mlxbf3_gpio_add_pin_ranges;

	colon_ptr = strchr(dev_name(dev), ':');
	if (!colon_ptr) {
		dev_err(dev, "invalid device name format\n");
		return -EINVAL;
	}

	ret = kstrtol(++colon_ptr, 16, &num);
	if (ret) {
		dev_err(dev, "invalid device instance\n");
		return ret;
	}

	if (!num) {
	irq = platform_get_irq(pdev, 0);
	if (irq >= 0) {
		girq = &gs->gc.irq;
@@ -262,7 +247,6 @@ static int mlxbf3_gpio_probe(struct platform_device *pdev)
		if (ret)
			return dev_err_probe(dev, ret, "failed to request IRQ");
	}
	}

	platform_set_drvdata(pdev, gs);