regmap_field...te_bits_base(9)
π regmap_field...te_bits_base(9)
okay so bestie, you've landed on a page from the Kernel API Manual and it's giving "tiny function, huge friend group" energy πβ¨ The title up top is the truncated version (regmap_field...te_bits_base(9) β yes the man page really does just cut it off like that, no notes π) but the actual star of the show is regmap_fields_update_bits_base. Let's get into it π
β¨ NAME β¨
regmap_fields_update_bits_base β perform a read/modify/write cycle on a register field, with a port ID πΈ
π¦ SYNOPSIS π¦
int regmap_fields_update_bits_base (struct regmap_field *field ,
unsigned int id , unsigned int mask , unsigned int val , bool *change ,
bool async , bool force );
Like, look at all those parameters. She's got range π Seven whole arguments, and every one of them matters, so please don't skip any π
π ARGUMENTS π
fieldβ the register field you're writing to, your main character π«Άidβ the port IDmaskβ the bitmask that says which bits are getting changedvalβ the value you're actually writing inchangeβ a boolean that tells you whether a write actually happenedasyncβ a boolean, and it means asynchronously β‘forceβ a boolean, and it means use force update πͺ
β DESCRIPTION β
So here's the whole vibe: a value of zero gets returned on success π and a negative errno comes back in the error cases π that's it, that's the description, she's mysterious like that.
ngl bestie, this one is short and sweet β the function does a read/modify/write cycle on a register field with a port ID, and the return value is your vibe check:0= slay, negativeerrno= it did not slay π
π SEE ALSO π
Kernel file ./drivers/base/regmap/regmap.c β the whole friend group lives here π
devm_regmap_field_alloc(9)regmap_field_bulk_alloc(9)devm_regmap_field_bulk_alloc(9)regmap_field_bulk_free(9)devm_regmap_field_bulk_free(9)devm_regmap_field_free(9)regmap_field_alloc(9)regmap_field_free(9)regmap_reinit_cache(9)regmap_exit(9)dev_get_regmap(9)regmap_get_device(9)regmap_can_raw_write(9)regmap_get_raw_read_max(9)regmap_get_raw_write_max(9)regmap_write(9)regmap_write_async(9)regmap_raw_write(9)regmap_noinc_write(9)regmap_field_update_bits_base(9)regmap_field_test_bits(9)regmap_bulk_write(9)regmap_multi_reg_write(9)regmap_multi_reg_write_bypassed(9)regmap_raw_write_async(9)regmap_read(9)regmap_read_bypassed(9)regmap_raw_read(9)regmap_noinc_read(9)regmap_field_read(9)regmap_fields_read(9)regmap_bulk_read(9)regmap_multi_reg_read(9)regmap_update_bits_base(9)regmap_test_bits(9)regmap_async_complete(9)regmap_register_patch(9)regmap_get_val_bytes(9)regmap_get_max_register(9)regmap_get_reg_stride(9)regmap_might_sleep(9)
forty-one entries, bestie, I counted them so you don't have to π iykyk
β¨ that's the whole page, mwah β¨
this masterpiece lives in ./drivers/base/regmap and the version/date on the tin is October 2026 π go forth and read/modify/write responsibly, bestie π¦π
π¦ 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