timer interrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello,

i am working on a drivermodule to control a stepper motor using the parallel port. i need a timer mechanism with a higher frequency than the jiffies clock. i tried to register an interrupt handler for IRQ0, but the code

request_irq(0,stepper_isr,SA_SHIRQ,"stepper",&iNothing)

fails and returns -16 (16 == EBUSY, 12 == ENOMEM, 22 == EINVAL, so i guess that the "-" characters in `man request_irq` in the return value section are really minus signs, and not some item indicators. i mean: can i interpret "-16" as being EBUSY?). i tried also using the flags SA_INTERRUPT|SA_SHIRQ, but it gave the same result, so i gues the timer interrupt cannot be shared using request_irq().

- can anyone tell me what i am doing wrong?
- or how i can get my interrupt service routine called at each IRQ0 (i played a bit with writing interrupt handler in dos using assembler, but i don't know if i can do the same things in protected mode. if i remember correct, the isr for irq0 can be found at addres 0x0000 till 0x0003, so can i just replace this with my isr and call the original linux timer isr at the end of my isr)?
- (or where i can find the linux timer interrupt handler in the source so i can extend this (last option))?

(i run the latest mandrake and/or the latest debian)

greetings and happy newyear,
geert.

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux