ata_dev_init_params(9)
π ata_dev_init_params π
okay so bestie, welcome to the ata_dev_init_params(9) page from the Kernel API Manual β yes it's a section 9 (kernel API) situation, we're in the big leagues now π
β¨ NAME β¨
ata_dev_init_params β literally just issues the INIT DEV PARAMS command. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
unsigned int ata_dev_init_params (struct ata_device *dev , u16 heads ,
u16 sectors );
like, it hands you back an unsigned int, and you feed it a device plus two u16s. iconic signature ngl π
π ARGUMENTS π
devβ the device the command is gonna get sent to. it's giving main character, everything happens to it π«Άheadsβ how many heads. and yes, it's a taskfile parameter β that's the phrase, i don't make the rules πsectorsβ how many sectors. also a taskfile parameter. bestiesheadsandsectorsare matching rn π
β DESCRIPTION β
LOCKING: Kernel thread context (may sleep)
that's the whole description babes. kernel thread context, and it may sleep β so do NOT come at it from some spicy atomic context, i'm serious π
π₯ RETURN π₯
0β success, we ate πAC_ERR_*mask β otherwise. so basically any non-zero thing is an error mask in theAC_ERR_*family, periodt π
π SEE ALSO π
Kernel file ./drivers/ata/libata-core.c β go read the source bestie, it's all in there π
and then, like, the entire extended friend group of ata functions (iykyk):
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_reread_id(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),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)
and that's the page!! π§ mwah π
this lil beauty lives over in ./drivers/ata and it's dated October 2026 β so go forth, issue that INIT DEV PARAMS command, and slay bestie πβ¨π
π¦ 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