rio_setup_inb_dbell(9)
π rio_setup_inb_dbell β kernel API manual, but make it make sense
Okay so bestie, we're in the rio_setup_inb_dbell(9) page today β it's a kernel API manual entry, and honestly it's a whole little vibe. Sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
rio_setup_inb_dbell β bind inbound doorbell callback π
Like, you're literally setting up the thing that goes ding dong when a message shows up. That's the whole gig.
πΈ SYNOPSIS πΈ
int rio_setup_inb_dbell (struct rio_mport *mport , void *dev_id , struct
resource *res , void (*dinb) (struct rio_mport * mport, void *dev_id,
u16 src, u16 dst, u16 info) );
Not me putting the signature in a code block so nothing gets typo'd π copy it exactly, she's precise.
π ARGUMENTS π
mportβ the RIO master port you're binding this doorbell callback to. This is the main character port, okay?dev_idβ a device-specific pointer, and it gets passed along on the event. It's like a little name tag so the callback knows who sent it π«Άresβ the doorbell message resource. Yep, that's the resource in question.dinbβ the callback to execute when the doorbell is received. This is the function that actually runs when someone rings your bell. Obsessed with her.
π¦ DESCRIPTION π¦
So here's the tea: rio_setup_inb_dbell adds a doorbell resource/callback pair into a port's doorbell event list. That's it, that's the whole job β one cute little pair, tucked into the list.
And it returns 0 if the request has been satisfied. Zero means slay. Zero means we ate. π
π SEE ALSO π
Bestie, the see-also section is long, but we are not skipping a single one, no cap. Kernel file ./drivers/rapidio/rio.c and then, in order:
rio_local_get_device_id(9)rio_query_mport(9)rio_alloc_net(9)rio_local_set_device_id(9)rio_add_device(9)rio_request_inb_mbox(9)rio_release_inb_mbox(9)rio_request_outb_mbox(9)rio_release_outb_mbox(9)rio_request_inb_dbell(9)rio_release_inb_dbell(9)rio_request_outb_dbell(9)rio_release_outb_dbell(9)rio_add_mport_pw_handler(9)rio_del_mport_pw_handler(9)rio_request_inb_pwrite(9)rio_release_inb_pwrite(9)rio_pw_enable(9)rio_map_inb_region(9)rio_unmap_inb_region(9)rio_map_outb_region(9)rio_unmap_outb_region(9)rio_mport_get_physefb(9)rio_get_comptag(9)rio_set_port_lockout(9)rio_enable_rx_tx_port(9)rio_chk_dev_route(9)rio_mport_chk_dev_access(9)rio_chk_dev_access(9)rio_get_input_status(9)rio_clr_err_stopped(9)rio_inb_pwrite_handler(9)rio_mport_get_efb(9)rio_mport_get_feature(9)rio_std_route_add_entry(9)rio_std_route_get_entry(9)rio_std_route_clr_table(9)rio_lock_device(9)rio_unlock_device(9)rio_route_add_entry(9)rio_route_get_entry(9)rio_route_clr_table(9)rio_request_mport_dma(9)rio_release_dma(9)rio_dma_prep_xfer(9)rio_register_scan(9)rio_mport_scan(9)
Forty-seven links, counted, accounted for, nobody left behind. π
Fr fr though β this page has no warnings, no bugs section, no exit statuses hiding at the bottom. Just the args, the description, and the links. Clean. Iconic. No notes.
Alright, that's the page! Signing off from ./drivers/rapidio β that's the source, dated October 2026, in the Kernel API Manual π This has been your girl explaining rio_setup_inb_dbell(9), and yes, she returned 0, so the request has been satisfied. 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