mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 16:53:59 -04:00
Pull input updates from Dmitry Torokhov: - support for PixArt PS/2 touchpad - updates to tsc2004/5, usbtouchscreen, and zforce_ts drivers - support for GPIO-only mode for ADP55888 controller - support for touch keys in Zinitix driver - support for querying density of Synaptics sensors - sysfs interface for Goodex "Berlin" devices to read and write touch IC registers - more quirks to i8042 to handle various Tuxedo laptops - a number of drivers have been converted to using "guard" notation when acquiring various locks, as well as using other cleanup functions to simplify releasing of resources (with more drivers to follow) - evdev will limit amount of data that can be written into an evdev instance at a given time to 4096 bytes (170 input events) to avoid holding evdev->mutex for too long and starving other users - Spitz has been converted to use software nodes/properties to describe its matrix keypad and GPIO-connected LEDs - msc5000_ts, msc_touchkey and keypad-nomadik-ske drivers have been removed since noone in mainline have been using them - other assorted cleanups and fixes * tag 'input-for-v6.12-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (98 commits) ARM: spitz: fix compile error when matrix keypad driver is enabled Input: hynitron_cstxxx - drop explicit initialization of struct i2c_device_id::driver_data to 0 Input: adp5588-keys - fix check on return code Input: Convert comma to semicolon Input: i8042 - add TUXEDO Stellaris 15 Slim Gen6 AMD to i8042 quirk table Input: i8042 - add another board name for TUXEDO Stellaris Gen5 AMD line Input: tegra-kbc - use of_property_read_variable_u32_array() and of_property_present() Input: ps2-gpio - use IRQF_NO_AUTOEN flag in request_irq() Input: ims-pcu - fix calling interruptible mutex Input: zforce_ts - switch to using asynchronous probing Input: zforce_ts - remove assert/deassert wrappers Input: zforce_ts - do not hardcode interrupt level Input: zforce_ts - switch to using devm_regulator_get_enable() Input: zforce_ts - stop treating VDD regulator as optional Input: zforce_ts - make zforce_idtable constant Input: zforce_ts - use dev_err_probe() where appropriate Input: zforce_ts - do not ignore errors when acquiring regulator Input: zforce_ts - make parsing of contacts less confusing Input: zforce_ts - switch to using get_unaligned_le16 Input: zforce_ts - use guard notation when acquiring mutexes ...
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
Specifying wakeup capability for devices
|
|
============================================
|
|
|
|
Any device nodes
|
|
----------------
|
|
Nodes that describe devices which have wakeup capability may contain a
|
|
"wakeup-source" boolean property.
|
|
|
|
If the device is marked as a wakeup-source, interrupt wake capability depends
|
|
on the device specific "interrupt-names" property. If no interrupts are labeled
|
|
as wake capable, then it is up to the device to determine which interrupts can
|
|
wake the system.
|
|
|
|
However if a device has a dedicated interrupt as the wakeup source, then it
|
|
needs to specify/identify it using a device specific interrupt name. In such
|
|
cases only that interrupt can be used as a wakeup interrupt.
|
|
|
|
While various legacy interrupt names exist, new devices should use "wakeup" as
|
|
the canonical interrupt name.
|
|
|
|
List of legacy properties and respective binding document
|
|
---------------------------------------------------------
|
|
|
|
1. "gpio-key,wakeup" Documentation/devicetree/bindings/input/gpio-keys{,-polled}.txt
|
|
2. "has-tpo" Documentation/devicetree/bindings/rtc/rtc-opal.txt
|
|
3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
|
|
Documentation/devicetree/bindings/mfd/tc3589x.txt
|
|
Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
|
|
4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml
|
|
5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml
|
|
6. "nvidia,wakeup-source" Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt
|
|
|
|
Examples
|
|
--------
|
|
|
|
1. With "wakeup" interrupt name
|
|
|
|
device@10000 {
|
|
compatible = "vendor,device-id";
|
|
reg = <0x10000 0x1000>;
|
|
interrupts = <0 19 4>, <0 21 4>, <0 22 4>;
|
|
interrupt-names = "ack", "err", "wakeup";
|
|
wakeup-source;
|
|
};
|
|
|
|
2. Without "wakeup" interrupt name
|
|
|
|
embedded-controller {
|
|
compatible = "google,cros-ec-i2c";
|
|
reg = <0x1e>;
|
|
interrupts = <6 0>;
|
|
interrupt-parent = <&gpx1>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ec_irq>;
|
|
wakeup-source;
|
|
};
|
|
|
|
3. Without interrupts
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
button@1 {
|
|
debounce-interval = <50>;
|
|
wakeup-source;
|
|
linux,code = <116>;
|
|
label = "POWER";
|
|
gpios = <&iofpga_gpio0 0 0x4>;
|
|
};
|
|
[....]
|
|
};
|