All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] BF537-Stamp pushbutton interrupts
@ 2008-02-24 13:09 Andras Garzo
  2008-02-24 15:11 ` Philippe Gerum
  2008-02-24 17:33 ` Wolfgang Grandegger
  0 siblings, 2 replies; 4+ messages in thread
From: Andras Garzo @ 2008-02-24 13:09 UTC (permalink / raw)
  To: xenomai-help

Hi all,

I'm trying to handle the BF537-STAMP pushbutton interrupts with rtdm, but
my system hangs when calling rtdm_irq_request with the following message:

BUG: failure at arch/blackfin/kernel/bfin_gpio.c:504/set_gpio_maska()!
Kernel panic - not syncing: BUG!

I'm using linux kernel 2.6.22 and Xenomai 2.4.1. It could be a kernel bug?
The following code worked well on 2.6.19 with Xenomai 2.3.2:

#include <linux/list.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/time.h>
#include <asm/irq.h>
#include <rtdm/rtdm.h>
#include <rtdm/rtdm_driver.h>

#define PPSMOD_IRQ IRQ_PF4


struct ppsmod_dev
{
    unsigned int irqnum;
};

rtdm_irq_t irq_handle;

static int ppsmod_irqhandler(rtdm_irq_t *handle)
{
    printk(KERN_WARNING "ppsmod: PPS interrupt triggered.\n");
    return IRQ_HANDLED;
}

static int __init ppsmod_init(void)
{
    int alloc_size = sizeof(struct ppsmod_dev);
    struct ppsmod_dev *dev = (struct ppsmod_dev*)kmalloc(alloc_size, 
GFP_KERNEL);
    int ret;
   
    printk(KERN_WARNING "ppsmod: module loaded.\n");
   
    // installing IRQ handler
    if(rtdm_irq_request(&irq_handle, PPSMOD_IRQ, &ppsmod_irqhandler, 
RTDM_IRQTYPE_EDGE, NULL, dev))
    {
        printk(KERN_WARNING "ppsmod: PF4 irq is not free.\n");
        return -EBUSY;
    }
    printk(KERN_WARNING "ppsmod: 23231\n");
    set_irq_type(IRQ_PF4, IRQF_TRIGGER_RISING);
    rtdm_irq_enable(&irq_handle);
    printk(KERN_WARNING "ppsmod: PF4 interrupt handler installed.\n");
   

    return 0;
}

void __exit ppsmod_exit(void)
{
    rtdm_irq_free(&irq_handle);
    printk(KERN_WARNING "ppsmod: module unloaded.\n");
}

module_init(ppsmod_init);
module_exit(ppsmod_exit);

Thanks,
Andras




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-02-25 20:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-24 13:09 [Xenomai-help] BF537-Stamp pushbutton interrupts Andras Garzo
2008-02-24 15:11 ` Philippe Gerum
2008-02-24 17:33 ` Wolfgang Grandegger
2008-02-25 20:17   ` Andras Garzo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.