regmap_bulk_read(9)
π regmap_bulk_read(9) β Kernel API Manual π
okay bestie, buckle up, because this is the page where we read a whole slew of registers in one go and look iconic doing it β¨
πΈ NAME πΈ
regmap_bulk_read β read multiple sequential registers from the device π«Ά
β SYNOPSIS β
int regmap_bulk_read (struct regmap *map , unsigned int reg , void *val
, size_t val_count );
no cap, four args, and every single one of them matters π
π¦ ARGUMENTS π¦
mapβ the register map you're reading from, your main character struct πregβ the first register you're reading from, like the starting line of a relay race πββοΈvalβ a pointer to where the read value gets stored, and heads up: it's in native register size for the device, so don't go assuming bytes, iykyk πval_countβ how many registers you're reading. the whole squad, not just one π
π DESCRIPTION π
so how do you know if it worked? easy:
- a value of zero is returned on success, slay β¨
- a negative errno is returned in error cases β literally the kernel's way of saying "not me crying at 3am" π
that's it. that's the whole vibe check. zero = we ate, negative errno = we did NOT eat π
fr fr though: check that return value. negative errno is not a suggestion, it's a whole mood.
π SEE ALSO π
the crossover episode nobody asked for but everybody needed π₯ β the kernel file lives at ./drivers/base/regmap/regmap.c, and here's the entire friend group:
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_fields_update_bits_base(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_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)
bestie that's a lot of links and honestly? iconic. go read them all, i'll wait π§ββοΈ
and that's the page!! shipped straight from ./drivers/base/regmap, dated October 2026, page name regmap_bulk_read(9) β go forth and read those registers sequentially, periodt ππΈπ¦
you're gonna do amazing, ily, 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