What kernel version does 'irq_set_irq_type' become available?

From: Peter Willis
Date: Fri Mar 06 2020 - 12:53:04 EST


Hello,

Is there a history diagram somewhere that shows where specific features appear in the codebase?

Various online documentation for kernel driver development have references to functions that, in some cases, are either deprecated or do not yet exist in older versions of kernel source.

For example, I have written an interrupt service driver for an embedded application running on kernel version 2.6.21. The original driver is level triggered and requires the driver to:

a.) Temporarily disable the interrupt
b.) Service the interrupt
c.) Re-enable the interrupt

There was some desire for that driver to move to a more standard rising edge trigger.

In that line of thought , the documentation suggests ' irq_set_irq_type' with flag 'IRQF_TRIGGER_RISING'.

That function was experimental at one point, and doesn't appear to be available in the 2.6.21 source.
I did a 'find' -> 'while read' -> 'fgrep' search to find the function declaration in headers but had no luck under 2.6.21 .

-- My specific questions --

Question 1.) Is 'irq_set_irq_type' still experimental ?
Question 2.) At what version of the kernel source does the function appear?
Question 3.) If the function exists for 2.6.21 What headers are required to allow effective compilation?


-- Notes and suggestions regarding kernel function documentation --

Note 1.) Perhaps functions should be documented with indications of what kernel versions they apply to.
Note 2.) In function documentation, an indication of what headers to include supporting each specific function would be nice.

Thank you for your time and comments,

Peter