nand_check_ecc_caps(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ nand_check_ecc_caps πŸ’…

okay so this is a page from the Kernel API Manual (yes the kernel has a manual, and yes it's kind of iconic) and today's main character is nand_check_ecc_caps πŸŽ€


🌸 NAME 🌸

nand_check_ecc_caps β€” the little vibe check that makes sure your preset ECC settings are actually sane 🫢


✨ SYNOPSIS ✨

int nand_check_ecc_caps (struct nand_chip *chip , const struct
nand_ecc_caps *caps , int oobavail );

πŸ’– ARGUMENTS πŸ’–

  • chip β€” the nand chip info structure, aka the whole personality of the chip you're checking πŸ¦‹
  • caps β€” the ECC caps info structure, where the controller's limits live ngl
  • oobavail β€” the OOB size that the ECC engine is allowed to use, like the budget bestie, don't go over it πŸ’€

πŸ”₯ DESCRIPTION πŸ”₯

so picture this: the ECC step size and strength are already set (someone picked them, not you, don't @ me). This function rolls up and checks two things β€” one, are those settings actually supported by the controller? and two, do the calculated ECC bytes fit inside the chip's OOB? πŸ‘‘

If everything checks out (slay), the calculated ECC bytes get set. That's it. That's the whole job. Lowkey simple, highkey important πŸ’…


🌈 SEE ALSO 🌈

Everything else in the NAND cinematic universe, fr fr β€” and the kernel file it lives in: ./drivers/mtd/nand/raw/nand_base.c 🧚

nand_extract_bits(9), nand_select_target(9), nand_deselect_target(9), nand_release_device(9), nand_bbm_get_next_page(9), nand_block_bad(9), nand_region_is_secured(9), nand_get_device(9), nand_check_wp(9), nand_fill_oob(9), nand_do_write_oob(9), nand_default_block_markbad(9), nand_markbad_bbm(9), nand_block_markbad_lowlevel(9), nand_block_isreserved(9), nand_block_checkbad(9), nand_soft_waitrdy(9), nand_gpio_waitrdy(9), panic_nand_wait(9), nand_reset_interface(9), nand_setup_interface(9), nand_choose_best_sdr_timings(9), nand_choose_best_nvddr_timings(9), nand_choose_best_timings(9), nand_choose_interface_config(9), nand_fill_column_cycles(9), nand_read_page_op(9), nand_read_param_page_op(9), nand_change_read_column_op(9), nand_read_oob_op(9), nand_prog_page_begin_op(9), nand_prog_page_end_op(9), nand_prog_page_op(9), nand_change_write_column_op(9), nand_readid_op(9), nand_status_op(9), nand_exit_status_op(9), nand_erase_op(9), nand_set_features_op(9), nand_get_features_op(9), nand_reset_op(9), nand_read_data_op(9), nand_write_data_op(9), struct nand_op_parser_ctx(9), nand_op_parser_must_split_instr(9), nand_op_parser_match_pat(9), nand_op_parser_exec_op(9), nand_subop_get_addr_start_off(9), nand_subop_get_num_addr_cyc(9), nand_subop_get_data_start_off(9), nand_subop_get_data_len(9), nand_reset(9), nand_get_features(9), nand_set_features(9), nand_read_page_raw_notsupp(9), nand_read_page_raw(9), nand_monolithic_read_page_raw(9), nand_read_page_raw_syndrome(9), nand_read_page_swecc(9), nand_read_subpage(9), nand_read_page_hwecc(9), nand_read_page_hwecc_oob_first(9), nand_read_page_syndrome(9), nand_transfer_oob(9), nand_setup_read_retry(9), nand_do_read_ops(9), nand_read_oob_std(9), nand_read_oob_syndrome(9), nand_write_oob_std(9), nand_write_oob_syndrome(9), nand_do_read_oob(9), nand_read_oob(9), nand_write_page_raw_notsupp(9), nand_write_page_raw(9), nand_monolithic_write_page_raw(9), nand_write_page_raw_syndrome(9), nand_write_page_swecc(9), nand_write_page_hwecc(9), nand_write_subpage_hwecc(9), nand_write_page_syndrome(9), nand_write_page(9), nand_do_write_ops(9), panic_nand_write(9), nand_write_oob(9), nand_erase(9), nand_erase_nand(9), nand_sync(9), nand_block_isbad(9), nand_block_markbad(9), nand_suspend(9), nand_resume(9), nand_shutdown(9), nand_lock(9), nand_unlock(9), rawnand_dt_parse_gpio_cs(9), nand_scan_ident(9), nand_match_ecc_req(9), nand_maximize_ecc(9), nand_ecc_choose_conf(9), nand_scan_tail(9), nand_scan_with_ids(9), nand_cleanup(9)


okay bestie that's the whole page, no cap πŸ’œ go check those ECC caps and stay sane ✨

and that's a wrap!! brought to you by ./drivers/mtd/nand/raw, dated October 2026 β€” see u in the next manpage, mwah πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from