}
 
 /**
- * parse_prefix - Parse level and control flags.
+ * printk_parse_prefix - Parse level and control flags.
  *
  * @text:     The terminated text message.
  * @level:    A pointer to the current level value, will be updated.
  *
  * Return: The length of the parsed level and control flags.
  */
-static u16 parse_prefix(char *text, int *level,
+u16 printk_parse_prefix(const char *text, int *level,
                        enum printk_info_flags *flags)
 {
        u16 prefix_len = 0;
        if (facility == 0) {
                u16 prefix_len;
 
-               prefix_len = parse_prefix(text, NULL, NULL);
+               prefix_len = printk_parse_prefix(text, NULL, NULL);
                if (prefix_len) {
                        text_len -= prefix_len;
                        memmove(text, text + prefix_len, text_len);
 
        /* Extract log level or control flags. */
        if (facility == 0)
-               parse_prefix(&prefix_buf[0], &level, &flags);
+               printk_parse_prefix(&prefix_buf[0], &level, &flags);
 
        if (level == LOGLEVEL_DEFAULT)
                level = default_message_loglevel;