store_wakeup_protocols(9)
β¨ store_wakeup_protocols(9) β¨
okay so bestie, welcome to the Kernel API Manual entry for store_wakeup_protocols β literally the glow-up button for your remote control's wakeup IR protocol(s) π
π NAME π
store_wakeup_protocols β changes the wakeup IR protocol(s). that's it. that's the whole vibe. π₯
π¦ SYNOPSIS π¦
ssize_t store_wakeup_protocols (struct device *device , struct
device_attribute *mattr , const char *buf , size_t len );
πΈ ARGUMENTS πΈ
deviceβ the device descriptor π«Ά like, the actual device we're talking about heremattrβ the device attribute structbufβ a pointer to the input buffer, i.e. where the new protocol info is chillinglenβ length of the input buffer (how many bytes we're working with, no cap)
π DESCRIPTION π
so this routine is for changing the IR protocol type. it's triggered by writing to /sys/class/rc/rc?/wakeup_protocols β yep, that's the magic little path, write to it and this function wakes up and does its thing β¨
returns len on success, or a negative error code if it's giving flop energy π
dev->lock is taken to guard against races between store_wakeup_protocols and show_wakeup_protocols β like, they can't both be main characters at the exact same time, the lock keeps it cute and orderly ππ
π SEE ALSO π
kernel file ./drivers/media/rc/rc-main.c, plus the whole friend group:
scancode_to_u64(9)ir_create_table(9)ir_free_table(9)ir_resize_table(9)ir_update_mapping(9)ir_establish_scancode(9)ir_setkeycode(9)ir_setkeytable(9)ir_lookup_by_scancode(9)ir_getkeycode(9)rc_g_keycode_from_table(9)ir_do_keyup(9)rc_keyup(9)ir_timer_keyup(9)ir_timer_repeat(9)rc_repeat(9)ir_do_keydown(9)rc_keydown(9)rc_keydown_notimeout(9)rc_validate_scancode(9)rc_validate_filter(9)struct rc_filter_attribute(9)show_protocols(9)parse_protocol_change(9)store_protocols(9)show_filter(9)store_filter(9)show_wakeup_protocols(9)
okay that's the whole page, go be iconic with your IR protocols π§π
sign-off szn: this one lives in ./drivers/media/rc, dated October 2026, and it's filed under store_wakeup_protocols(9) β slay, periodt ππβ
π¦ 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