STRUCT FW_CDEV_REMOVE_DESCRIPTOR(9)
π struct fw_cdev_remove_descriptor(9) β Kernel API Manual, bestie edition π
okay so real talk, this is a page straight out of the Kernel API Manual, section 9, and it's literally the "undo" button for Configuration ROM descriptors. tiny struct, big consequences, let's get into it β¨
πΈ NAME πΈ
struct fw_cdev_remove_descriptor β remove contents from the Configuration ROM. that's it, that's the whole vibe. it takes the descriptor you added and yeets it π
π¦ SYNOPSIS π¦
struct fw_cdev_remove_descriptor {
__u32 handle;
};
look at her. one field. main character energy, no notes π
β¨ Members β¨
handleβ the handle to the descriptor, exactly as the kernel gave it back to you when that descriptor was added. keep it safe, keep it close, don't lose it π«Ά β it's your receipt, and without it you can't return the thing.
π₯ Description π₯
so what actually happens? this removes a descriptor block and the accompanying immediate key from the local node's Configuration ROMs. yes, immediate key included β they leave together, it's giving package deal π
and because other nodes on the bus need to know the ROM changed, the kernel will also generate a bus reset to signal the change of the Configuration ROM to other nodes. so like, that's not a side quest, that's part of the deal. the whole bus finds out π periodt.
ngl if you weren't expecting a bus reset, surprise β everyone on the bus is getting the notification whether they asked or not π
π SEE ALSO π
the source of truth lives in the kernel file ./include/uapi/linux/firewire-cdev.h, and here's the whole friend group, iykyk:
struct fw_cdev_event_common(9)struct fw_cdev_event_bus_reset(9)struct fw_cdev_event_response(9)struct fw_cdev_event_response2(9)struct fw_cdev_event_request(9)struct fw_cdev_event_request2(9)struct fw_cdev_event_request3(9)struct fw_cdev_event_iso_interrupt(9)struct fw_cdev_event_iso_interrupt_mc(9)struct fw_cdev_event_iso_resource(9)struct fw_cdev_event_phy_packet(9)struct fw_cdev_event_phy_packet2(9)union fw_cdev_event(9)struct fw_cdev_get_info(9)struct fw_cdev_send_request(9)struct fw_cdev_send_response(9)struct fw_cdev_allocate(9)struct fw_cdev_deallocate(9)struct fw_cdev_initiate_bus_reset(9)struct fw_cdev_add_descriptor(9)struct fw_cdev_create_iso_context(9)struct fw_cdev_set_iso_channels(9)struct fw_cdev_iso_packet(9)struct fw_cdev_queue_iso(9)struct fw_cdev_start_iso(9)struct fw_cdev_stop_iso(9)struct fw_cdev_flush_iso(9)struct fw_cdev_get_cycle_timer(9)struct fw_cdev_get_cycle_timer2(9)struct fw_cdev_allocate_iso_resource(9)struct fw_cdev_send_stream_packet(9)struct fw_cdev_send_phy_packet(9)struct fw_cdev_receive_phy_packets(9)
like, the whole roster. go read them, they're all slaying in their own way π
that's the page, bestie π§ β brought to you by ./include/uapi/linux, dated October 2026, and filed under struct fw_cd...e_descriptor(9) because even the header was too iconic to fit. mwah π
π¦ 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