STRUCT NAND_ECC_CAPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct nand_ecc_caps(9)

okay bestie, so this is a page straight out of the Kernel API Manual and it's all about struct nand_ecc_caps β€” literally the capability report card for your ECC engine ✨ it's giving "what can this thing actually do" energy and honestly? iconic.


🌸 NAME 🌸

struct nand_ecc_caps β€” capability of ECC engine πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

struct nand_ecc_caps {
    const struct nand_ecc_step_info *stepinfos;
    int nstepinfos;
    int (*calc_ecc_bytes)(int step_size, int strength);
};

πŸ‘‘ Members πŸ‘‘

  • stepinfos β€” array of ECC step information πŸ¦‹ like, the whole lineup of what step configs exist, no cap.
  • nstepinfos β€” number of ECC step information πŸ’« the headcount for that array, so the kernel knows how many entries to actually look at.
  • calc_ecc_bytes β€” driver's hook to calculate ECC bytes per step πŸ”₯ this is the driver's moment, its main character energy: it does the math for how many ECC bytes each step takes, given (int step_size, int strength).

🌈 SEE ALSO 🌈

Kernel file ./include/linux/mtd/rawnand.h 🫢 β€” and the whole friend group below, fr fr:

  • struct nand_parameters(9)
  • struct nand_id(9)
  • struct nand_ecc_step_info(9)
  • struct nand_ecc_ctrl(9)
  • struct nand_sdr_timings(9)
  • struct nand_nvddr_timings(9)
  • enum nand_interface_type(9)
  • struct nand_interface_config(9)
  • nand_interface_is_sdr(9)
  • nand_interface_is_nvddr(9)
  • nand_get_sdr_timings(9)
  • nand_get_nvddr_timings(9)
  • struct nand_op_cmd_instr(9)
  • struct nand_op_addr_instr(9)
  • struct nand_op_data_instr(9)
  • struct nand_op_waitrdy_instr(9)
  • enum nand_op_instr_type(9)
  • struct nand_op_instr(9)
  • struct nand_subop(9)
  • struct nand_op_parser_addr_constraints(9)
  • struct nand_op_parser_data_constraints(9)
  • struct nand_op_parser_pattern_elem(9)
  • struct nand_op_parser_pattern(9)
  • struct nand_op_parser(9)
  • struct nand_operation(9)
  • struct nand_controller_ops(9)
  • struct nand_controller(9)
  • struct nand_legacy(9)
  • struct nand_chip_ops(9)
  • struct nand_manufacturer(9)
  • struct nand_secure_region(9)
  • struct nand_chip(9)
  • nand_get_interface_config(9)
  • struct nand_flash_dev(9)
  • nand_opcode_8bits(9)
  • nand_get_data_buf(9)

aaaand that's the whole vibe check πŸ’œ this page lives over in ./include/linux/mtd, dated October 2026, and it's filed under struct nand_ecc_caps(9) β€” slay, go read the source bestie πŸŽ€πŸ’…

πŸ“¦ where this page comes from