STRUCT RMI_GPIO_DATA(9)
💅 struct rmi_gpio_data(9) — Kernel API Manual
okay so bestie, welcome to struct rmi_gpio_data 💖 this is a lil struct that lets you override the defaults for a single F30/F3A GPIOs/LED chip. literally one chip, one override, no cap. it's giving "small but mighty" energy.
Here's what each field is actually for, because the details matter, bestie:
buttonpad— the touchpad is a buttonpad, so enable only the first actual button that is found 🎀trackstick_buttons— set when the function30or3ais handling the physical buttons of the trackstick (as a PS/2 passthrough device) 🦋disable— the touchpad incorrectly reports F30/F3A and it should be ignored. this one is a special case which is due to misconfigured firmware 🙈
✨ SYNOPSIS ✨
struct rmi_gpio_data {
bool buttonpad;
bool trackstick_buttons;
bool disable;
};
🌸 Members 🌸
bool buttonpad— flag it when the touchpad is a buttonpad, so only the first actual button found gets enabled 💅bool trackstick_buttons— set it when function30or3ais handling the physical buttons of the trackstick (as a PS/2 passthrough device) ⭐bool disable— the touchpad incorrectly reports F30/F3A and should be ignored; a special case due to misconfigured firmware 🫶
no cap: disable is a workaround for misconfigured firmware, not a normal vibe. don't reach for it unless the chip is genuinely lying to you 💀
🔥 SEE ALSO 🔥
Kernel file ./include/linux/rmi.h:
struct rmi_2d_axis_alignment(9)struct rmi_f01_power_management(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)
and that's the whole page, bestie 🌈 this one lives in ./include/linux, dated October 2026 — go read the headers, they ate 💜 👑
📦 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