linux/drivers/platform/x86
Linus Torvalds 500920fa76 gpio updates for v6.19-rc1
GPIO core:
 - add proper support for shared GPIOs that's aiming to replace the
   current sharing mechanism (which provides no synchronization ot enable
   counting) and enable it for Qualcomm platforms
 - improve the software node GPIO lookup by using the fwnode
   representation instead of the software node's name which was prone to
   bugs (GPIO controllers don't have to use the software node's name as
   their kernel label)
 - remove the last user of legacy-of-mm-gpiochip.h and drop the header
 - move closer to removing the legacy gpio_request_one() routine
 - rename some symbols for consistency
 - shrink GPIO printk() helpers by reusing existing code
 - remove some redundant kernel messages
 - use min() instead of min_t() in GPIO ACPI code
 - use system_percpu_wq instead of system_wq in GPIO character device code
 
 New drivers:
 - add a driver for the QIXIS FPGA GPIO controller
 
 Driver improvements:
 - use modernized variants of power management macros across a wide array
   of drivers in order to avoid having to use the __maybe_unused attribute
 - convert gpio-elkhartlake and reset-gpio to using the auxiliary bus
   instead of the platform bus as they are not really described in
   firmware
 - use lock guards and update symbol prefixes in gpio-mmio
 - support the bryx radio interface kit in gpio-mpsse + refactor the
   driver
 - use software nodes for configuring the reset-gpio driver, including
   setting up the reference to the shared "reset" pin
 - check and propagate the return value of gpiod_set_value() to user-space
   in gpio-virtuser (this was previously not possible as this function
   returned void)
 - extend the gpio-regmap helper with more features (bypass cache for
   aliased inputs, force writes for aliased data registers, add a new
   configuration parameter)
 - remove unneeded includes from gpio-aspeed and gpio-latch
 - add support for Tegra410 to gpio-tegra186
 - replace PCI-specific PM with generic device-level PM in gpio-bt8xx
 - use dynamic GPIO range allocation in gpio-loongson-64bit
 - improve handling of level-triggered interrupts in gpio-pca953x
 - add suspend/resume support to gpio-fxl6408
 - add support for more models to gpio-menz127
 - optimize gpio-mvebu interrupt handling by avoiding unnecessary calls
   to mvebu_gpio_irq_handler()
 - make locking more consistent in gpio-grgpio
 
 Device-tree bindings:
 - document new NXP and Microchip models
 
 Documentation:
 - add a comprehensive compatibility and feature list for gpio-pca953x,
   which is a great addition as it's probably the most commonly used GPIO
   expander driver
 - kernel-doc tweaks
 
 Late fixes:
 - use BYTE_CTRL_MODE for 2K2000/3000 models in gpio-loongson
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmktpZkACgkQBZ0uy/82
 hMPRNg/+PEhBT1Sm9GZDL2c3urSfEyIIA97nxvV6rad75Xfj8IVy+orvyhJHJgni
 ksjlvLUQLYQ1j82TlCIZDlj3dAmk3rkb6wwbcUubOb7G/xkvWHQztrnmDk4bvSdr
 0vR/dEGOUDRLJxPjeQdFzEoDqLrCqy5QwugH3hd6NASBy+n/g7j2Gb4Pc8IA14wL
 ogkBlP8nXVv2w7GMFESjNldWvxFnOasGuzIfM7mIBDBSjLzEANcuH/E5dNXPFIO7
 kNN8eSnSfMGH0Z0DjdU9tkaAiLypw9FHqSwU6JKNjE/nzzcGV3OzDMM2vgKLETin
 z9tNPBtvXOSBuFbxydWUgX20AmNo5ZEfqGXCwinTHOLwABGZPigi7Ogwxeox0SZ4
 OKm37GUtZlO+dJC8bWUA82l9CwM9GDcxn7/Fv4s4vLaULUfeZHXn1OP4JZ4WmuZi
 J7D5lMIiXKI9EBH95AX3c/r5drZQh1T4Rr7GJ4GG9uceYGTzsE65idI0KXTT1mbx
 nMfQYvNSHGk123rN1bLQov1jZE7foXE9mQ+MzMNSWI3C1WdCGRBorqN8+wMrBU29
 OLS66UorNwSCIl0XY+lIgdiW6OXBTc65jF1v+EdSZaFknEYHQm9TIxQNH+tQDYfz
 irl2dhxz/iaekxO7p516iY3NeqO9Af4SfITVmAX4xDvak3tcYsU=
 =Mw+x
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "There's one new driver, lots of various updates to existing ones, some
  refactoring support for new models and misc tweaks and fixes.

  The biggest new feature in GPIO core is adding support for managed,
  enable-counted sharing of GPIO pins, something that - until now - was
  only hacked around with the GPIOD_FLAGS_BIT_NONEXCLUSIVE request flag
  which basically allowed drivers to "fight it out" for the descriptor
  and provided no synchronization. It was enabled on Qualcomm platforms
  (and thus is enabled on arm64 defconfig) and I plan on removing
  GPIOD_FLAGS_BIT_NONEXCLUSIVE once all drivers using it are switched to
  the new mechanism.

  GPIO core:
   - add proper support for shared GPIOs that's aiming to replace the
     current sharing mechanism (which provides no synchronization ot
     enable counting) and enable it for Qualcomm platforms
   - improve the software node GPIO lookup by using the fwnode
     representation instead of the software node's name which was prone
     to bugs (GPIO controllers don't have to use the software node's
     name as their kernel label)
   - remove the last user of legacy-of-mm-gpiochip.h and drop the header
   - move closer to removing the legacy gpio_request_one() routine
   - rename some symbols for consistency
   - shrink GPIO printk() helpers by reusing existing code
   - remove some redundant kernel messages
   - use min() instead of min_t() in GPIO ACPI code
   - use system_percpu_wq instead of system_wq in GPIO character device
     code

  New drivers:
   - add a driver for the QIXIS FPGA GPIO controller

  Driver improvements:
   - use modernized variants of power management macros across a wide
     array of drivers in order to avoid having to use the __maybe_unused
     attribute
   - convert gpio-elkhartlake and reset-gpio to using the auxiliary bus
     instead of the platform bus as they are not really described in
     firmware
   - use lock guards and update symbol prefixes in gpio-mmio
   - support the bryx radio interface kit in gpio-mpsse + refactor the
     driver
   - use software nodes for configuring the reset-gpio driver, including
     setting up the reference to the shared "reset" pin
   - check and propagate the return value of gpiod_set_value() to
     user-space in gpio-virtuser (this was previously not possible as
     this function returned void)
   - extend the gpio-regmap helper with more features (bypass cache for
     aliased inputs, force writes for aliased data registers, add a new
     configuration parameter)
   - remove unneeded includes from gpio-aspeed and gpio-latch
   - add support for Tegra410 to gpio-tegra186
   - replace PCI-specific PM with generic device-level PM in gpio-bt8xx
   - use dynamic GPIO range allocation in gpio-loongson-64bit
   - improve handling of level-triggered interrupts in gpio-pca953x
   - add suspend/resume support to gpio-fxl6408
   - add support for more models to gpio-menz127
   - optimize gpio-mvebu interrupt handling by avoiding unnecessary
     calls to mvebu_gpio_irq_handler()
   - make locking more consistent in gpio-grgpio

  Device-tree bindings:
   - document new NXP and Microchip models

  Documentation:
   - add a comprehensive compatibility and feature list for
     gpio-pca953x, which is a great addition as it's probably the most
     commonly used GPIO expander driver
   - kernel-doc tweaks

  Late fixes:
   - use BYTE_CTRL_MODE for 2K2000/3000 models in gpio-loongson"

