]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: zevio: allow COMPILE_TEST builds
authorRosen Penev <rosenp@gmail.com>
Sat, 9 May 2026 00:34:38 +0000 (17:34 -0700)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 11 May 2026 10:14:37 +0000 (12:14 +0200)
The ZEVIO GPIO driver uses generic platform, MMIO, and gpiolib interfaces.
Allow it to build with COMPILE_TEST so it gets coverage on non-ARM
platforms.

Drop the ARM-specific IOMEM() casts around the register pointer.  The
pointer is already __iomem, so readl() and writel() can use it directly.

Tested with:
make LLVM=1 ARCH=loongarch drivers/gpio/gpio-zevio.o

Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20260509003438.956051-1-rosenp@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/Kconfig
drivers/gpio/gpio-zevio.c

index 8ae6a423da6d52a64f0ce2894df5908842776c20..cf2e34c4bf5677c15591aaef2d850c0b9d4e47bc 100644 (file)
@@ -869,7 +869,7 @@ config GPIO_XTENSA
 
 config GPIO_ZEVIO
        bool "LSI ZEVIO SoC memory mapped GPIOs"
-       depends on ARM
+       depends on ARM || COMPILE_TEST
        help
          Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
 
index 29375bea2289b55f2d9ccc1288e9b9cbeb8efab6..af0158522ac5d1c50f8f7ee914fae934627dcb1e 100644 (file)
@@ -64,14 +64,14 @@ static inline u32 zevio_gpio_port_get(struct zevio_gpio *c, unsigned pin,
                                        unsigned port_offset)
 {
        unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
-       return readl(IOMEM(c->regs + section_offset + port_offset));
+       return readl(c->regs + section_offset + port_offset);
 }
 
 static inline void zevio_gpio_port_set(struct zevio_gpio *c, unsigned pin,
                                        unsigned port_offset, u32 val)
 {
        unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
-       writel(val, IOMEM(c->regs + section_offset + port_offset));
+       writel(val, c->regs + section_offset + port_offset);
 }
 
 /* Functions for struct gpio_chip */