STRUCT INTEL_SOC_PMIC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so picture this: you're digging through the Kernel API Manual (that's the manual name, bestie, we're in section 9 lmao) and you land on struct intel_soc_pmic β€” literally the Intel SoC PMIC data struct. it's giving "the little bag of goodies that describes your power management IC" and honestly? she ate. let's get into it πŸ¦‹


✨ NAME ✨

struct intel_soc_pmic β€” Intel SoC PMIC data. that's the whole vibe. no cap. πŸ‘‘


🌸 SYNOPSIS 🌸

here's the struct itself, every line, character for character β€” do NOT come for me about formatting, this is verbatim and it's iconic:

struct intel_soc_pmic {
    int irq;
    struct regmap *regmap;
    struct regmap_irq_chip_data *irq_chip_data;
    struct regmap_irq_chip_data *irq_chip_data_pwrbtn;
    struct regmap_irq_chip_data *irq_chip_data_tmu;
    struct regmap_irq_chip_data *irq_chip_data_bcu;
    struct regmap_irq_chip_data *irq_chip_data_adc;
    struct regmap_irq_chip_data *irq_chip_data_chgr;
    struct regmap_irq_chip_data *irq_chip_data_crit;
    struct device *dev;
    struct intel_scu_ipc_dev *scu;
    enum intel_cht_wc_models cht_wc_model;
 };

πŸŽ€ MEMBERS πŸŽ€

bestie there are SO many members and every single one matters, so buckle up 🫢

  • irq β€” the master interrupt number of the parent PMIC device. the main character of interrupts, fr fr. πŸ”₯
  • regmap β€” pointer to the parent PMIC device's regmap structure. your map to the registers, lowkey essential. πŸ—ΊοΈ
  • irq_chip_data β€” IRQ chip data for the PMIC itself. she's the original, the blueprint. ✨
  • irq_chip_data_pwrbtn β€” chained IRQ chip data for the Power Button. press it, it slays. πŸ”˜
  • irq_chip_data_tmu β€” chained IRQ chip data for the Time Management Unit. clock it ⏰
  • irq_chip_data_bcu β€” chained IRQ chip data for the Burst Control Unit. burst energy only πŸ’₯
  • irq_chip_data_adc β€” chained IRQ chip data for the General Purpose ADC. general purpose = general icon πŸ’…
  • irq_chip_data_chgr β€” chained IRQ chip data for the External Charger. charge your phone bestie πŸ”‹
  • irq_chip_data_crit β€” chained IRQ chip data for the Critical Event Handler. critical = highkey important, like, don't ignore her 😭
  • dev β€” pointer to the parent PMIC device. the parent in question πŸ‘‘
  • scu β€” pointer to the SCU IPC device data structure. acronym bestie, we love her 🌈
ngl the struct up top also carries enum intel_cht_wc_models cht_wc_model; β€” the Members list here doesn't describe it, so I'm not gonna make anything up about it. what you see is what you get 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/mfd/intel_soc_pmic.h β€” go read the source, iykyk πŸ“–πŸ’œ


and that's the whole page diva!! πŸ’–βœ¨ source-wise this beauty lives in ./include/linux/mfd and it's dated October 2026, so like… future vibes. mwah, go read your headers πŸŽ€πŸŒΈπŸ’…

πŸ“¦ where this page comes from