spi_nor_spimem_check_pp(9)
π spi_nor_spimem_check_pp(9) β or, "does ur controller even do page program bestie"
okay so real talk, this one lives in the Kernel API Manual and it's basically a vibe check for your SPI NOR page program op π
β¨ NAME β¨
spi_nor_spimem_check_pp β checks whether the page program op is actually supported by the controller, no cap π₯
π¦ SYNOPSIS π¦
int spi_nor_spimem_check_pp (struct spi_nor *nor , const struct spi_nor_pp_command *pp );
like, that's the whole signature, she's giving minimal and iconic π
πΈ ARGUMENTS πΈ
norβ pointer to astruct spi_nor, the main character of this whole function fr fr πppβ pointer to the op template that's getting checked, she's the one on trial bestie π«Ά
π DESCRIPTION π
Returns 0 if the operation is supported, and -EOPNOTSUPP otherwise. that's it, that's the tea β literally the entire description, short and slay β¨
ngl this manpage is tiny but she's doing her job and we respect her for it π
π₯ SEE ALSO π₯
the kernel file ./drivers/mtd/spi-nor/core.c β go read the source bestie, iykyk π and then there's this absolutely unhinged guest list of related functions, like the whole spi-nor extended fam showed up to the party π:
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_sr(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_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)(deprecated, bb, tread carefully)spi_nor_init_params_deprecated(9)(also deprecated, we don't gatekeep)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)
periodt π that's sixty-ish functions and yes i listed every single one, because we do not skip the boring parts in this house π«Ά
okay bestie that's the page π source lives at ./drivers/mtd/spi-nor and this whole thing is dated October 2026 β yes, the future, because spi-nor stays booked and busy π mwah, go read the source, ily π
π¦ 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