STRUCT PM8XXX_RTC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, this is a page straight out of the Kernel API Manual β€” it's the internal structure for the RTC driver, and honestly? it's giving backstage-pass energy. this is the lil' data blob that holds everything the pm8xxx RTC driver needs to know about itself. ngl, she's organized. πŸŽ€


✨ SYNOPSIS ✨

here's the whole struct, bestie β€” type it exactly like this or the compiler will simply pass away:

struct pm8xxx_rtc {
    struct rtc_device *rtc;
    struct regmap *regmap;
    bool allow_set_time;
    bool use_uefi;
    int alarm_irq;
    const struct pm8xxx_rtc_regs *regs;
    struct device *dev;
    struct qcom_uefi_rtc_info rtc_info;
    struct nvmem_cell *nvmem_cell;
    u32 offset;
    bool offset_dirty;
 };

🌸 Members 🌸

okay now the fun part β€” meet the cast, iykyk πŸ’…

  • rtc β€” the RTC device itself. literally the whole point of this struct, main character energy fr. πŸ‘‘
  • regmap β€” the regmap used to access registers. it's the little messenger that goes and pokes the hardware for you. πŸ¦‹
  • allow_set_time β€” whether the time can be set. yes/no, can we touch the clock or not. πŸ™ˆ
  • use_uefi β€” use a UEFI variable as a fallback for the offset. backup plan behavior, we love to see it. ✨
  • alarm_irq β€” the alarm IRQ number. when the alarm goes off, this is the digits it calls. πŸ”₯
  • regs β€” register description. the map of where everything lives. πŸŽ€
  • dev β€” device structure. the whole device situation, right here. πŸ’œ
  • rtc_info β€” the qcom UEFI rtc-info structure. yes, the qcom one specifically, don't get it twisted. 🌸
  • nvmem_cell β€” the nvmem cell for the offset. that's where the offset chills. πŸ“
  • offset β€” offset from epoch, in seconds. a u32, so be normal about it. ⭐
  • offset_dirty β€” the offset needs to be stored on shutdown. it's flagged, it's marked, it's gotta get written down before we dip. 😭

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/rtc/rtc-pm8xxx.c
  • struct pm8xxx_rtc_regs(9)

fr fr, every single member up there is load-bearing β€” miss one and the vibe check fails at compile time πŸ’€

okay that's the whole page, bestie 🫢 sign-off time: this one comes from the kernel source at ./drivers/rtc, straight out of the Kernel API Manual, and it's dated October 2026. periodt. πŸ’–βœ¨πŸŒˆ

πŸ“¦ where this page comes from