ata_sff_dev_select(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_sff_dev_select β€” like, the whole NAME thing

okay so bestie, this is ata_sff_dev_select(9) from the Kernel API Manual, and it's literally the function that picks which device gets to be the main character on your ATA bus. device 0 or device 1, no in-between. ✨


✨ SYNOPSIS ✨

void ata_sff_dev_select (struct ata_port *ap , unsigned int device );

that's it. that's the whole vibe. two args, zero drama. πŸŽ€


🫢 ARGUMENTS 🫢

  • ap β€” the ATA channel you're messing with. your canvas, your stage, your little port. πŸ’–
  • device β€” the ATA device you wanna select, and yes it's numbered starting from zero (so 0 and 1, not 1 and 2 β€” classic programmer behavior 😭).

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the whole point: this uses the method defined in the ATA specification to make either device 0 or device 1 active on the ATA channel. that's it, that's the job. and the way it does it works with both PIO and MMIO β€” no cap, it's flexible like that. 🌈

it may also be used as the dev_select entry in ata_port_operations. iykyk. πŸ‘‘

LOCKING: caller. that's the whole note. you handle the locking, bestie β€” this function is not gonna do it for you. πŸ’€

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/ata/libata-sff.c and honestly the entire extended friend group:


and that's the whole page, bestie πŸ’… this lil icon lives over in ./drivers/ata, dated October 2026, and it's filed under the ata_sff_dev_select(9) girlies. go select a device. slay. πŸŒΈπŸ¦‹πŸ’–

πŸ“¦ where this page comes from