STRUCT AT91_ADC_TOUCH(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– struct at91_adc_touch(9) ๐Ÿ’–

okay so bestie, welcome to the Kernel API Manual โœจ today's main character is struct at91_adc_touch โ€” literally the whole touchscreen info struct for at91-sama5d2, no cap ๐Ÿซถ


โœจ SYNOPSIS โœจ

bestie this is the shape of it, exactly as it lives in the kernel, don't touch the formatting i'm begging ๐Ÿ™ˆ

struct at91_adc_touch {
    u16 sample_period_val;
    bool touching;
    u16 x_pos;
    unsigned long                   channels_bitmask;
    struct work_struct              workq;
 };

๐ŸŽ€ MEMBERS ๐ŸŽ€

like. every single field, explained, because you deserve to know ๐Ÿ’…

  • sample_period_val โ€” the value for the periodic trigger interval โฐ that's it, that's the vibe.
  • touching โ€” a bool that answers the question everyone's asking: is the pen touching the screen or not ๐Ÿ‘€ yes or no, iconic behaviour only.
  • x_pos โ€” temporary placeholder for pressure computation ๐Ÿงฎ it's just chilling there holding a spot, doing its little job.
  • channels_bitmask โ€” bitmask with the touchscreen channels enabled ๐ŸŒˆ every bit is a channel that said "i'm in".
  • workq โ€” workqueue for buffer data pushing ๐Ÿšš the struct work_struct that does the actual hauling of buffer data. hard worker. we stan.

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

go read these next, i'm obsessed with the lore ๐Ÿ”ฅ

  • Kernel file ./drivers/iio/adc/at91-sama5d2_adc.c struct
  • struct at91_adc_platform(9)
  • struct at91_adc_temp_sensor_clb(9)
  • enum at91_adc_ts_clb_idx(9)
  • struct at91_adc_soc_info(9)
  • struct at91_adc_dma(9)
  • struct at91_adc_temp(9)

ngl bestie this whole page lives in ./drivers/iio/adc and the version date on it is October 2026, and the page title is literally struct at91_adc_touch(9) โ€” so like, that's the whole footer, mwah ๐Ÿ’‹ bye bestie, go touch some registers ๐Ÿงš๐Ÿ’œ
๐Ÿ“ฆ where this page comes from