>I wrote:
>> To achieve perfection, at86rf230_probe could try all four
>> possible trigger modes, pick one the platform supports, and
>> set TRX_CTRL_1.IRQ_POLARITY accordingly.
>
>Thinking of it, probing by trying request_irq has an unpleasant ring
>to it. Perhaps a better way would be to leave this decision to the
>platform code and do one of these:
>
>1) pass irqflags and the polarity in the platform data, or
>
>2) pass irqflags and extract the polarity from the irqflags, or
>
>3) set up the trigger mode outside the driver and pass only the
>   polarity,
>
>where 1) with (irqflags & IRQF_TRIGGER_MASK) == 0 includes
>case 3).

The change with this patch is mostly about the trigger type of the interrupt. 
The trigger level isn't configurable in the rf230, as far as I understand the 
datasheet. I posted a version of this patch with the option to configure the 
interrupt type (edge or level) for discussion on the linux-zigbee list some 
time ago. The result tended toward hardcoding the interrupt type in the driver 
[1]. My assumption is, that every platform would support edge type interrupts.

If it is preferred to have the interrupt type configurable I now would prefer 
to implement seperate isr and irqwork functions for each irq type. I fear the 
sollution to read the interrupt status register in a loop (as suggested in your 
earlier message) would leave chances for race conditions or spurious 
interrupts, depending on wheter interrupts are enabled before or after reading 
the status register. 

Hard coding the interrupt type would have the pro of keeping the driver 
complexity low. Surely for this option, the assumption that (at least nearly) 
every platform supports edge type interrupts should hold.

[1] 
http://www.mail-archive.com/linux-zigbee-devel@lists.sourceforge.net/msg01385.html

Thanks,
Sascha

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to