@@ -1278,7 +1278,7 @@ static struct at86rf2xx_chip_data at86rf212_data = {
static int at86rf230_hw_init(struct at86rf230_local *lp)
{
- int rc, irq_pol, irq_type;
+ int rc, irq_pol, irq_type = IRQ_ACTIVE_HIGH;
unsigned int dvdd;
u8 csma_seed[2];
@@ -1287,11 +1287,8 @@ static int at86rf230_hw_init(struct at86rf230_local *lp)
return rc;
irq_type = irq_get_trigger_type(lp->spi->irq);
- /* configure irq polarity, defaults to high active */
- if (irq_type & (IRQF_TRIGGER_FALLING | IRQF_TRIGGER_LOW))
- irq_pol = IRQ_ACTIVE_LOW;
- else
- irq_pol = IRQ_ACTIVE_HIGH;
+ if (irq_type == IRQ_TYPE_EDGE_FALLING)
+ irq_type = IRQ_ACTIVE_LOW;
rc = at86rf230_write_subreg(lp, SR_IRQ_POLARITY, irq_pol);
if (rc)
This patch rework the irq_pol register setting for rising and falling interrupt settings only. The default behaviour should be rising flag. Also use IRQ_TYPE_* defines instead of IRQF_* defines. There is no functionality change but irq_get_trigger_type returns IRQ_TYPE_* defines. Signed-off-by: Alexander Aring <alex.aring@gmail.com> --- drivers/net/ieee802154/at86rf230.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)