STRUCT ADC5_CHANNEL_COMMON_PROP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, gather round β€” struct adc5_channel_common_prop is the ADC channel properties struct, and the whole vibe is that it's the stuff common to ADC and TM. both of them. shared. iconic behavior honestly ✨

this is a page from the Kernel API Manual, section 9 β€” yes we're in the big-kid kernel docs now, and you're gonna slay it 🫢


✨ SYNOPSIS ✨

here's the whole struct, no cap, every field exactly as it lives:

struct adc5_channel_common_prop {
    unsigned int channel;
    enum adc5_cal_method cal_method;
    unsigned int decimation;
    unsigned int sid;
    const char *label;
    unsigned int prescale;
    unsigned int hw_settle_time_us;
    unsigned int avg_samples;
    enum vadc_scale_fn_type scale_fn_type;
 };

like look at that. that's the whole thing. nine fields and every single one is doing a job πŸ’…


πŸŽ€ Members πŸŽ€

  • channel β€” the channel number, bestie. if you need to know which channel, go refer to the channel list (iykyk). πŸ”’
  • cal_method β€” the calibration method. it's an enum adc5_cal_method, so it's giving "pick from the approved list" energy.
  • decimation β€” the sampling rate supported for the channel. fancy word, real job ⭐
  • sid β€” the ID of the PMIC that owns the channel. yes, the channel has an owner. main character energy πŸ‘‘
  • label β€” the channel name used in device tree. it's a const char *, so it's literally a little string of a name 🏷️
  • prescale β€” channel scaling performed on the input signal. signal goes in, gets scaled, we move 🌸
  • hw_settle_time_us β€” the time between AMUX being configured and the start of conversion, measured in uS. it's the little pause where the hardware gets its life together πŸ™ˆ
  • avg_samples β€” the ability to provide a single result from the ADC that is an average of multiple measurements. so instead of one chaotic reading you get the group-chat consensus πŸ“Š
  • scale_fn_type β€” an enum vadc_scale_fn_type that represents the scaling function used to convert voltage into whatever physical units the client wants for the channel. the converter. the translator. the diplomat 🧚
ok real talk: none of these are optional vibes β€” each one is a documented field on the struct, so don't go inventing extra ones, bestie πŸ’€

🌈 SEE ALSO 🌈

  • the kernel file ./include/linux/iio/adc/qcom-adc5-gen3-common.h β€” go read it, it's the source of truth fr fr
  • struct adc5_sdam_data(9)
  • struct adc5_device_data(9)
  • struct tm5_aux_dev_wrapper(9)

all three of those are structs with their own (9) pages, so matching bestie sets πŸŽ€


πŸ¦‹ sign-off πŸ¦‹

and that's the page!! source is ./include/linux/iio/adc, dated October 2026, and the title is struct adc5..._common_prop(9) in case you were wondering where the header went 🫢 go forth and configure your channels, you absolute legend πŸ’–πŸ”₯

πŸ“¦ where this page comes from