Browse Source

generic: routerboot sysfs: move tag_show_string()

This routine will be shared between hard and soft config drivers.
Also use scnprintf() instead of snprintf().

Tested-by: Koen Vandeputte <[email protected]>
Tested-by: Roger Pueyo Centelles <[email protected]>
Signed-off-by: Thibaut VARÈNE <[email protected]>
Thibaut VARÈNE 5 years ago
parent
commit
dac18f66fb

+ 6 - 11
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),
 	}
 };

+ 7 - 0
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);
 

+ 2 - 0
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_ */