Changes v2: - Update SPDX short identifier - Remove gpio-keys-polled device moved to arch/x86/platform - Fix styling - Use spinnlock only there where it is useful - Removed useless output on driver load - Do bit manipulation later not on IO - Add additional GPIOs handling mpci2_reset and mpcie3_reset. - Add name to GPIOs exported via sysfs Changes v3: - Add a new platform device for the frontpanel push button. - Get global variables from the heap - Fix errors/warnings generated by ./scripts/checkpatch.pl Changes v4: gpio-apu.c - Move bit shifting out of spinnlock - Change declaration of int to unsigned int - Remove redundant blank line - Use dmi table callback - Remove noise pcengines-apu-platform.c - Move platform device to drivers/platform/x86 - Remove needless include - Add dmi information so that this device is only present on APU2 APU3 boards from PC Engines Changes v5: gpio-apu.c - Remove GPIO_GENERIC select from Kconfig - Make gpio_chip real member of apu_gpio_pdata - Use BIT macro for get_data and get_dir functions - Pass platform data to devm_gpiochip_add_data to get data per-instance state container - Remove DEVNAME define - Remove platfrom_device member from apu_gpio_pdata this - Clean up init function - Remove MODULE_ALIAS Until now it was not possible to get more information to detect the MMIO_BASE address from the ACPI subsystem. Florian Eckert (2): gpio: Add driver for PC Engines APU boards platform: Add reset button device for PC Engines APU boards drivers/gpio/Kconfig | 7 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-apu.c | 288 ++++++++++++++++++++++++++ drivers/platform/x86/Kconfig | 11 + drivers/platform/x86/Makefile | 1 + drivers/platform/x86/pcengines-apu-platform.c | 114 ++++++++++ 6 files changed, 422 insertions(+) create mode 100644 drivers/gpio/gpio-apu.c create mode 100644 drivers/platform/x86/pcengines-apu-platform.c -- 2.11.0