Intel Lynxpoint GPIO is actually half way to the Chassis specification that has been established starting from Intel Skylake. It has some pin control properties we may utilize. To achieve this, move the driver under pin control umbrella and do a bunch of clean ups. The series has been tested on Broadwell Ultrabook where Lynxpoint GPIO is exposed to the OS. It has a dependency to patches in my review branch [1]. That dependency patch is supposed to be submitted soon as a part of Baytrail clean up. In the mentioned branch the patches are represented in the correct order. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel.git/log/?h=review-andy Changes v2: - fixed ordering in Kconfig and Makefile (Mika) - finished conversion to pin control Andy Shevchenko (24): pinctrl: lynxpoint: Move GPIO driver to pin controller folder pinctrl: lynxpoint: Use raw_spinlock for locking pinctrl: lynxpoint: Correct amount of pins pinctrl: lynxpoint: Drop useless assignment pinctrl: lynxpoint: Use %pR to print IO resource pinctrl: lynxpoint: Use standard pattern for memory allocation pinctrl: lynxpoint: Assume 2 bits for mode selector pinctrl: lynxpoint: Relax GPIO request rules pinctrl: lynxpoint: Keep pointer to struct device instead of its container pinctrl: lynxpoint: Switch to memory mapped IO accessors pinctrl: lynxpoint: Convert unsigned to unsigned int pinctrl: lynxpoint: Extract lp_gpio_acpi_use() for future use pinctrl: lynxpoint: Move ->remove closer to ->probe() pinctrl: lynxpoint: Move lp_irq_type() closer to IRQ related routines pinctrl: lynxpoint: Move ownership check to IRQ chip pinctrl: lynxpoint: Implement ->irq_ack() callback pinctrl: lynxpoint: Implement intel_gpio_get_direction callback pinctrl: lynxpoint: Add pin control data structures pinctrl: lynxpoint: Reuse struct intel_pinctrl in the driver pinctrl: lynxpoint: Add pin control operations pinctrl: lynxpoint: Implement ->pin_dbg_show() pinctrl: lynxpoint: Add GPIO <-> pin mapping ranges via callback pinctrl: lynxpoint: Switch to pin control API pinctrl: lynxpoint: Update summary in the driver MAINTAINERS | 1 - drivers/gpio/Kconfig | 8 - drivers/gpio/Makefile | 1 - drivers/gpio/gpio-lynxpoint.c | 471 ----------- drivers/pinctrl/intel/Kconfig | 13 + drivers/pinctrl/intel/Makefile | 1 + drivers/pinctrl/intel/pinctrl-lynxpoint.c | 975 ++++++++++++++++++++++ 7 files changed, 989 insertions(+), 481 deletions(-) delete mode 100644 drivers/gpio/gpio-lynxpoint.c create mode 100644 drivers/pinctrl/intel/pinctrl-lynxpoint.c -- 2.24.0