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
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to