ata_pci_bmdma_init_one(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, this is the ata_pci_bmdma_init_one(9) page from the Kernel API Manual, and it's literally about how to initialize/register a BMDMA PCI IDE controller. iconic ✨

✨ SYNOPSIS ✨

int ata_pci_bmdma_init_one (struct pci_dev *pdev , const struct
ata_port_info * const * ppi , const struct scsi_host_template *sht ,
void *host_priv , int hflags );

🫢 ARGUMENTS 🫢

  • pdev β€” the controller to be initialized. main character energy fr πŸ’…
  • ppi β€” array of port_info, must be enough for two ports. no shortcuts πŸŽ€
  • sht β€” the scsi_host_template to use when registering the host.
  • host_priv β€” host private_data.
  • hflags β€” host flags.

🌸 DESCRIPTION 🌸

This function is similar to ata_pci_sff_init_one but also takes care of BMDMA initialization. so like, same vibe, extra BMDMA duties πŸ¦‹

LOCKING: Inherited from PCI layer (may sleep). so yeah, it may sleep β€” respect that 😴

πŸŽ€ RETURN πŸŽ€

Zero on success, negative on errno-based value on error. that's the whole mood πŸ’€βœ¨

πŸ‘€ SEE ALSO πŸ‘€

okay the whole squad is here, and the kernel file ./drivers/ata/libata-sff.c is the home base. every single one:


and that's a wrap, bestie πŸ’‹ β€” source/version: ./drivers/ata + Kernel API Manual, date: October 2026, page: ata_pci_bmdma_init_one(9). slay πŸ¦‹

πŸ“¦ where this page comes from