Thread (6 messages) flat view 6 messages, 5 authors, 2011-03-28

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

From: Thomas Gleixner <hidden>
Date: 2011-03-28 09:14:04
Also in: lkml

On Mon, 28 Mar 2011, Par-Gunnar Hjalmdahl wrote:

This wants to be split up for review.
+/**
+ * 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.

Thanks,

	tglx
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help