rio_request_outb_dbell(9)
π rio_request_outb_dbell(9) β Kernel API Manual π
okay so bestie, buckle up, because today we're reading a kernel manpage together and honestly? it's giving main character energy. this is rio_request_outb_dbell, straight out of the Kernel API Manual, and by the end you're gonna know exactly what an outbound doorbell message range is. periodt.
π NAME π
rio_request_outb_dbell β request outbound doorbell message range
like, you're literally asking the kernel to hand you a lil slice of doorbell real estate. we love that for you π«Ά
β¨ SYNOPSIS β¨
struct resource * rio_request_outb_dbell (struct rio_dev *rdev , u16
start , u16 end );
that's the whole vibe. it takes a device and two numbers and gives you back a struct resource *. iconic.
πΈ ARGUMENTS πΈ
rdevβ the RIO device from which to allocate the doorbell resource. like, this is the device you're asking. be polite.startβ doorbell message range start πendβ doorbell message range end π
so start to end, inclusive-ish, you know how ranges go. that's your window.
π¦ DESCRIPTION π¦
okay so what does it actually do? it requests ownership of a doorbell message range. that's it, that's the whole thing. π
it returns a resource if the request has been satisfied, or NULL on failure. and no cap, NULL means it did NOT work, so please check for it. don't be out here dereferencing NULL, i'm begging π
π SEE ALSO π
the kernel file is ./drivers/rapidio/rio.c and there are so many friends in this family, it's literally a group chat:
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_setup_inb_dbell(9), rio_request_inb_dbell(9), rio_release_inb_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)
ngl that is a LOT of cross-references. screenshot it, save it, iykyk πΈ
π a lil sign-off π
this page lives under ./drivers/rapidio and it's dated October 2026, so yeah β go forth and request those doorbell ranges responsibly, bestie. 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