diff --git a/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c b/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
index 4bcbb75e6f0218ee60e67ecfe2457606fc1831d5..bef71a0b5ffdfc516f273bef9172cbd15ea52daa 100644
--- a/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
+++ b/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
@@ -310,11 +310,6 @@ static struct hc_hwopt {
 	},
 };
 
-static ssize_t hc_tag_show_string(const u8 *pld, u16 pld_len, char *buf)
-{
-	return snprintf(buf, pld_len+1, "%s\n", pld);
-}
-
 static ssize_t hc_tag_show_u32(const u8 *pld, u16 pld_len, char *buf)
 {
 	char *out = buf;
@@ -402,15 +397,15 @@ static struct hc_attr {
 		.kattr = __ATTR(mac_base, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_BOARD_PRODUCT_CODE,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(board_product_code, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_BIOS_VERSION,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(booter_version, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_SERIAL_NUMBER,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(board_serial, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_MEMORY_SIZE,
@@ -429,15 +424,15 @@ static struct hc_attr {
 		.tshow = NULL,
 	}, {
 		.tag_id = RB_ID_BOARD_IDENTIFIER,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(board_identifier, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_PRODUCT_NAME,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(product_name, S_IRUSR, hc_attr_show, NULL),
 	}, {
 		.tag_id = RB_ID_DEFCONF,
-		.tshow = hc_tag_show_string,
+		.tshow = routerboot_tag_show_string,
 		.kattr = __ATTR(defconf, S_IRUSR, hc_attr_show, NULL),
 	}
 };
diff --git a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
index 36ca90c1adeaa0d768da031bf9ac74c3b76a824e..96a100a933c9f0d29d1640023fc2c79f4bc95318 100644
--- a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
+++ b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
@@ -175,6 +175,13 @@ static void __exit routerboot_exit(void)
 	kobject_put(rb_kobj);	// recursive afaict
 }
 
+/* Common routines */
+
+ssize_t routerboot_tag_show_string(const u8 *pld, u16 pld_len, char *buf)
+{
+	return scnprintf(buf, pld_len+1, "%s\n", pld);
+}
+
 module_init(routerboot_init);
 module_exit(routerboot_exit);
 
diff --git a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.h b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.h
index c75f61ebbf6a28a3fca7c6e0bb683985315fc9a1..e1ae972183e8a6a65555ad7e54010258ff32caa7 100644
--- a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.h
+++ b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.h
@@ -28,4 +28,6 @@ int routerboot_rle_decode(const u8 *in, size_t inlen, u8 *out, size_t *outlen);
 int __init rb_hardconfig_init(struct kobject *rb_kobj);
 void __exit rb_hardconfig_exit(void);
 
+ssize_t routerboot_tag_show_string(const u8 *pld, u16 pld_len, char *buf);
+
 #endif /* _ROUTERBOOT_H_ */