* tag 'gpio-updates-for-v6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (80 commits)
  gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE
  gpio: regmap: fix kernel-doc notation
  gpio: shared: fix a deadlock
  gpio: shared-proxy: set suppress_bind_attrs
  gpio: shared: ignore GPIO hogs when traversing the device tree
  gpio: shared: ignore special __symbols__ node when traversing device tree
  gpio: shared: handle the reset-gpios corner case
  gpio: zynq: Use modern PM macros
  gpio: xilinx: Use modern PM macros
  gpio: xgene: Use modern PM macros
  gpio: uniphier: Use modern PM macros
  gpio: tqmx86: Use modern PM macros
  gpio: pch: Use modern PM macros
  gpio: omap: Use modern PM macros
  gpio: msc313: Use modern PM macros
  gpio: mlxbf2: Use modern PM macros
  gpio: ml-ioh: Use modern PM macros
  gpio: pl061: Use modern PM macros
  gpio: htc-egpio: Use modern PM macros
  gpio: brcmstb: Use modern PM macros
  ...
2025-12-04 12:33:38 -08:00
..
amd platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list 2025-11-06 14:19:32 +02:00
dell platform/x86: alienware-wmi-wmax: Add AWCC support to Alienware 16 Aurora 2025-11-18 09:32:23 +02:00
hp platform/x86: hp-wmi: Add Omen MAX 16-ah0xx fan support and thermal profile 2025-11-12 14:28:44 +02:00
intel gpio updates for v6.19-rc1 2025-12-04 12:33:38 -08:00
lenovo platform/x86: x86-android-tablets: convert Yoga Tab2 fast charger to GPIO references 2025-09-26 14:26:25 +03:00
siemens
tuxedo platform/x86/tuxedo: Prevent invalid Kconfig state 2025-05-14 13:01:28 +03:00
x86-android-tablets platform/x86: x86-android-tablets: Stop using EPROBE_DEFER 2025-09-26 14:26:43 +03:00
Kconfig platform/x86: msi-wmi-platform: Only load on MSI devices 2025-11-10 19:12:40 +02:00
Makefile platform/x86: Add WMI driver for Redmibook keyboard 2025-08-28 14:53:30 +03:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Ignore backlight event 2025-11-18 09:35:53 +02:00
acerhdf.c thermal/drivers/acerhdf: Constify struct thermal_zone_device_ops 2025-05-26 15:31:27 +03:00
adv_swbutton.c
amilo-rfkill.c
apple-gmux.c
asus-laptop.c
asus-nb-wmi.c platform/x86: asus-wmi: Re-add extra keys to ignore_key_wlan quirk 2025-09-16 11:30:39 +03:00
asus-tf103c-dock.c
asus-wireless.c
asus-wmi.c platform/x86: asus-wmi: Fix racy registrations 2025-08-28 18:46:31 +03:00
asus-wmi.h platform/x86: asus-wmi: Fix ROG button mapping, tablet mode on ASUS ROG Z13 2025-08-25 14:13:55 +03:00
barco-p50-gpio.c platform/x86: barco-p50-gpio: use software nodes for gpio-leds/keys 2025-09-26 14:26:45 +03:00
classmate-laptop.c
compal-laptop.c
dasharo-acpi.c platform/x86: Introduce dasharo-acpi platform driver 2025-05-08 16:03:18 +03:00
dual_accel_detect.h
eeepc-laptop.c
eeepc-wmi.c
firmware_attributes_class.c
firmware_attributes_class.h
fujitsu-laptop.c platform/x86: fujitsu: clamp charge_control_end_threshold values to 50 2025-06-13 12:33:28 +03:00
fujitsu-tablet.c
gigabyte-wmi.c
gpd-pocket-fan.c
hdaps.c
huawei-wmi.c platform/x86: huawei-wmi: add keys for HONOR models 2025-11-06 14:11:43 +02:00
ibm_rtl.c
inspur_platform_profile.c
intel_ips.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
intel_ips.h
intel_scu_ipc.c
intel_scu_ipcutil.c
intel_scu_pcidrv.c
intel_scu_pltdrv.c
intel_scu_wdt.c
lg-laptop.c platform/x86: lg-laptop: Fix WMAB call in fan_mode_store() 2025-09-25 12:21:43 +03:00
meegopad_anx7428.c
meraki-mx100.c platform/x86: meraki-mx100: Use static device properties 2025-09-26 14:26:46 +03:00
msi-ec.c
msi-ec.h
msi-laptop.c
msi-wmi-platform.c platform/x86: msi-wmi-platform: Fix typo in WMI GUID 2025-11-10 19:13:29 +02:00
msi-wmi.c
mxm-wmi.c
nvidia-wmi-ec-backlight.c
oxpec.c platform/x86: oxpec: Add support for AOKZOE A1X 2025-09-10 14:21:11 +03:00
p2sb.c
panasonic-laptop.c
pcengines-apuv2.c platform/x86: pcengines-apuv2: Use static device properties 2025-09-26 14:26:48 +03:00
pmc_atom.c
portwell-ec.c platform/x86: portwell-ec: Add hwmon support for voltage and temperature 2025-09-16 12:26:39 +03:00
quickstart.c platform/x86: quickstart: Use devm_mutex_init() 2025-09-08 13:13:41 +03:00
redmi-wmi.c platform/x86: Add WMI driver for Redmibook keyboard 2025-08-28 14:53:30 +03:00
samsung-galaxybook.c platform/x86: samsung-galaxybook: Add SAM0426 2025-06-09 10:46:31 +03:00
samsung-laptop.c platform/x86: samsung-laptop: Expose charge_types 2025-07-22 17:38:39 +03:00
samsung-q10.c
sel3350-platform.c
serdev_helpers.h
serial-multi-instantiate.c
silicom-platform.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
sony-laptop.c platform/x86/sony-laptop: Remove unused sony laptop camera code 2025-05-08 16:04:11 +03:00
system76_acpi.c
topstar-laptop.c
toshiba-wmi.c
toshiba_acpi.c
toshiba_bluetooth.c
toshiba_haps.c
touchscreen_dmi.c
uv_sysfs.c
winmate-fm07-keys.c
wireless-hotkey.c
wmi-bmof.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
wmi.c Merge branch 'fixes' into for-next 2025-07-02 13:30:30 +03:00
xiaomi-wmi.c platform/x86: xiaomi-wmi: Use devm_mutex_init() 2025-09-08 13:10:29 +03:00
xo1-rfkill.c
xo15-ebook.c