pm8001_init_sas_add(9)
β¨ pm8001_init_sas_add β¨
okay so bestie, welcome to the pm8001_init_sas_add(9) glow-up π
this one lives in the Kernel API Manual and it's literally the moment our HBA gets its SAS address, no cap π
πΈ SYNOPSIS πΈ
int pm8001_init_sas_add (struct pm8001_hba_info *pm8001_ha );
like, that's the whole signature, she's cute, she's int, she takes one pointer, periodt β¨
π«Ά ARGUMENTS π«Ά
pm8001_haβ our ha struct π that's literally it, that's the whole argument, she's the main character here π
π« DESCRIPTION π«
so rn what we're doing is just setting a fixed SAS address onto our HBA π that's the vibe currently.
for manufacture, it should read from the EEPROM π β like, that's what it's supposed to do, but that is not what's happening in this code rn, bestie.
so yeah. fixed address now, EEPROM reading is the someday-dream π the code does not do it yet, don't let anyone tell you otherwise π
π₯ SEE ALSO π₯
the kernel file ./drivers/scsi/pm8001/pm8001_init.c is where all the lore lives, and here's the whole friend group π«Ά:
pm8001_phy_init(9)pm8001_free(9)pm8001_tasklet(9)pm8001_interrupt_handler_msix(9)pm8001_interrupt_handler_intx(9)pm8001_alloc(9)pm8001_ioremap(9)pm8001_pci_alloc(9)pci_go_44(9)pm8001_prep_sas_ha_init(9)pm8001_post_sas_ha_init(9)pm8001_get_internal_phy_settings(9)pm8001_get_external_phy_settings(9)pm8001_get_phy_mask(9)pm8001_set_phy_settings_ven_117c_12G(9)pm8001_configure_phy_settings(9)pm8001_setup_msix(9)pm8001_request_irq(9)pm8001_pci_probe(9)pm8001_init_ccb_tag(9)pm8001_pci_suspend(9)pm8001_pci_resume(9)pm8001_init(9)
like, that's the entire squad, go read all of them, iykyk π
mwah π this page came from ./drivers/scsi/pm8001, and the date stamp on it is October 2026 β consider that my little sign-off, bestie, go forth and initialize those SAS addresses πΈβ¨π
π¦ 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