STRUCT XOADC_VARIANT(9)
π struct xoadc_variant(9)
okay so this is a page from the Kernel API Manual and bestie, it's literally just about one little struct β but she's kind of a big deal π
β¨ NAME β¨
struct xoadc_variant β encodes the XOADC variant characteristics. that's it, that's the whole job. she's a little info-card for a PMIC variant and honestly? iconic. π
πΈ SYNOPSIS πΈ
struct xoadc_variant {
const char name[16];
const struct xoadc_channel *channels;
bool broken_ratiometric;
bool prescaling;
bool second_level_mux;
};
π¦ Members π¦
nameβ the name of this PMIC variant. just her name, in aconst chararray of 16, living her best life πchannelsβ the hardware channels plus their respective settings and defaults. all of them. this is the whole lineup, the whole squad π«Άbroken_ratiometricβ aboolthat's set if the PMIC has broken ratiometric scaling. and ngl, this is a known problem on PM8058 π so likeβ¦ not a vibe, but at least you can check for it.prescalingβ aboolmeaning this variant uses AMUX bits 2 & 3 for prescaling (PM8058). yes, those exact bits. no cap. β¨second_level_muxβ aboolmeaning this variant uses AMUX bits 2 & 3 for a second level mux. bestie it's the same bits, they're just doing double duty depending on the variant β lowkey chaotic, highkey fine π
fr fr,prescalingandsecond_level_muxboth describe AMUX bits 2 & 3 β which one applies depends on the variant, so don't go assuming, okay? π
π§ SEE ALSO π§
- Kernel file
./drivers/iio/adc/qcom-pm8xxx-xoadc.c struct xoadc_channel(9)struct pm8xxx_chan_info(9)struct pm8xxx_xoadc(9)
so yeah, that's the whole struct π she lives in ./drivers/iio/adc, the page is dated October 2026, and if you need her you know exactly where to find her π periodt.
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms