STRUCT RMI_F01_POWER_MANAGEMENT(9)
πΈ struct rmi_f01_power_management(9) πΈ
okay bestie, welcome to the Kernel API Manual β¨ this one's a lil struct page and it's honestly kinda iconic β it's all about when your touch sensor is allowed to chill out and nap π΄
π NAME π
struct rmi_f01_power_management β so here's the tea π«: when any of these values are non-zero, they get written straight to the touch sensor to override the default firmware settings. yep, you're the main character now, you're overruling the firmware π
and like, if you wanna know what each individual field actually does in excruciating detail, go read the corresponding documentation in the RMI4 specification β that's where the lore lives πβ¨
π¦ SYNOPSIS π¦
struct rmi_f01_power_management {
enum rmi_reg_state nosleep;
u8 wakeup_threshold;
u8 doze_holdoff;
u8 doze_interval;
};
like, look at her. four fields. no notes. π₯
π Members π
nosleepwakeup_thresholddoze_holdoffdoze_interval
(descriptions below, bestie, don't worry π)
β Description β
nosleepβ this one's the vibe check for napping π it says whether the device is even permitted to sleep or doze β and yes, doze means "enter a temporary low power state" β when there are no fingers touching the sensor. so like, no fingers, no nap? that'snosleep's whole thing.wakeup_thresholdβ controls the capacitance threshold at which the touch sensor decides "okay bestie, time to wake up from that low power state" β° like the exact amount of capacitance that gets it out of bed.doze_holdoffβ controls how long the touch sensor waits after the last finger lifts before it goes into the doze state π΄ and the units are100ms, so do the math, don't just guess.doze_intervalβ controls the interval between checks for finger presence while the touch sensor is in doze mode π and these units are10ms. she's checking. constantly. respectfully.
π SEE ALSO π
kernel file ./include/linux/rmi.h, plus these absolute legends:
struct rmi_2d_axis_alignment(9)struct rmi_gpio_data(9)struct rmi_device_platform_data_spi(9)struct rmi_device_platform_data(9)struct rmi_function_descriptor(9)struct rmi_transport_dev(9)struct rmi_transport_ops(9)struct rmi_driver(9)struct rmi_device(9)
π reminder that these only take effect when they're non-zero β zero means the firmware keeps its default settings, no override, no drama.
and that's the whole page, bestie π«Ά sourced from ./include/linux, dated October 2026, and yeah the footer tried to write the title again β we don't need that energy twice π go forth and configure your touch sensor's napping schedule, you've got this πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms