ata_dev_reread_id(9)
π ata_dev_reread_id β a Kernel API Manual moment (yes, section 9, bestie)
okay so listen. we're in the Kernel API Manual, and today's main character is ata_dev_reread_id(9). it's a libata girlie thing. let's go π¦
β¨ NAME β¨
ata_dev_reread_id β Re-read IDENTIFY data. that's it, that's the vibe. she re-reads. she IDENTIFYs. iconic.
πΈ SYNOPSIS πΈ
int ata_dev_reread_id (struct ata_device *dev , unsigned int
readid_flags );
like, look at her. two whole arguments, returns an int. no cap. β¨
π ARGUMENTS π
devβ the target ATA device. the one we're staring at. the subject of the vibe check.readid_flagsβ the read ID flags. yes, they're called that. flags for reading the ID. we support her.
π«Ά DESCRIPTION π«Ά
so what she actually does: she re-reads the IDENTIFY page and makes sure dev is still attached to the port. that's the whole bit. re-read the IDENTIFY page, confirm the device didn't ghost the port. ngl it's giving "hey bestie, you still there?" energy π«Ά
LOCKING: Kernel thread context (may sleep). so like β she may sleep. she's allowed. do not call her from somewhere she can't nap, that's the rule. π
π RETURN π
0on success. slay. we love a zero.- negative
errnootherwise. not slay, but at least she's honest about it. π
π SEE ALSO π
okay this is the part where I hold your hand, because the SEE ALSO list here is long β she has, like, so many friends. and also one file:
Kernel file ./drivers/ata/libata-core.c
and then everybody else, in the exact order they're listed, because I do not disrespect the ordering:
ata_link_next(9)ata_dev_next(9)ata_dev_phys_link(9)ata_force_cbl(9)ata_force_pflags(9)ata_force_link_limits(9)ata_force_xfermask(9)ata_force_quirks(9)atapi_cmd_type(9)ata_set_rwcmd_protocol(9)ata_tf_read_block(9)ata_build_rw_tf(9)ata_pack_xfermask(9)ata_unpack_xfermask(9)ata_xfer_mask2mode(9)ata_xfer_mode2mask(9)ata_xfer_mode2shift(9)ata_mode_string(9)ata_dev_classify(9)ata_id_string(9)ata_id_c_string(9)ata_read_native_max_address(9)ata_set_max_sectors(9)ata_hpa_resize(9)ata_dump_id(9)ata_id_xfermask(9)ata_exec_internal(9)ata_pio_need_iordy(9)ata_pio_mask_no_iordy(9)ata_do_dev_read_id(9)ata_dev_read_id(9)ata_dev_power_set_standby(9)ata_dev_power_set_active(9)ata_read_log_page(9)ata_dev_configure(9)ata_cable_40wire(9)ata_cable_80wire(9)ata_cable_unknown(9)ata_cable_ignore(9)ata_cable_sata(9)sata_print_link_status(9)ata_dev_pair(9)ata_timing_cycle2mode(9)ata_down_xfermask_limit(9)ata_set_mode(9)ata_wait_ready(9)ata_wait_after_reset(9)ata_std_prereset(9)ata_std_postreset(9)ata_dev_same_device(9)ata_dev_revalidate(9)ata_is_40wire(9)cable_is_40wire(9)ata_dev_xfermask(9)ata_dev_set_xfermode(9)ata_dev_set_feature(9)ata_dev_init_params(9)atapi_check_dma(9)ata_std_qc_defer(9)ata_sg_init(9)ata_sg_clean(9)ata_sg_setup(9)swap_buf_le16(9)ata_qc_free(9)ata_qc_complete(9)ata_qc_get_active(9)ata_qc_issue(9)ata_phys_link_online(9)ata_phys_link_offline(9)ata_link_online(9)ata_link_offline(9)ata_host_suspend(9)ata_host_resume(9)ata_dev_init(9)ata_link_init(9)sata_link_init_spd(9)ata_port_alloc(9)ata_host_alloc(9)ata_host_alloc_pinfo(9)ata_finalize_port_ops(9)ata_host_start(9)ata_host_init(9)ata_host_register(9)ata_host_activate(9)ata_dev_free_resources(9)ata_port_detach(9)ata_host_detach(9)ata_pci_remove_one(9)ata_platform_remove_one(9)ata_msleep(9)ata_wait_register(9)
bestie. eighty-eight cross-references. I counted. do not skip them. they're all real and they all matter. π
and that's the page!! π
sign-off time: this one comes from the ./drivers/ata corner of the world, dated October 2026, and yeah β it's ata_dev_reread_id(9) all the way down. periodt. πβ¨π₯
π¦ 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