STRUCT NAND_CONTROLLER(9)
πΈ NAME πΈ
struct nand_controller β okay bestie, this is the structure used to describe a NAND controller, straight from the Kernel API Manual (struct nand_controller(9), hiii π). Itβs giving βone struct to describe the controllerβ energy, and yes, we are going through every single member.
β¨ SYNOPSIS β¨
Hereβs the exact shape β no cap, character for character:
struct nand_controller {
struct mutex lock;
const struct nand_controller_ops *ops;
struct {
unsigned int data_only_read: 1;
unsigned int cont_read: 1;
} supported_op;
bool controller_wp;
};
π Members π
lockβ the lock used to serialize accesses to the NAND controller. One at a time, bestie; no chaotic parallel-access energy πopsβ the NAND controller operations. Yep, the ops. Iconic.supported_opβ the NAND controller known-to-be-supported operations; this one is only writable by the core after initial checking. No random writes, okay? π«Άsupported_op.data_only_readβ the controller supports reading more data from the bus without restarting an entire read operation nor changing the column. Thatβs the whole mood β¨supported_op.cont_readβ the controller supports sequential cache reads. Cute and sequential, we love that.
controller_wpβ the controller is in charge of handling the WP pin. Main character energy for that pin π
π SEE ALSO π
Kernel file ./include/linux/mtd/rawnand.h β these are the related refs, all preserved exactly because we do not erase the receipts:
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_elem(9)struct nand_op_parser_pattern(9)struct nand_op_parser(9)struct nand_operation(9)struct nand_controller_ops(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)
okay thatβs the whole page, bestie π«Ά the footer source/version is ./include/linux/mtd, and the date on it is October 2026. Go off and slay, mwah πβ¨
π¦ 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