STRUCT DS1685_RTC_PLATFORM_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct ds1685_rtc_platform_data(9) πŸŽ€

okay so this is a glibc… no wait, it's a Kernel API Manual page, and it's all about struct ds1685_rtc_platform_data β€” the platform data structure. yes bestie, that's the whole NAME section, we're starting strong πŸ’…


✨ SYNOPSIS ✨

here's the literal shape of it, copied exactly so you can stare at it lovingly:

struct ds1685_rtc_platform_data {
    const u32 regstep;
    const bool bcd_mode;
    const bool no_irq;
    const bool uie_unsupported;
    void (*plat_prepare_poweroff)(void);
    void (*plat_wake_alarm)(void);
    void (*plat_post_ram_clear)(void);
    enum {
      ds1685_reg_direct,
    ds1685_reg_indirect } access_type;
 };

like, that indentation on ds1685_reg_indirect? iconic. not me fixing it. leave her alone 😭


🫢 Members

  • plat_prepare_poweroff β€” the platform-specific pre-poweroff function. it does its little thing right before poweroff, and it's up to your platform what that even means.
  • plat_wake_alarm β€” the platform-specific wake alarm function. alarm goes off, platform handles the waking. slay.
  • plat_post_ram_clear β€” the platform-specific post ram-clear function. runs after the ram gets cleared, key word post πŸ”₯
ngl the other fields (regstep, bcd_mode, no_irq, uie_unsupported, access_type) are in the struct but this page doesn't spell them out one by one β€” it only gives the pointer members their own blurbs. so like, no cap, that's all the text there is πŸ’€

🌸 Description

okay so here's the vibe check: if your platform needs a custom padding/step size between registers, or it uses one or more of the extended interrupts and needs special handling β€” then bestie, you gotta include this header file in your platform definition and set regstep and the plat_* pointers as appropriate. that's it, that's the whole assignment. periodt ✨


πŸ’œ SEE ALSO

  • Kernel file ./include/linux/rtc/ds1685.h
  • struct ds1685_priv(9)

go read those too, iykyk πŸ¦‹


and that's the page, bestie πŸŽ€ the source lives under ./include/linux/rtc, dated October 2026, and it's the Kernel API Manual β€” so go forth, set your plat_* pointers, and be the main character of your own RTC driver πŸ‘‘πŸ’–

πŸ“¦ where this page comes from