mpi3mr_alloc_hba_port(9)
β¨ mpi3mr_alloc_hba_port(9) β¨
okay bestie, welcome to the Kernel API Manual β today's main character is mpi3mr_alloc_hba_port(9) and honestly? she's short, she's sweet, she allocates memory. what more do you want from her π
π NAME π
mpi3mr_alloc_hba_port β literally just allocates an hba port object, that's the whole gig π¦
πΈ SYNOPSIS πΈ
struct mpi3mr_hba_port * mpi3mr_alloc_hba_port (struct mpi3mr_ioc *mrioc
, u16 port_id );
like look at her. returns a struct mpi3mr_hba_port *, takes two lil args, no drama β¨
π ARGUMENTS π
mriocβ your adapter instance reference, aka the whole vibe of the controller you're working with π«Άport_idβ the port number. it's au16bestie, so plan accordingly π
π DESCRIPTION π
Alloc memory for hba port object. that's it. that's the description. she's a one-line legend and she knows it π
no cap, sometimes a function is just a function, and this one is out here doing exactly one (1) thing. iconic behaviour honestly β
π₯ SEE ALSO π₯
okay so this is the part where the friend group gets introduced π and it's a big friend group, so buckle up:
- Kernel file
./drivers/scsi/mpi3mr/mpi3mr_transport.c mpi3mr_post_transport_req(9)mpi3mr_report_manufacture(9)__mpi3mr_expander_find_by_handle(9)mpi3mr_is_expander_device(9)mpi3mr_get_sas_address(9)__mpi3mr_get_tgtdev_by_addr(9)mpi3mr_get_tgtdev_by_addr(9)mpi3mr_remove_device_by_sas_address(9)__mpi3mr_get_tgtdev_by_addr_and_rphy(9)mpi3mr_expander_find_by_sas_address(9)__mpi3mr_sas_node_find_by_sas_address(9)mpi3mr_parent_present(9)mpi3mr_convert_phy_link_rate(9)mpi3mr_delete_sas_phy(9)mpi3mr_add_sas_phy(9)mpi3mr_add_phy_to_an_existing_port(9)mpi3mr_delete_sas_port(9)mpi3mr_del_phy_from_an_existing_port(9)mpi3mr_sas_port_sanity_check(9)mpi3mr_set_identify(9)mpi3mr_add_host_phy(9)mpi3mr_add_expander_phy(9)mpi3mr_get_hba_port_by_id(9)mpi3mr_update_links(9)mpi3mr_sas_host_refresh(9)mpi3mr_sas_host_add(9)mpi3mr_sas_port_add(9)mpi3mr_sas_port_remove(9)struct host_port(9)mpi3mr_update_mr_sas_port(9)mpi3mr_refresh_sas_ports(9)mpi3mr_refresh_expanders(9)mpi3mr_expander_node_add(9)mpi3mr_expander_add(9)mpi3mr_expander_node_remove(9)mpi3mr_expander_remove(9)mpi3mr_get_sas_negotiated_logical_linkrate(9)mpi3mr_report_tgtdev_to_sas_transport(9)mpi3mr_remove_tgtdev_from_sas_transport(9)mpi3mr_get_port_id_by_sas_phy(9)mpi3mr_get_port_id_by_rphy(9)mpi3mr_get_expander_phy_error_log(9)mpi3mr_transport_get_linkerrors(9)mpi3mr_transport_get_enclosure_identifier(9)mpi3mr_transport_get_bay_identifier(9)mpi3mr_expander_phy_control(9)mpi3mr_transport_phy_reset(9)mpi3mr_transport_phy_enable(9)mpi3mr_transport_phy_speed(9)mpi3mr_map_smp_buffer(9)mpi3mr_unmap_smp_buffer(9)mpi3mr_transport_smp_handler(9)
fr fr, keep every one of those (9) suffixes β the section numbers are part of the name and they are NOT optional π
and that's the whole page bestie!! π§π
cute little sign-off: this one lives in ./drivers/scsi/mpi3mr, and it's dated October 2026 β so mark your calendars, she's a whole era π
β¨π
π¦ 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