From dac18f66fb18ebadf6f050d9c5c055a82855e8f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibaut=20VAR=C3=88NE?= Date: Wed, 13 May 2020 18:43:30 +0200 Subject: [PATCH] generic: routerboot sysfs: move tag_show_string() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This routine will be shared between hard and soft config drivers. Also use scnprintf() instead of snprintf(). Tested-by: Koen Vandeputte Tested-by: Roger Pueyo Centelles Signed-off-by: Thibaut VARĂˆNE --- .../drivers/platform/mikrotik/rb_hardconfig.c | 17 ++++++----------- .../drivers/platform/mikrotik/routerboot.c | 7 +++++++ .../drivers/platform/mikrotik/routerboot.h | 2 ++ 3 files changed, 15 insertions(+), 11 deletions(-) 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 4bcbb75e6f..bef71a0b5f 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 36ca90c1ad..96a100a933 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 c75f61ebbf..e1ae972183 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_ */