I _finally_ got keyboard. Theres a bit in one of my superIO registers that handles the muxing of IRQ pins and some other functions. The default was not to have IRQ 1 enabled.
I can see where if you have mutiple sio's in the system where you might want this bit set in one and not set in others. However the current superio config dosen't seem to have any facility for allowing configuration like this. You have to do it in code.
Perhaps we should add a few new superio items to allow for this? like maybe
struct sio_config_settings { unsigned char offset; unsigned char value; }
And then in superio
struct sio_config_settings config1, config2, config3;
That would give you 3 other registers that you could set via the nsuperio statement.
Or perhaps a new function pointer in superio_control specifically for per-chip setups that don't fall into the pre-defined catagories?