Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37c669b2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull GPIO fixes from Linus Walleij:
 "Here are a few GPIO fixes for v4.8.

  I was expecting some fallout from the new chardev rework but nothing
  like that turned up att all.  Instead a Kconfig confusion that I think
  I have finally nailed, then some ordinary driver noise and trivia.

  This fixes a Kconfig issue with UM: when I made GPIOLIB available to
  all archs, that included UM, but the OF part of GPIOLIB requires
  HAS_IOMEM, so we add HAS_IOMEM as a dependency to OF_GPIO.

  This in turn exposed the fact that a few GPIO drivers were implicitly
  assuming OF_GPIO as their dependency but instead depended on OF alone
  (the typical problem being a pointer inside gpio_chip not existing
  unless OF_GPIO is selected) and then UM would fail to compile with
  these drivers instead.  Then I lost patience and made any GPIO driver
  depending on just OF depend on OF_GPIO instead, that is certainly what
  they meant and the only thing that makes sense anyway.  GPIO with just
  OF but !OF_GPIO does not make sense.

  Also a fix for the max730x driver data pointer, and a minor comment
  fix for the GPIO tools"

* tag 'gpio-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
  gpio: make any OF dependent driver depend on OF_GPIO
  gpio: Fix OF build problem on UM
  gpio: max730x: set gpiochip data pointer before using it
  tools/gpio: fix gpio-event-mon header comment
parents fa8410b3 048c28c9
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -50,6 +50,7 @@ config GPIO_DEVRES
config OF_GPIO
config OF_GPIO
	def_bool y
	def_bool y
	depends on OF
	depends on OF
	depends on HAS_IOMEM


config GPIO_ACPI
config GPIO_ACPI
	def_bool y
	def_bool y
@@ -188,7 +189,7 @@ config GPIO_EP93XX
config GPIO_ETRAXFS
config GPIO_ETRAXFS
	bool "Axis ETRAX FS General I/O"
	bool "Axis ETRAX FS General I/O"
	depends on CRIS || COMPILE_TEST
	depends on CRIS || COMPILE_TEST
	depends on OF
	depends on OF_GPIO
	select GPIO_GENERIC
	select GPIO_GENERIC
	select GPIOLIB_IRQCHIP
	select GPIOLIB_IRQCHIP
	help
	help
@@ -214,7 +215,7 @@ config GPIO_GENERIC_PLATFORM


config GPIO_GRGPIO
config GPIO_GRGPIO
	tristate "Aeroflex Gaisler GRGPIO support"
	tristate "Aeroflex Gaisler GRGPIO support"
	depends on OF
	depends on OF_GPIO
	select GPIO_GENERIC
	select GPIO_GENERIC
	select IRQ_DOMAIN
	select IRQ_DOMAIN
	help
	help
@@ -312,7 +313,7 @@ config GPIO_MPC8XXX
config GPIO_MVEBU
config GPIO_MVEBU
	def_bool y
	def_bool y
	depends on PLAT_ORION
	depends on PLAT_ORION
	depends on OF
	depends on OF_GPIO
	select GENERIC_IRQ_CHIP
	select GENERIC_IRQ_CHIP


config GPIO_MXC
config GPIO_MXC
@@ -405,7 +406,7 @@ config GPIO_TEGRA
	bool "NVIDIA Tegra GPIO support"
	bool "NVIDIA Tegra GPIO support"
	default ARCH_TEGRA
	default ARCH_TEGRA
	depends on ARCH_TEGRA || COMPILE_TEST
	depends on ARCH_TEGRA || COMPILE_TEST
	depends on OF
	depends on OF_GPIO
	help
	help
	  Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
	  Say yes here to support GPIO pins on NVIDIA Tegra SoCs.


@@ -1099,7 +1100,7 @@ menu "SPI GPIO expanders"


config GPIO_74X164
config GPIO_74X164
	tristate "74x164 serial-in/parallel-out 8-bits shift register"
	tristate "74x164 serial-in/parallel-out 8-bits shift register"
	depends on OF
	depends on OF_GPIO
	help
	help
	  Driver for 74x164 compatible serial-in/parallel-out 8-outputs
	  Driver for 74x164 compatible serial-in/parallel-out 8-outputs
	  shift registers. This driver can be used to provide access
	  shift registers. This driver can be used to provide access
+4 −4
Original line number Original line Diff line number Diff line
@@ -192,6 +192,10 @@ int __max730x_probe(struct max7301 *ts)
	ts->chip.parent = dev;
	ts->chip.parent = dev;
	ts->chip.owner = THIS_MODULE;
	ts->chip.owner = THIS_MODULE;


	ret = gpiochip_add_data(&ts->chip, ts);
	if (ret)
		goto exit_destroy;

	/*
	/*
	 * initialize pullups according to platform data and cache the
	 * initialize pullups according to platform data and cache the
	 * register values for later use.
	 * register values for later use.
@@ -213,10 +217,6 @@ int __max730x_probe(struct max7301 *ts)
		}
		}
	}
	}


	ret = gpiochip_add_data(&ts->chip, ts);
	if (ret)
		goto exit_destroy;

	return ret;
	return ret;


exit_destroy:
exit_destroy:
+1 −1
Original line number Original line Diff line number Diff line
/*
/*
 * gpio-hammer - example swiss army knife to shake GPIO lines on a system
 * gpio-event-mon - monitor GPIO line events from userspace
 *
 *
 * Copyright (C) 2016 Linus Walleij
 * Copyright (C) 2016 Linus Walleij
 *
 *