mpt3sas_con...expander_pg1(9)
π NAME
mpt3sas_config_get_expander_pg1 β bestie, this is the one that goes and obtains expander page 1 for you β¨ (this page is from the Kernel API Manual, and we're about to make it make sense, iykyk π«Ά)
πΈ SYNOPSIS
int mpt3sas_config_get_expander_pg1 (struct MPT3SAS_ADAPTER *ioc ,
Mpi2ConfigReply_t *mpi_reply , Mpi2ExpanderPage1_t *config_page , u32
phy_number , u16 handle );
That's the whole vibe right there β one function, five args, zero drama. π
β¨ ARGUMENTS (the cast, the main characters) π
iocβ your per adapter object π literally the adapter's whole personality lives in here.mpi_replyβ the reply mf payload that gets returned from firmware π₯ ("mf" = message frame, she's built different).config_pageβ the contents of the config page. this is where the good stuff ends up after the call π¦phy_numberβ phy number. that's it, that's the arg π give it the phy you want.handleβ expander handle π your golden ticket to the specific expander you're asking about.
π΄ CONTEXT
sleep. yes bestie that's the entire context. this one sleeps π so don't call it somewhere that can't nap, no cap.
π«Ά RETURN
0 for success, non-zero for failure. β¨ zero means slay, anything else means something went sideways β go check.
π SEE ALSO
okay so the fam is huge, and here's every single one of them, in order, no cap, nobody left behind π:
- Kernel file
./drivers/scsi/mpt3sas/mpt3sas_config.c - struct
config_request(9),_config_display_some_debug(9),_config_alloc_config_dma_memory(9),_config_free_config_dma_memory(9) mpt3sas_config_done(9),_config_request(9)mpt3sas_config_get_manufacturing_pg0(9),mpt3sas_config_get_manufacturing_pg1(9),mpt3sas_config_get_manufacturing_pg10(9),mpt3sas_config_get_manufacturing_pg11(9),mpt3sas_config_set_manufacturing_pg11(9)mpt3sas_config_get_bios_pg2(9),mpt3sas_config_get_bios_pg3(9),mpt3sas_config_set_bios_pg4(9),mpt3sas_config_get_bios_pg4(9)mpt3sas_config_get_iounit_pg0(9),mpt3sas_config_get_iounit_pg1(9),mpt3sas_config_set_iounit_pg1(9),mpt3sas_config_get_iounit_pg3(9),mpt3sas_config_get_iounit_pg7(9),mpt3sas_config_get_iounit_pg8(9)mpt3sas_config_get_ioc_pg8(9),mpt3sas_config_get_ioc_pg1(9),mpt3sas_config_set_ioc_pg1(9)mpt3sas_config_get_sas_device_pg0(9),mpt3sas_config_get_pcie_device_pg0(9),mpt3sas_config_get_pcie_iounit_pg1(9),mpt3sas_config_get_pcie_device_pg2(9)mpt3sas_config_get_number_hba_phys(9),mpt3sas_config_get_sas_iounit_pg0(9),mpt3sas_config_get_sas_iounit_pg1(9),mpt3sas_config_set_sas_iounit_pg1(9)mpt3sas_config_get_expander_pg0(9),mpt3sas_config_get_enclosure_pg0(9)mpt3sas_config_get_phy_pg0(9),mpt3sas_config_get_phy_pg1(9)mpt3sas_config_get_raid_volume_pg1(9),mpt3sas_config_get_number_pds(9),mpt3sas_config_get_raid_volume_pg0(9),mpt3sas_config_get_phys_disk_pg0(9)mpt3sas_config_get_driver_trigger_pg0(9),_config_set_driver_trigger_pg0(9),mpt3sas_config_update_driver_trigger_pg0(9)mpt3sas_config_get_driver_trigger_pg1(9),_config_set_driver_trigger_pg1(9),mpt3sas_config_update_driver_trigger_pg1(9)mpt3sas_config_get_driver_trigger_pg2(9),_config_set_driver_trigger_pg2(9),mpt3sas_config_update_driver_trigger_pg2(9)mpt3sas_config_get_driver_trigger_pg3(9),_config_set_driver_trigger_pg3(9),mpt3sas_config_update_driver_trigger_pg3(9)mpt3sas_config_get_driver_trigger_pg4(9),_config_set_driver_trigger_pg4(9),mpt3sas_config_update_driver_trigger_pg4(9)mpt3sas_config_get_volume_handle(9),mpt3sas_config_get_volume_wwid(9)
fr fr that's all of them, go read the ones you actually need π
okay and one cute little sign-off: this page lives in ./drivers/scsi/mpt3sas, it's the October 2026 edition, and it goes out to mpt3sas_con...expander_pg1(9). ily, go get that page 1 πβ¨ππ¦
π¦ 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