RE: [PATCH v2 1/2] staging: Add ST-Ericsson CG2900 driver

Thomas Gleixner
2011-03-28T10:21:59Z

On Mon, 28 Mar 2011, Lukasz.Rymanowski@tieto.com wrote:

> >> +/**
> >> + * 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 ?

Up to Greg.

Thanks,

tglx