Messages in this thread | | | Subject | Re: What kernel version does 'irq_set_irq_type' become available? | From | Randy Dunlap <> | Date | Sat, 7 Mar 2020 10:20:39 -0800 |
| |
On 3/6/20 9:29 AM, Peter Willis wrote: > Hello, > > Is there a history diagram somewhere that shows where specific features appear in the codebase?
I don't know.
> 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:
2.6.21 was released in April of 2007. It's a shame that someone (anyone) is still using it.
> 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.
Does the hardware work as (optionally; programmable) level triggered or edge triggered? Usually not in my experience. Usually one or the other.
> 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.
No, in 2.6.21 it is named 'set_irq_type'.
I can't see that it was experimental.
> 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 ?
No.
> Question 2.) At what version of the kernel source does the function appear?
It is named irq_set_irq_type in 2.6.39. That's the earliest AFAICT.
> Question 3.) If the function exists for 2.6.21 What headers are required to allow effective compilation? >
<linux/irq.h>
> > -- 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.
'grep' is really easy to use.
> Thank you for your time and comments,
Good luck.
-- ~Randy
| |