STRUCT DENALI_CHIP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, gather round, because this is struct denali_chip β€” the per-chip data of Denali NAND πŸ’…

and yes, this is a page from the Kernel API Manual (section 9, kernel API things, iykyk) 🫢


✨ SYNOPSIS ✨

like, here's literally the whole shape of it, no cap:

struct denali_chip {
    struct nand_chip chip;
    struct list_head node;
    unsigned int nsels;
    struct denali_chip_sel sels[];
};

she's a struct, she's got a flexible array member at the end (sels[]), she's iconic πŸ‘‘


πŸŽ€ Members πŸŽ€

okay so let's do a vibe check on every single field, one by one, because we do NOT skip members on this page πŸ“

  • chip β€” the base NAND chip structure 🌱 lowkey the main character of this struct tbh
  • node β€” a node to be used to associate this chip with the controller πŸ”— it's giving "put me in the list, bestie"
  • nsels β€” the number of CS lines of this chip ✨ an unsigned int, so, you know, a count
  • sels β€” the array of per-cs data πŸ’– (that's "per-chip-select" data, in case you were wondering) and note it's declared sels[], so it's the flexible-array-member situation at the end of the struct
little reminder: nsels says how many CS lines there are, and sels[] is where the per-cs data actually lives β€” they're a package deal, fr fr

πŸ’œ SEE ALSO πŸ’œ

go read these next, bestie, they're all connected:

  • Kernel file ./drivers/mtd/nand/raw/denali.h πŸ“„
  • struct denali_chip_sel(9) β€” the per-cs data situation πŸŽ€
  • struct denali_controller(9) β€” the controller that node links you up with πŸ‘‘

and that's the whole page!! πŸ’– this one lives in ./drivers/mtd/nand/raw, and it's dated October 2026 β€” so yeah, go off, read your Denali NAND structs, and remember: every CS line deserves its own data πŸ¦‹βœ¨πŸ’…

πŸ“¦ where this page comes from