spi_nor_read_sr(9)
π spi_nor_read_sr(9) β the Kernel API Manual, bestie edition
okay so this whole page lives in the Kernel API Manual, and it's all about one little function called spi_nor_read_sr β yes it's giving "read the Status Register" and yes it's iconic. buckle up π
β¨ NAME β¨
spi_nor_read_sr β Read the Status Register.
like, that's literally it. that's the whole job. go read that register, queen π
πΈ SYNOPSIS πΈ
int spi_nor_read_sr (struct spi_nor *nor , u8 *sr );
π¦ ARGUMENTS π¦
norβ pointer tostruct spi_nor. that's your SPI NOR buddy, you just hand it over bestie π«Άsrβ pointer to a DMA-able buffer where the value of the Status Register will be written. should be at least 2 bytes β do not skimp on this, the buffer gotta have room, no cap π
π RETURN π
0 on success, -errno otherwise.
so like β zero means slay, anything else means something went sideways and you get an errno telling you what π keep an eye on it fr fr.
β SEE ALSO β
all the related lore lives in the kernel file ./drivers/mtd/spi-nor/core.c, and the squad is huge β here's everyone, in order, no one left behind π
spi_nor_get_cmd_ext(9), spi_nor_spimem_setup_op(9), spi_nor_spimem_bounce(9), spi_nor_spimem_exec_op(9), spi_nor_spimem_read_data(9), spi_nor_read_data(9), spi_nor_spimem_write_data(9), spi_nor_write_data(9), spi_nor_read_any_reg(9), spi_nor_write_any_volatile_reg(9), spi_nor_write_enable(9), spi_nor_write_disable(9), spi_nor_read_id(9), spi_nor_read_cr(9), spi_nor_set_4byte_addr_mode_en4b_ex4b(9), spi_nor_set_4byte_addr_mode_wren_en4b_ex4b(9), spi_nor_set_4byte_addr_mode_brwr(9), spi_nor_sr_ready(9), spi_nor_use_parallel_locking(9), spi_nor_ready(9), spi_nor_wait_till_ready_with_timeout(9), spi_nor_wait_till_ready(9), spi_nor_global_block_unlock(9), spi_nor_write_sr(9), spi_nor_write_sr1_and_check(9), spi_nor_write_16bit_sr_and_check(9), spi_nor_write_16bit_cr_and_check(9), spi_nor_write_16bit_sr_cr_and_check(9), spi_nor_write_sr_and_check(9), spi_nor_write_sr_cr_and_check(9), spi_nor_write_sr2(9), spi_nor_read_sr2(9), spi_nor_erase_die(9), spi_nor_div_by_erase_size(9), spi_nor_find_best_erase_type(9), spi_nor_init_erase_cmd(9), spi_nor_destroy_erase_cmd_list(9), spi_nor_init_erase_cmd_list(9), spi_nor_erase_multi_sectors(9), spi_nor_sr1_bit6_quad_enable(9), spi_nor_sr2_bit1_quad_enable(9), spi_nor_sr2_bit7_quad_enable(9), spi_nor_spimem_check_read_pp_op(9), spi_nor_spimem_check_readop(9), spi_nor_spimem_check_pp(9), spi_nor_spimem_adjust_hwcaps(9), spi_nor_set_erase_type(9), spi_nor_mask_erase_type(9), spi_nor_init_uniform_erase_map(9), spi_nor_select_uniform_erase(9), spi_nor_manufacturer_init_params(9), spi_nor_no_sfdp_init_params(9), spi_nor_init_flags(9), spi_nor_init_fixup_flags(9), spi_nor_late_init_params(9), spi_nor_sfdp_init_params_deprecated(9), spi_nor_init_params_deprecated(9), spi_nor_init_default_params(9), spi_nor_init_params(9), spi_nor_quad_enable(9), spi_nor_set_4byte_addr_mode(9), spi_nor_soft_reset(9)
and that's the whole page, bestie β go read that Status Register π β¨
this cutie came from./drivers/mtd/spi-norand it's dated October 2026, filed underspi_nor_read_sr(9). mwah, bye ππ
π¦ 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