[PATCH 28/32] x86/olpc: Stop using 32-bit MSR interfaces
From: Juergen Gross
Date: Mon Jun 29 2026 - 02:11:24 EST
The 32-bit MSR interface rdmsr() is planned to be removed. Use the
related 64-bit variant instead.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
arch/x86/platform/olpc/olpc-xo1-sci.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/x86/platform/olpc/olpc-xo1-sci.c b/arch/x86/platform/olpc/olpc-xo1-sci.c
index 30751b42d54e..97eb4738d602 100644
--- a/arch/x86/platform/olpc/olpc-xo1-sci.c
+++ b/arch/x86/platform/olpc/olpc-xo1-sci.c
@@ -311,12 +311,13 @@ static int xo1_sci_resume(struct platform_device *pdev)
static int setup_sci_interrupt(struct platform_device *pdev)
{
- u32 lo, hi;
+ u64 msr;
+ u32 lo;
u32 sts;
int r;
- rdmsr(0x51400020, lo, hi);
- sci_irq = (lo >> 20) & 15;
+ rdmsrq(0x51400020, msr);
+ sci_irq = (msr >> 20) & 15;
if (sci_irq) {
dev_info(&pdev->dev, "SCI is mapped to IRQ %d\n", sci_irq);
@@ -324,8 +325,8 @@ static int setup_sci_interrupt(struct platform_device *pdev)
/* Zero means masked */
dev_info(&pdev->dev, "SCI unmapped. Mapping to IRQ 3\n");
sci_irq = 3;
- lo |= 0x00300000;
- wrmsrq(0x51400020, lo);
+ msr |= 0x00300000;
+ wrmsrq(0x51400020, msr);
}
/* Select level triggered in PIC */
--
2.54.0