STRUCT AB8500_REGULATOR_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ab8500_regulator_info(9) πŸ’–

okay bestie, welcome to the struct ab8500_regulator_info(9) page from the Kernel API Manual β€” yes, that's the manual name, we're being fancy today. This is the ab8500 regulator information struct, and she's got a lot of fields, so grab a snack πŸ“


✨ NAME ✨

struct ab8500_regulator_info β€” ab8500 regulator information. that's it, that's the whole name, slay πŸ’…


🌸 SYNOPSIS 🌸

struct ab8500_regulator_info {
    struct device           *dev;
    struct regulator_desc   desc;
    struct ab8500_shared_mode *shared_mode;
    int load_lp_uA;
    u8 update_bank;
    u8 update_reg;
    u8 update_mask;
    u8 update_val;
    u8 update_val_idle;
    u8 update_val_normal;
    u8 mode_bank;
    u8 mode_reg;
    u8 mode_mask;
    u8 mode_val_idle;
    u8 mode_val_normal;
    u8 voltage_bank;
    u8 voltage_reg;
    u8 voltage_mask;
 };

look at her. seventeen fields. main character energy fr πŸ”₯


πŸŽ€ Members πŸŽ€

okay so here's the member-by-member breakdown, iykyk:

  • dev β€” device pointer. the classic. every struct's bestie 🫢
  • desc β€” regulator description.
  • shared_mode β€” used when mode is shared between two regulators. sharing is caring, no cap ✨
  • load_lp_uA β€” maximum load in idle (low power) mode.
  • update_bank β€” bank to control on/off.
  • update_reg β€” register to control on/off.
  • update_mask β€” mask to enable/disable and set mode of regulator.
  • update_val β€” bits holding the regulator current mode.
  • update_val_idle β€” bits to enable the regulator in idle (low power) mode. sleepy mode 😴
  • update_val_normal β€” bits to enable the regulator in normal (high power) mode. awake mode ⚑
  • mode_bank β€” bank with location of mode register.
  • mode_reg β€” mode register.
  • mode_mask β€” mask for setting mode.
  • mode_val_idle β€” mode setting for low power.
  • mode_val_normal β€” mode setting for normal power.
  • voltage_bank β€” bank to control regulator voltage.
  • voltage_reg β€” register to control regulator voltage.
  • voltage_mask β€” mask to control regulator voltage.

notice how we've got the update_* squad, the mode_* squad, and the voltage_* squad? three little friend groups, each with a bank, a reg, and a mask. it's giving organization πŸ’œ


πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/regulator/ab8500.c
  • struct ab8500_shared_mode(9)

go read those next, bestie, they're literally referenced right there πŸ‘‘


lowkey a reminder: shared_mode only matters when the mode is shared between two regulators β€” don't forget or you'll be confused later 😭

🌈 that's the whole page!! no cap, every field accounted for. this was struct ab8500...gulator_info(9) from the Kernel API Manual, sourced from ./drivers/regulator, dated October 2026 β€” catch you in the next manpage, mwah πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from