STRUCT NAND_OP_PARSER_PATTERN_ELEM(9)
π struct nand_op_parser_pattern_elem(9) β from the Kernel API Manual, bestie
okay so picture this: you're deep in the ./include/linux/mtd/rawnand.h universe and you meet this little guy β struct nand_op_parser_pattern_elem, aka one single element of a pattern β¨ that's literally the NAME, no cap.
She's a tiny struct but she's main character energy in the NAND op parser, so let's get into it π«Ά
β¨ SYNOPSIS β¨
like, here's her whole gorgeous shape, verbatim, don't touch:
struct nand_op_parser_pattern_elem {
enum nand_op_instr_type type;
bool optional;
union {
struct nand_op_parser_addr_constraints addr;
struct nand_op_parser_data_constraints data;
} ctx;
};
π MEMBERS π
typeβ the instruction type π« (the original says "instructuction type", and honestly? iconic typo, we keep the meaning: it's the type of instruction).optionalβ aboolthat tells you whether this element of the pattern is optional or mandatory. choose your own adventure vibes πΈctxβ the union holding either the address constraint or the data constraint. she contains multitudes πctx.addrβ the address constraint, which is about the number of cycles β±οΈctx.dataβ the data constraint, which is about the data length π
ngl the union is doing a lot of work here βaddranddatashare the samectxspot, so it's one or the other, not both. that's just what a union is, bestie, no drama π
π SEE ALSO π
okay this is the friendship circle and it is LONG, so buckle up, we're listing every single one fr fr:
- Kernel file
./include/linux/mtd/rawnand.h struct nand_parameters(9)struct nand_id(9)struct nand_ecc_step_info(9)struct nand_ecc_caps(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(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)
go read them all, i'll wait π
and that's the whole vibe check, bestie π¦ this page came straight out of the ./include/linux/mtd corner of the kernel, dated October 2026, and she answers to the name struct nand_...pattern_elem(9). mwah, slay, 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