[PATCH 24/32] drivers/gpio: Stop using 32-bit MSR interfaces
From: Juergen Gross
Date: Mon Jun 29 2026 - 02:10:33 EST
The 32-bit MSR interfaces rdmsr() and wrmsr() are planned to be
removed. Use the related 64-bit variants instead.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
drivers/gpio/gpio-cs5535.c | 10 +++++-----
include/linux/cs5535.h | 10 +++++-----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/gpio/gpio-cs5535.c b/drivers/gpio/gpio-cs5535.c
index 5f5373d86397..a97ec7561889 100644
--- a/drivers/gpio/gpio-cs5535.c
+++ b/drivers/gpio/gpio-cs5535.c
@@ -143,17 +143,17 @@ EXPORT_SYMBOL_GPL(cs5535_gpio_isset);
int cs5535_gpio_set_irq(unsigned group, unsigned irq)
{
- uint32_t lo, hi;
+ struct msr val;
if (group > 7 || irq > 15)
return -EINVAL;
- rdmsr(MSR_PIC_ZSEL_HIGH, lo, hi);
+ rdmsrq(MSR_PIC_ZSEL_HIGH, val.q);
- lo &= ~(0xF << (group * 4));
- lo |= (irq & 0xF) << (group * 4);
+ val.l &= ~(0xF << (group * 4));
+ val.l |= (irq & 0xF) << (group * 4);
- wrmsr(MSR_PIC_ZSEL_HIGH, lo, hi);
+ wrmsrq(MSR_PIC_ZSEL_HIGH, val.q);
return 0;
}
EXPORT_SYMBOL_GPL(cs5535_gpio_set_irq);
diff --git a/include/linux/cs5535.h b/include/linux/cs5535.h
index 2be1120174eb..5ec2aca537bb 100644
--- a/include/linux/cs5535.h
+++ b/include/linux/cs5535.h
@@ -49,12 +49,12 @@
static inline int cs5535_pic_unreqz_select_high(unsigned int group,
unsigned int irq)
{
- uint32_t lo, hi;
+ struct msr val;
- rdmsr(MSR_PIC_ZSEL_HIGH, lo, hi);
- lo &= ~(0xF << (group * 4));
- lo |= (irq & 0xF) << (group * 4);
- wrmsr(MSR_PIC_ZSEL_HIGH, lo, hi);
+ rdmsrq(MSR_PIC_ZSEL_HIGH, val.q);
+ val.l &= ~(0xF << (group * 4));
+ val.l |= (irq & 0xF) << (group * 4);
+ wrmsrq(MSR_PIC_ZSEL_HIGH, val.q);
return 0;
}
--
2.54.0