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 <koen.vandeputte@ncentric.com>
Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
master
Thibaut VARÈNE 2020-05-13 18:43:30 +02:00 committed by Koen Vandeputte
parent 39ec3c5986
commit dac18f66fb
3 changed files with 15 additions and 11 deletions

View File

@ -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),
}
};

View File

@ -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);

View File

@ -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_ */