nanddev_pos_to_offs(9)
π nanddev_pos_to_offs β the Kernel API Manual glow-up
okay so bestie, welcome to the nanddev_pos_to_offs(9) page β¨ this is the little kernel helper that takes a NAND position and hands you back an absolute offset, and honestly? it's giving "small function, big main character energy" π
πΈ NAME πΈ
nanddev_pos_to_offs β converts a NAND position into an absolute offset π
β¨ SYNOPSIS β¨
loff_t nanddev_pos_to_offs (struct nand_device *nand , const struct
nand_pos *pos );
like, that's the whole vibe. struct in, loff_t out, no cap π«Ά
π¦ ARGUMENTS π¦
nandβ your NAND device, the whole reason we're here πposβ the NAND position you want converted, the lil coordinate we're translating bestie π«
β DESCRIPTION β
so what it does is literally right there in the name: it converts pos β a NAND position β into an absolute offset π
that's it. that's the function. it ate and left no crumbs π
π RETURN π
it returns the absolute offset β¨
but listen, important caveat bestie, do not skip this part π: pos points to the beginning of a page. so if you actually want to point at some specific offset within that page, you have to adjust the returned offset manually yourself. no automatic mid-page magic here, she's page-aligned and proud π
π§ SEE ALSO π§
the whole friend group showed up for this one, and yes i mean everybody β the kernel file ./include/linux/mtd/nand.h plus:
struct nand_memory_organization(9)struct nand_row_converter(9)struct nand_pos(9)enum nand_page_io_req_type(9)struct nand_page_io_req(9)enum nand_ecc_engine_type(9)enum nand_ecc_placement(9)enum nand_ecc_algo(9)struct nand_ecc_props(9)struct nand_bbt(9)struct nand_ops(9)struct nand_ecc_context(9)struct nand_ecc_engine_ops(9)enum nand_ecc_engine_integration(9)struct nand_ecc_engine(9)struct nand_ecc_req_tweak_ctx(9)struct nand_ecc(9)struct nand_device(9)struct nand_io_iter(9)mtd_to_nanddev(9)nanddev_to_mtd(9)nanddev_page_size(9)nanddev_per_page_oobsize(9)nanddev_pages_per_eraseblock(9)nanddev_pages_per_target(9)nanddev_eraseblocks_per_lun(9)nanddev_eraseblocks_per_target(9)nanddev_target_size(9)nanddev_neraseblocks(9)nanddev_size(9)nanddev_get_memorg(9)nanddev_get_ecc_conf(9)nanddev_get_ecc_nsteps(9)nanddev_get_ecc_bytes_per_step(9)nanddev_get_ecc_requirements(9)nanddev_set_ecc_requirements(9)nanddev_register(9)nanddev_unregister(9)nanddev_set_of_node(9)nanddev_get_of_node(9)nanddev_offs_to_pos(9)nanddev_pos_cmp(9)nanddev_pos_to_row(9)nanddev_pos_next_target(9)nanddev_pos_next_lun(9)nanddev_pos_next_eraseblock(9)nanddev_pos_next_page(9)nanddev_bbt_pos_to_entry(9)nanddev_bbt_is_initialized(9)
like i said. everyone π«Άπ₯
and that's the page!! this whole thing lives in ./include/linux/mtd, dated October 2026, and it's literally the nanddev_pos_to_offs(9) manual β ok bye bestie, go convert some positions, slay ππ
π¦ 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