Re: IRQ assignments

Sep 12, 2003 2 Replies


I need to change/make some IRQ assignments in /proc/interrupts .


> How/where is this done?

Each device driver requests its own interrupts. For drivers loaded as modules, they're usually specified as command-line parameters when you load the modules. For built-in drivers, they're usually specified as options to the kernel when it is booted.


My board has 4 serial ports but only the 1st is assigned an IRQ.

For some drivers (like the serial ones) there is an ioctl() you can call to configure IRQ usage.


The setserial util is not on this distro, so I am guessing
> these assignments can be make in a config file somewhere, but
> I sure can't find it.

You either have to write an application that uses the same ioctl() that setserial uses, or find out if the serial driver can have it's IRQ usage set by a kernel option passed by the bootloader.

Grant Edwards grante Yow! ... Get me a GIN at and TONIC!!...make it visi.com HAIR TONIC!!

PCI device drivers can share interrupts.

In a PC IAS Bus the hardware (usually) prevents interrupts from being shared. Multiple devices on a single ISA card can share interrupts.

For shared interrupts the device driver needs to detect in the device hardware if the interrupt came from the correct device and act accordingly.

-Michael

In the source tree under drivers/character you should be able to find serial.c where the driver setup routines live. It has been a while, but I changed port 3 and 4 to IRQs 7 and 5, which none of the parallel drivers were using.

The problem is that you have to manually check to make sure this change wasn't overwritten each time you update the source tree.

Bob McConnell N2SPP

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required