I did some work on the irq type configuration for the at86rf230 the
last days. I realized, that dropping the calls to disable_irq_nosync()
and enable_irq() would break setups which have their irq type
configured to IRQ_TYPE_LEVEL_*. The irq would be continues
refired each time the isr returns, until the status register is read
inside the irq work function. So I disabled this calls only when a
level type irq is configured. I'm not that sure, that putting the
if statements into the irq handler functions is a nice solution, but
have no better idea that wouldn't be overkill for such a rather slow
device.
For patch 3 it was necessary to keep the irq_type variable in the
at86rf230_local struct.
I would be happy to hear some opinions about this patches.
Sascha Herrmann (3):
at86rf230: remove unnecessary / dead code
at86rf230: add irq type configuration option
at86rf230: changed irq handling to not disable irq for edge type
interrupt
drivers/net/ieee802154/at86rf230.c | 40 +++++++++++++++++++++---------------
include/linux/spi/at86rf230.h | 5 +++++
2 files changed, 29 insertions(+), 16 deletions(-)
--
1.7.10.4
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Linux-zigbee-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel