[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7D7F2FD3846CF6429ACEBDFB5A2DD86F07E35E5F89@EXMB01.eu.tieto.com>
Date: Mon, 28 Mar 2011 13:05:35 +0300
From: <Lukasz.Rymanowski@...to.com>
To: <tglx@...utronix.de>, <par-gunnar.p.hjalmdahl@...ricsson.com>
CC: <gregkh@...e.de>, <devel@...verdev.osuosl.org>,
<linus.walleij@...aro.org>, <linux-kernel@...r.kernel.org>,
<linux-bluetooth@...r.kernel.org>, <pavan_savoy@...y.com>,
<vitalywool@...il.com>, <alan@...rguk.ukuu.org.uk>,
<arnd@...db.de>, <marcel@...tmann.org>,
<linus.walleij@...ricsson.com>, <pghatwork@...il.com>,
<lee.jones@...aro.org>, <mathieu.poirier@...aro.org>
Subject: RE: [PATCH v2 1/2] staging: Add ST-Ericsson CG2900 driver
>> +/**
>> + * cts_interrupt() - Called to handle CTS interrupt.
>> + * @irq: Interrupt that occurred.
>> + * @dev_id: Device ID where interrupt occurred.
>> + *
>> + * The cts_interrupt() function is called if interrupt on CTS occurred.
>> + * It disables the interrupt and starts a new work thread to handle
>> + * the interrupt.
>> + */
>> +static irqreturn_t cts_interrupt(int irq, void *dev_id) {
>> + struct uart_info *uart_info = dev_get_drvdata(dev_id); #ifdef
>> +CONFIG_PM
>> + disable_irq_wake(irq);
>> +#endif
>> + disable_irq_nosync(irq);
>> +
>> + /* Create work and leave IRQ context. */
>> + (void)create_work_item(uart_info, handle_cts_irq);
>> +
>> + return IRQ_HANDLED;
>> +}
>Have you thought about using a threaded interrupt handler? That would make all this work cruft go away.
Good point.
To be honest we did think about it but in the time we where we were busy with other issues.
Anyway, shall we resend patches now or we can push patch for it once driver gets in the tree ?
/Lukasz
>Thanks,
> tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists