Commit a305bd7c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull GPIO fixes from Linus Walleij:
 "A set of fixes for the v5.5 series:

   - Fix the build for the Xtensa driver.

   - Make sure to set up the parent device for mpc8xxx.

   - Clarify the look-up error message.

   - Fix the usage of the line direction in the mockup device.

   - Fix a type warning on the Aspeed driver.

   - Remove the pointless __exit annotation on the xgs-iproc which is
     causing a compilation problem.

   - Fix up emultation of open drain outputs .get_direction()

   - Fix the IRQ callbacks on the PCA953xx to use bitops and work
     properly.

   - Fix the Kconfig on the Tegra driver"

* tag 'gpio-v5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
  gpio: tegra186: Allow building on Tegra194-only configurations
  gpio: pca953x: Switch to bitops in IRQ callbacks
  gpiolib: fix up emulated open drain outputs
  MAINTAINERS: Append missed file to the database
  gpio: xgs-iproc: remove __exit annotation for iproc_gpio_remove
  gpio: aspeed: avoid return type warning
  gpio: mockup: Fix usage of new GPIO_LINE_DIRECTION
  gpio: Fix error message on out-of-range GPIO in lookup table
  gpio: mpc8xxx: Add platform device to gpiochip->parent
  gpio: xtensa: fix driver build
parents 46cf053e 286e7bea
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7034,6 +7034,7 @@ L: linux-acpi@vger.kernel.org
S:	Maintained
F:	Documentation/firmware-guide/acpi/gpio-properties.rst
F:	drivers/gpio/gpiolib-acpi.c
F:	drivers/gpio/gpiolib-acpi.h
GPIO IR Transmitter
M:	Sean Young <sean@mess.org>
+2 −2
Original line number Diff line number Diff line
@@ -553,8 +553,8 @@ config GPIO_TEGRA

config GPIO_TEGRA186
	tristate "NVIDIA Tegra186 GPIO support"
	default ARCH_TEGRA_186_SOC
	depends on ARCH_TEGRA_186_SOC || COMPILE_TEST
	default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC
	depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST
	depends on OF_GPIO
	select GPIOLIB_IRQCHIP
	select IRQ_DOMAIN_HIERARCHY
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ static void __iomem *bank_reg(struct aspeed_sgpio *gpio,
		return gpio->base + bank->irq_regs + GPIO_IRQ_STATUS;
	default:
		/* acturally if code runs to here, it's an error case */
		BUG_ON(1);
		BUG();
	}
}

+5 −2
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ static int gpio_mockup_get_direction(struct gpio_chip *gc, unsigned int offset)
	int direction;

	mutex_lock(&chip->lock);
	direction = !chip->lines[offset].dir;
	direction = chip->lines[offset].dir;
	mutex_unlock(&chip->lock);

	return direction;
@@ -395,7 +395,7 @@ static int gpio_mockup_probe(struct platform_device *pdev)
	struct gpio_chip *gc;
	struct device *dev;
	const char *name;
	int rv, base;
	int rv, base, i;
	u16 ngpio;

	dev = &pdev->dev;
@@ -447,6 +447,9 @@ static int gpio_mockup_probe(struct platform_device *pdev)
	if (!chip->lines)
		return -ENOMEM;

	for (i = 0; i < gc->ngpio; i++)
		chip->lines[i].dir = GPIO_LINE_DIRECTION_IN;

	if (device_property_read_bool(dev, "named-gpio-lines")) {
		rv = gpio_mockup_name_lines(dev, chip);
		if (rv)
+1 −0
Original line number Diff line number Diff line
@@ -346,6 +346,7 @@ static int mpc8xxx_probe(struct platform_device *pdev)
		return -ENOMEM;

	gc = &mpc8xxx_gc->gc;
	gc->parent = &pdev->dev;

	if (of_property_read_bool(np, "little-endian")) {
		ret = bgpio_init(gc, &pdev->dev, 4,
Loading