gscps2_interrupt(9)
πΈ gscps2_interrupt β the kernel API manual, bestie edition πΈ
okay so you opened the manual page for gscps2_interrupt (that's a section 9 kernel API page, iykyk) and honestly? it's a little icon of a function. let's get into it π
β¨ NAME β¨
gscps2_interrupt β the interruption service routine π
β¨ SYNOPSIS β¨
irqreturn_t gscps2_interrupt (int irq , void *dev );
that's it. that's the whole signature. look at her go π¦
β¨ ARGUMENTS β¨
irqβ the interrupt number that triggered this whole situation (and yes, it's unused, bestie β it's giving decorative π)devβ the device pointer (also unused, fr fr, it's just vibing there π)
β¨ DESCRIPTION β¨
so what does she actually do? she reads the received PS/2 bytes and processes them on all interfaces. all of them. every single one. π
now here's the messy part, and the manual is very honest about it: the keyboard and mouse PS/2 port share the same interrupt, and it's literally not possible to send data if any one of them is holding input data. π that's the problematic bit. the way that two devices are fighting over one interrupt line... not iconic of them.
the fix? we try to receive the data as fast as possible, and then handle the reporting to the upper layer later. speed first, paperwork second. main character energy honestly π
β¨ SEE ALSO β¨
- kernel file
./drivers/input/serio/gscps2.c gscps2_probe(9)gscps2_remove(9)
β little reminder: those two args look like they're doing something but they are unused. don't come for me, I didn't write it π
that's the whole page, no skips, no summaries, every crumb preserved π
and that's a wrap! this gem lives in ./drivers/input/serio and the version is dated October 2026 β go off, October 2026, 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