[PATCH 3/4] tty: goldfish: move gf_write_ptr() to tty/goldfish.c

From: Jiri Slaby (SUSE)

Date: Fri Jul 03 2026 - 05:00:05 EST


tty/goldfish.c is the only user of gf_write_ptr(). Move it there, drop
the unneeded casts, and name it appropriately.

FTR, the last non-tty user was removed in 2018 by 4ae0fe70a097 ("Delete
the goldfish_nand driver.").

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx>
---
drivers/tty/goldfish.c | 13 +++++++++++--
include/linux/goldfish.h | 13 -------------
2 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/drivers/tty/goldfish.c b/drivers/tty/goldfish.c
index 69367d878877..c643d76e9d1b 100644
--- a/drivers/tty/goldfish.c
+++ b/drivers/tty/goldfish.c
@@ -17,6 +17,7 @@
#include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <linux/serial_core.h>
+#include <linux/wordpart.h>

/* Goldfish tty register's offsets */
#define GOLDFISH_TTY_REG_BYTES_READY 0x04
@@ -48,6 +49,14 @@ static u32 goldfish_tty_line_count = 8;
static u32 goldfish_tty_current_line_count;
static struct goldfish_tty *goldfish_ttys;

+static inline void gf_write_addr(unsigned long addr, void __iomem *portl, void __iomem *porth)
+{
+ gf_iowrite32(lower_32_bits(addr), portl);
+#ifdef CONFIG_64BIT
+ gf_iowrite32(upper_32_bits(addr), porth);
+#endif
+}
+
static void do_rw_io(struct goldfish_tty *qtty, unsigned long address,
size_t count, bool is_write)
{
@@ -55,8 +64,8 @@ static void do_rw_io(struct goldfish_tty *qtty, unsigned long address,
void __iomem *base = qtty->base;

spin_lock_irqsave(&qtty->lock, irq_flags);
- gf_write_ptr((void *)address, base + GOLDFISH_TTY_REG_DATA_PTR,
- base + GOLDFISH_TTY_REG_DATA_PTR_HIGH);
+ gf_write_addr(address, base + GOLDFISH_TTY_REG_DATA_PTR,
+ base + GOLDFISH_TTY_REG_DATA_PTR_HIGH);
gf_iowrite32(count, base + GOLDFISH_TTY_REG_DATA_LEN);

if (is_write)
diff --git a/include/linux/goldfish.h b/include/linux/goldfish.h
index 40a059e03d78..98a4719c6776 100644
--- a/include/linux/goldfish.h
+++ b/include/linux/goldfish.h
@@ -2,8 +2,6 @@
#ifndef __LINUX_GOLDFISH_H
#define __LINUX_GOLDFISH_H

-#include <linux/kernel.h>
-#include <linux/types.h>
#include <linux/io.h>

/* Helpers for Goldfish virtual platform */
@@ -15,15 +13,4 @@
#define gf_iowrite32 iowrite32
#endif

-static inline void gf_write_ptr(const void *ptr, void __iomem *portl,
- void __iomem *porth)
-{
- const unsigned long addr = (unsigned long)ptr;
-
- gf_iowrite32(lower_32_bits(addr), portl);
-#ifdef CONFIG_64BIT
- gf_iowrite32(upper_32_bits(addr), porth);
-#endif
-}
-
#endif /* __LINUX_GOLDFISH_H */
--
2.54.0