STRUCT EMC2305_PLATFORM_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ struct emc2305_platform_data(9) πŸ’œ

okay bestie, welcome to the Kernel API Manual β€” section 9, the good section. today's main character is struct emc2305_platform_data, aka the EMC2305 driver's platform data. it's giving "little struct, big responsibilities." let's get into it πŸŽ€


✨ NAME ✨

struct emc2305_platform_data β€” EMC2305 driver platform data

like, that's literally it. that's the whole vibe. it's the platform data the EMC2305 driver runs on πŸ¦‹


🌸 SYNOPSIS 🌸

struct emc2305_platform_data {
    u8 max_state;
    u8 pwm_num;
    u8 pwm_output_mask;
    u8 pwm_polarity_mask;
    bool pwm_separate;
    u8 pwm_min[EMC2305_PWM_MAX];
    u16 pwm_freq[EMC2305_PWM_MAX];
 };

no cap, that's the whole shape of it. seven members, one struct, zero notes. look at those array declarations β€” EMC2305_PWM_MAX is doing the heavy lifting in both of them πŸ’…


πŸ‘‘ Members πŸ‘‘

okay so let's meet the members one by one, they all have their own little jobs:

  • max_state β€” maximum cooling state of the cooling device; πŸ”₯ that's the ceiling, the top of the range, the "we can't go any colder than this" energy
  • pwm_num β€” number of active channels; like how many of them are actually awake and doing stuff ✨
  • pwm_output_mask β€” PWM output mask πŸŽ€
  • pwm_polarity_mask β€” PWM polarity mask 🌈
  • pwm_separate β€” separate PWM settings for every channel; yup, this one's a bool, so it's a yes/no situation β€” every channel gets its own settings when it's on πŸ’–
  • pwm_min β€” array of minimum PWM per channel; type u8, sized EMC2305_PWM_MAX, one minimum per channel πŸ“
  • pwm_freq β€” array of PWM frequency per channel; type u16 this time (upgraded!), sized EMC2305_PWM_MAX, one frequency per channel ⭐
lowkey obsessed with the fact that pwm_min is u8 and pwm_freq is u16. the frequency got the glow-up. as it should πŸ’…

🫢 SEE ALSO 🫢

  • Kernel file ./include/linux/platform_data/emc2305.h β€” yeah, go read the header, that's where the real lore lives πŸ“–

that's the whole page bestie, you ate it πŸ’–

so this one's from ./include/linux/platform_data, dated October 2026, and the page itself is struct emc23...latform_data(9) β€” yes the title's truncated, we don't know her full name either, it's an icon thing πŸ‘‘ mwah, go touch some PWM channels, ily πŸ§šπŸ’œ

πŸ“¦ where this page comes from