nand_readid_op(9)
π nand_readid_op(9) β from the Kernel API Manual, bestie
okay so this one lives in the Kernel API Manual and it's called nand_readid_op, and honestly? It's a little main-character function. Let's get into it π
β¨ NAME β¨
nand_readid_op β do a READID operation. That's it. That's the whole vibe. It reads the ID. π«
πΈ SYNOPSIS πΈ
int nand_readid_op (struct nand_chip *chip , u8 addr , void *buf ,
unsigned int len );
Like, look at that signature. Four whole arguments. She's serving parameters. π
π¦ ARGUMENTS π¦
chipβ the NAND chip. your girl. the one you're doing the READID on. πaddrβ the address cycle you pass after the READID command. Yes, after. Not before. Order matters, iykyk. βbufβ the buffer where the ID gets stored. bring your own container, she's not providing one. πlenβ length of the buffer. be honest about your size okay, it's important. π
π DESCRIPTION π
So basically this function sends a READID command and then reads back the ID that the NAND returned. That's the whole bit. Simple, iconic, does exactly what it says. β¨
But β and this is the part that matters β this function does not select/unselect the CS line. Like, at all. It's not doing that for you. If you needed that, you're on your own, bestie. π (Real ones, go look at nand_select_target(9) and nand_deselect_target(9).)
Returns 0 on success, and a negative error code otherwise. So if you get a negative number back, that's not a personality trait, that's a problem. π
π₯ SEE ALSO π₯
Kernel file ./drivers/mtd/nand/raw/nand_base.c β and then the entire friend group:
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_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_check_ecc_caps(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)
That's the whole group chat and yes, you are expected to know all of them. π
okay that's the page!! and for the little sign-off moment: this beauty comes out of the ./drivers/mtd/nand/raw directory, dated October 2026, and it's filed under nand_readid_op(9). slay, go read some IDs. π
β¨
π¦ 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