mpi3mr_del_p...xisting_port(9)
π mpi3mr_del_phy_from_an_existing_port β KERNEL API MANUAL, section 9 π
okay so bestie, welcome to the Kernel API Manual (section 9, yes the kernel one, we're fancy now) β¨ and this page is about mpi3mr_del_phy_from_an_existing_port(9). quick heads up: in the header up top it gets cut off all dramatically like mpi3mr_del_p...xisting_port(9) β that's literally just the title being too long for the line, no cap, the real full name is right below π«Ά
πΈ NAME πΈ
mpi3mr_del_phy_from_an_existing_port β del phy from a port π«
like... the whole personality of this function is "remove a phy from a port that already exists." it's giving cleanup crew energy. it's giving "you don't belong here anymore, bestie." π
β¨ SYNOPSIS β¨
void mpi3mr_del_phy_from_an_existing_port (struct mpi3mr_ioc *mrioc ,
struct mpi3mr_sas_node *mr_sas_node , struct mpi3mr_sas_phy *mr_sas_phy
);
that's it. three args, returns nothing, and honestly she's serving minimalism π
π¦ ARGUMENTS π¦
mriocβ the adapter instance reference π like, which controller are we talking to. your main character adapter.mr_sas_nodeβ the internal sas node object, and it's either an expander or the host itself π§ so like, the thing the phy is hanging out on.mr_sas_phyβ the internal Phy object π the actual phy we're evicting from the port. bye girl.
β RETURN β
None. π
nothing. zero. void. she does the work and dips, doesn't even leave a note π (kind of iconic tbh)
π SEE ALSO π
so there's a kernel file to go look at if you want the whole lore:
Kernel file ./drivers/scsi/mpi3mr/mpi3mr_transport.c
and then the extended friend group β literally the entire mpi3mr cast, all of them, here's everybody, no one gets left out π«Ά:
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_sas_port_sanity_check(9)mpi3mr_set_identify(9)mpi3mr_add_host_phy(9)mpi3mr_add_expander_phy(9)mpi3mr_alloc_hba_port(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)
see? everybody. the whole group chat π and notice mpi3mr_add_phy_to_an_existing_port(9) sitting right there in the middle β yeah that's her sister, the one who adds instead of deletes. opposite vibes, same energy, iykyk π
and that's the page!! mwah π this one lives in ./drivers/scsi/mpi3mr and the version is dated October 2026, so like, remember to cite her properly bestie πΈππ
π¦ 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