diff options
author | Julien Grall <julien.grall@linaro.org> | 2013-04-26 20:36:35 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-05-13 11:59:59 +0100 |
commit | 2be37b2cda31fc1b5f11deb912249bc54803f055 (patch) | |
tree | 267c28970649cc3d0bbeee4de78c18b4015edac0 /xen/include/xen/serial.h | |
parent | 23045cfe5099a0ff211b31b69073d907f2f221fd (diff) | |
download | xen-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.h | 5 |
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); |