aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/serial.h
diff options
context:
space:
mode:
authorJulien Grall <julien.grall@linaro.org>2013-04-26 20:36:35 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-05-13 11:59:59 +0100
commit2be37b2cda31fc1b5f11deb912249bc54803f055 (patch)
tree267c28970649cc3d0bbeee4de78c18b4015edac0 /xen/include/xen/serial.h
parent23045cfe5099a0ff211b31b69073d907f2f221fd (diff)
downloadxen-2be37b2cda31fc1b5f11deb912249bc54803f055.tar.gz
xen-2be37b2cda31fc1b5f11deb912249bc54803f055.tar.bz2
xen-2be37b2cda31fc1b5f11deb912249bc54803f055.zip
xen/arm: New callback in uart_driver to get device tree interrupt structure
The existing function serial_irq doesn't allow to retrieve if the interrupt is edge or level trigger. Use this function to routes IRQs for all serial ports which Xen is using to Xen. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/include/xen/serial.h')
-rw-r--r--xen/include/xen/serial.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index b932ed4eb4..5de517136b 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -71,6 +71,8 @@ struct uart_driver {
int (*getc)(struct serial_port *, char *);
/* Get IRQ number for this port's serial line: returns -1 if none. */
int (*irq)(struct serial_port *);
+ /* Get IRQ device node for this port's serial line: returns NULL if none. */
+ const struct dt_irq *(*dt_irq_get)(struct serial_port *);
};
/* 'Serial handles' are composed from the following fields. */
@@ -120,6 +122,9 @@ void serial_end_log_everything(int handle);
/* Return irq number for specified serial port (identified by index). */
int serial_irq(int idx);
+/* Return irq device node for specified serial port (identified by index). */
+const struct dt_irq *serial_dt_irq(int idx);
+
/* Serial suspend/resume. */
void serial_suspend(void);
void serial_resume(void);