spi_nor_spimem_bounce(9)
π spi_nor_spimem_bounce β from the Kernel API Manual (yes that one, the kernel one, bestie)
okay so real talk, this function is a vibe check for your data transfer β¨ It's asking the universe (and the SPI NOR layer) one very important question: do we need a bounce buffer for this transfer or not? That's it. That's the whole job. And she does it flawlessly, no cap π
β¨ SYNOPSIS β¨
bool spi_nor_spimem_bounce (struct spi_nor *nor , struct spi_mem_op *op
);
like. look at her. two args, returns a bool, zero drama π
πΈ ARGUMENTS πΈ
norβ pointer tostruct spi_nor, aka the little guy we're working with π«Άopβ pointer tostruct spi_mem_op, the template for the transfer. template!! she's a blueprint bestie π
π₯ DESCRIPTION π₯
so here's the tea β If we have to use the bounce buffer β like, if it turns out we genuinely need one β then the data field inside op gets updated. that's the whole behaviour. she checks, and if it's a bounce-buffer kind of situation, she edits op for you. iconic π
no extra steps, no side quests, just a tidy little field update when the vibes demand it β¨
π¦ RETURN π¦
trueβ the bounce buffer is needed, bestie, we're bouncing πfalseβ nope, not needed, we're good, carry on π
π SEE ALSO π
okay this is the part where she tags literally everyone in the group chat π and I mean everyone. no one gets left out. Kernel file ./drivers/mtd/spi-nor/core.c, plus:
spi_nor_get_cmd_ext(9)spi_nor_spimem_setup_op(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_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)
like hello?? that's the whole friend group π every single one of them, tagged, in order, nobody forgotten π
ngl if you're reading this page you're probably already deep in drivers/mtd/spi-nor and honestly? respect. main character energy π§
sign-off time π this little masterpiece lives in ./drivers/mtd/spi-nor and the page itself is dated October 2026 β and that's the whole manual page spi_nor_spimem_bounce(9), delivered with love, correctness, and zero lost flags πβ¨πΈπ
π«Ά
π¦ 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