Thread (11 messages) 11 messages, 7 authors, 2009-02-12

Re: request_irq return errno 38

From: Vijay Nikam <hidden>
Date: 2009-02-11 10:13:28

Ok ... so that means if I am writing driver for any device I need to
take care of this mapping ? ? ? I mean I should use virq ? ? ?

I read in LDD book, they give directly irq no. they have given
parallel port example, here they have set or said irq no. defaults to
7 and they have not done any irq_mapping so what is the difference ? ?
? I mean how I should know when to use irq_mapping and when not ? ? ?

Also is it some difference between writng drivers on embedded Linux
level and Linux PC (i386) ? ? ?

Sorry for perhaps these basic questions as kind of new to Linux kernel
programming ... :-)

Kindly please acknowledge ... thank you ...

Kind Regards,
Vijay Nikam


On 2/11/09, Michael Ellerman [off-list ref] wrote:
On Wed, 2009-02-11 at 15:11 +0530, Vijay Nikam wrote:
quoted
Thanks for your prompt reply ...

I am using kernel version 2.6.20 ...
OK, that kernel has the irq remapping stuff.
quoted
May I know what raw IRQ means ? ? ? and what is the reason I cant map
raw_irq_number ???
Sorry, that's not the best terminology.

I guess the right name is hardware irq number.

You can't map it because the kernel keeps a mapping between hardware irq
numbers and virtual irq numbers. request_irq() expects a virtual irq
number.

cheers

--
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone:  +61 2 6212 1183  (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help