Thread (9 messages) flat view 9 messages, 4 authors, 2016-07-27
STALE3708d

[PATCH V2 2/2] tty/hvc: Use opal irqchip interface if available

From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Date: 2016-07-11 03:40:15
Also in: stable
Subsystem: hypervisor virtual console driver, linux for powerpc (32-bit and 64-bit), the rest, tty layer and serial drivers · Maintainers: Madhavan Srinivasan, Linus Torvalds, Greg Kroah-Hartman, Jiri Slaby

Update the hvc driver to use the OPAL irqchip if made available by the
running firmware. If it is not present, the driver falls back to the
existing OPAL event number.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Cc: <redacted> # 4.1.x-
---
v2: Always try irq_of_parse_and_map before falling back

 drivers/tty/hvc/hvc_opal.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
index b7cd0ae..5107993 100644
--- a/drivers/tty/hvc/hvc_opal.c
+++ b/drivers/tty/hvc/hvc_opal.c
@@ -214,7 +214,13 @@ static int hvc_opal_probe(struct platform_device *dev)
 		dev->dev.of_node->full_name,
 		boot ? " (boot console)" : "");
 
-	irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT));
+	irq = irq_of_parse_and_map(dev->dev.of_node, 0);
+	if (!irq) {
+		pr_info("hvc%d: No interrupts property, using OPAL event\n",
+				termno);
+		irq = opal_event_request(ilog2(OPAL_EVENT_CONSOLE_INPUT));
+	}
+
 	if (!irq) {
 		pr_err("hvc_opal: Unable to map interrupt for device %s\n",
 			dev->dev.of_node->full_name);
-- 
2.9.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help