ata_pci_sff_init_host(9)
πΈ NAME πΈ
Hiii bestie π this is the ata_pci_sff_init_host(9) page from the Kernel API Manual, and it's all about ata_pci_sff_init_host β the function that acquires native PCI ATA resources and inits the host. Slay. Periodt. β¨
β¨ SYNOPSIS β¨
int ata_pci_sff_init_host (struct ata_host *host );
π ARGUMENTS π
hostβ the target ATA host. That's the main character here π.
π¦ DESCRIPTION π¦
Okay so what it does: it acquires native PCI ATA resources for host and initializes the first two ports of host accordingly. Ports marked dummy get skipped, and if allocation fails, that port gets made dummy. No cap. π
Note β and this is important, bestie β native PCI resources are valid even for legacy hosts, because we fix up the pdev resources array early in boot. So this function can be used for both native and legacy SFF hosts. Periodt. β¨
LOCKING: Inherited from calling layer (may sleep).
π₯ RETURN π₯
0if at least one port is initialized.-ENODEVif no port is available.
π SEE ALSO π
Kernel file ./drivers/ata/libata-sff.c is right here, bestie, plus the whole friend group:
ata_sff_check_status(9), ata_sff_altstatus(9), ata_sff_irq_status(9),
ata_sff_sync(9), ata_sff_pause(9), ata_sff_dma_pause(9),
ata_sff_wait_ready(9), ata_sff_set_devctl(9), ata_sff_dev_select(9),
ata_dev_select(9), ata_sff_irq_on(9), ata_sff_tf_load(9),
ata_sff_tf_read(9), ata_sff_exec_command(9), ata_tf_to_host(9),
ata_sff_data_xfer(9), ata_sff_data_xfer32(9), ata_pio_sector(9),
ata_pio_sectors(9), atapi_send_cdb(9), __atapi_pio_bytes(9),
atapi_pio_bytes(9), ata_hsm_ok_in_wq(9), ata_hsm_qc_complete(9),
ata_sff_hsm_move(9), ata_sff_qc_issue(9), ata_sff_qc_fill_rtf(9),
ata_sff_port_intr(9), ata_sff_interrupt(9), ata_sff_lost_interrupt(9),
ata_sff_freeze(9), ata_sff_thaw(9), ata_sff_prereset(9), ata_devchk(9),
ata_sff_dev_classify(9), ata_sff_wait_after_reset(9),
ata_sff_softreset(9), sata_sff_hardreset(9), ata_sff_postreset(9),
ata_sff_drain_fifo(9), ata_sff_error_handler(9), ata_sff_std_ports(9),
ata_pci_sff_prepare_host(9), ata_pci_sff_activate_host(9),
ata_pci_sff_init_one(9), ata_bmdma_fill_sg(9),
ata_bmdma_fill_sg_dumb(9), ata_bmdma_qc_prep(9),
ata_bmdma_dumb_qc_prep(9), ata_bmdma_qc_issue(9),
ata_bmdma_port_intr(9), ata_bmdma_interrupt(9),
ata_bmdma_error_handler(9), ata_bmdma_post_internal_cmd(9),
ata_bmdma_irq_clear(9), ata_bmdma_setup(9), ata_bmdma_start(9),
ata_bmdma_stop(9), ata_bmdma_status(9), ata_bmdma_port_start(9),
ata_bmdma_port_start32(9), ata_pci_bmdma_clear_simplex(9),
ata_pci_bmdma_init(9), ata_pci_bmdma_prepare_host(9),
ata_pci_bmdma_init_one(9), ata_sff_port_init(9)
Okay that's the whole page, bestie π«Ά β the source/version is ./drivers/ata, the date is October 2026, and the manual name is ata_pci_sff_init_host(9) from the Kernel API Manual. 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