Hello. As some of you know, I am maintaining a driver for pc-speaker, which can be downloaded here: http://www.geocities.com/stssppnn/pcsp.html I've been asked several times to if not get the driver included into the mainstream kernel, then at least make it fully modular. For this I need a couple of small hooks to be included into the kernel. The patch that adds all the necessary hooks is attached. It doesn't (intended to) change any existing functionality so it must be absolutely harmless. It is against 2.4.20 but it can be applied to anything up to 2.4.21-rc1-ac1 with some offsets. Detailed explanation of the patch follows: - use_speaker_beep variable controls whether the kd_mksound() can produce a beeps. By default is set to 1. - Added SA_FIRST flag to add the irq handlers to the head of the chain. Kernel's timer irq handler produces a big latency so that if the pcsp handler is executed after it, the sound is horribly distorted. - pit_counter0_offset is the variable that gets added to the value got from PIT counter. pscp driver alters the counter so the correction is necessary. Introduced read_pit_counter0() for that purpose. - handle_timer_irq variable controls whether the kernel's timer handler is to be executed or not. 1 by default. - use SA_SHIRQ flag for the kernel's timer irq handler to allow the driver to handle that irq as well. I think this patch is trivial and probably can be applied to some testing tree in order to get the pc-speaker driver a chance for surviving :-) Let me know if you feel the patch needs more work.