STRUCT PART_ID_GTS_MULTIPLIER(9)
π NAME π
struct part_id_gts_multiplier β bestie, it's literally the part number and its matching gts multiplier, wrapped up in one little struct π
β¨ SYNOPSIS β¨
struct part_id_gts_multiplier {
int part_id;
int max_scale_int;
int max_scale_nano;
};
ok so that closing brace has a little extra space before it in the source β iconic of it, no notes, we keep it exactly as-is π«Ά
π§ Members π§
part_idβ the Part ID of the device. like, which device are we even talking about, y'know? this is the answer πΈmax_scale_intβ the Multiplier foriio_init_iio_gts. the integer half of the vibe πmax_scale_nanoβ also a Multiplier foriio_init_iio_gts. the nano half of the vibe β¨
π¦ Description π¦
So. GTS stands for Gain Time Scale, and it's a set of helper functions for Light sensors π β and here's the thing, bestie: these sensors don't just have hardware gains, they also have gains associated with Integration times. both. at once. main character energy fr fr π
There are two variants of the device, and they have slightly different characteristics β but (and this is the plot twist π) they have the same ADC count for different Lux levels, just like it says in the datasheet. no cap.
This multiplier array is what stores the derived Lux per count value for those two variants, so the GTS helper functions can come along and use it. that's the whole job. it holds the numbers, it slays, it goes home π
π₯ SEE ALSO π₯
- Kernel file
./drivers/iio/light/apds9306.cβ withstruct apds9306_regfields(9)andstruct apds9306_data(9), the whole friend group π«Ά
ok that's the whole page, go read the kernel source bestie, mwah π
source vibe check: ./drivers/iio/light Β· dated October 2026 Β· Kernel API Manual β¨ thanks for coming to my ted talk, ily, bye π
π¦ 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