Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

how to write a costum gpio interrupt driver

I want to write a custom gpio interrupt driver. I just want to trigger the led in interrup handle function.

In my probe function I register interrupt and initial the registers.

I can see the interrupt number in /proc/interrupt after booting.

Like below

197: 0 0 GIC gpio_key

but the interrupt handle function nerver execute.

What is the problem with the driver?

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks in advance.

    I'm having trouble compiling my custom device driver. I'm using the 14.1 tools.

    My compiled linux is in /home/user1/linux-socfpga

    My cross compiler is in /home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf-

    My device driver is in /home/user1/newDriver

    I'VE TRIED LOTS OF THINGS - and googled for a few hours

    One was -- from the newDriver directory I tried:

    # ] make ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- KERNEL_SRC=/home/user1/linux-socfpga

    IT TRIES BUT CAN'T FIND the kernel header files.

    Any help would be greatly appreicated.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Thanks in advance.

    I'm having trouble compiling my custom device driver. I'm using the 14.1 tools.

    My compiled linux is in /home/user1/linux-socfpga

    My cross compiler is in /home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf-

    My device driver is in /home/user1/newDriver

    I'VE TRIED LOTS OF THINGS - and googled for a few hours

    One was -- from the newDriver directory I tried:# ] make ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- KERNEL_SRC=/home/user1/linux-socfpga

    IT TRIES BUT CAN'T FIND the kernel header files.

    Any help would be greatly appreicated.

    --- Quote End ---

    SOLUTION: Here is the Makefile

    KERNEL_DIR=/home/user1/linux-socfpga

    obj-m := testDriver.o

    PWD := $(shell pwd)

    default:

    $(MAKE) M=$(PWD) ARCH=arm CROSS_COMPILE=/home/user1/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_linux/bin/arm-linux-gnueabihf- -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules

    clean:

    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) clean