Jan Kiszka wrote:
> Anders Blomdell wrote:
>> With a PCI multiport I/O-card, configured with:
>>
>>   modprobe xeno_16550A.ko io=0xd400,0xd080 irq=5,5
>>
>> I can't get cross-link to work. This is what I get:
>>
>>   main : write-file opened
>>   main : write-config written
>>   main : can't open rtser1 (read), Device or resource busy
>>   main : rtser0 (write) -> closed
>>
>> The reason is that the second call (xeno_16550A.c) to:
>>
>>   err = rtdm_irq_request(&ctx->irq_handle, irq[dev_id],
>>                       rt_16550_interrupt,
>>                       RTDM_IRQTYPE_SHARED | RTDM_IRQTYPE_EDGE,
>>                       context->device->proc_name, ctx);
>>
>> returns -16.
>>
>> This somehow makes sense since rtser0 and rtser1 uses the same interrupt, but
>> having multiple channels sharing the same interrupt seems to be a valid 
>> usecase
>> according to http://www.xenomai.org/index.php/16550A.
>>
>> Kernel version is 2.6.24.3 and Xenomai version is 2.4.2.
>>
>> Any ideas of what might be wrong?
> 
> CONFIG_XENO_OPT_SHIRQ?

Right, I had forgot to set:

  CONFIG_XENO_OPT_SHIRQ=y

How about a printk to warn if it's not enabled?

static inline int xnintr_irq_attach(xnintr_t *intr)
{
  if (intr->flags & XN_ISR_SHARED) {
    printk(KERN_WARNING "CONFIG_XENO_OPT_SHIRQ not set\n")
  }

  return xnarch_hook_irq(intr->irq, &xnintr_irq_handler, intr->iack, intr);
}

To give bummers like me a hint of what might be wrong.

Thanks

Anders

-- 
Anders Blomdell                  Email: [EMAIL PROTECTED]
Department of Automatic Control
Lund University                  Phone:    +46 46 222 4625
P.O. Box 118                     Fax:      +46 46 138118
SE-221 00 Lund, Sweden

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to