legacy_check_special_cases(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– legacy_check_special_cases(9) β€” NAME πŸ’–

okay so welcome to the Kernel API Manual, bestie β€” this page is legacy_check_special_cases(9), and it's literally the ATA special cases moment. πŸ’…

✨ SYNOPSIS ✨

the whole signature, character for character, no edits:

void legacy_check_special_cases (struct pci_dev *p , int *primary , int *secondary );

πŸŽ€ ARGUMENTS πŸŽ€

  • p β€” the PCI device to check, bestie. 🫢
  • primary β€” set this if we find an ATA master. πŸ‘‘
  • secondary β€” set this if we find an ATA secondary. πŸ¦‹

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: a small number of vendors implemented early PCI ATA interfaces on bridge logic, and the ATA interface was not PCI visible at all. iconic chaos, honestly. 😭

where we have a matching PCI driver, we must skip the relevant device here β€” no cap. if we don't know about it, then the legacy driver is the right driver anyway. periodt. πŸ’…

πŸ’œ SEE ALSO πŸ’œ

the lore lives in the kernel file ./drivers/ata/pata_legacy.c, and the squad is: legacy_probe_add(9), legacy_set_mode(9), probe_chip_type(9), legacy_init_one(9), legacy_init(9). go off, bestie. 🌈


that's the whole vibe from ./drivers/ata, dated October 2026, page legacy_check_special_cases(9) β€” mwah πŸ’‹

πŸ“¦ where this page comes from