On Mon, 28 Mar 2011, [email protected] 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
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to