[PATCH 3/4] bsps/riscv: UART - Comment code that queries UART interrupts

Hesham Almatary Hesham.Almatary at cl.cam.ac.uk
Sun Mar 31 14:33:30 UTC 2019


* Different RISC-V DTBs use different names for UART interrupts such as
"interrupts" and "interrupts-extended", so it is not portable.
* polling functions are currently used, so there is no need to query interrupts.
---
 bsps/riscv/riscv/console/console-config.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/bsps/riscv/riscv/console/console-config.c b/bsps/riscv/riscv/console/console-config.c
index 04d0b28361..81e46f304f 100644
--- a/bsps/riscv/riscv/console/console-config.c
+++ b/bsps/riscv/riscv/console/console-config.c
@@ -183,13 +183,20 @@ static void riscv_console_probe(void)
 
       ctx->clock = fdt32_to_cpu(val[0]);
 
-      val = (fdt32_t *) fdt_getprop(fdt, node, "interrupts", &len);
+      /* XXX Different RISC-V DTBs use different property names for interrupt
+      sources. If an interrupt-driven driver is needed, uncomment, replace the
+      "interrupts-extended" string below with your target's DTB name for UART
+      interrupts, and use interrupt-driven UART functions instead of
+      ns16550_polled_* functions */
+
+      /* val = (fdt32_t *) fdt_getprop(fdt, node, "interrupts-extended", &len);
 
       if (val == NULL || len != 4) {
         bsp_fatal(RISCV_FATAL_NO_NS16550_INTERRUPTS_IN_DEVICE_TREE);
       }
 
       ctx->irq = RISCV_INTERRUPT_VECTOR_EXTERNAL(fdt32_to_cpu(val[0]));
+      */
 
       if (node == console_node) {
         riscv_console.context = &ctx->base;
-- 
2.17.1



More information about the devel mailing list