linux/kernel/printk/braille.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
   3
   4#include <linux/kernel.h>
   5#include <linux/console.h>
   6#include <linux/errno.h>
   7#include <linux/string.h>
   8
   9#include "console_cmdline.h"
  10#include "braille.h"
  11
  12int _braille_console_setup(char **str, char **brl_options)
  13{
  14        if (!strncmp(*str, "brl,", 4)) {
  15                *brl_options = "";
  16                *str += 4;
  17        } else if (!strncmp(*str, "brl=", 4)) {
  18                *brl_options = *str + 4;
  19                *str = strchr(*brl_options, ',');
  20                if (!*str) {
  21                        pr_err("need port name after brl=\n");
  22                        return -EINVAL;
  23                }
  24                *((*str)++) = 0;
  25        }
  26
  27        return 0;
  28}
  29
  30int
  31_braille_register_console(struct console *console, struct console_cmdline *c)
  32{
  33        int rtn = 0;
  34
  35        if (c->brl_options) {
  36                console->flags |= CON_BRL;
  37                rtn = braille_register_console(console, c->index, c->options,
  38                                               c->brl_options);
  39        }
  40
  41        return rtn;
  42}
  43
  44int
  45_braille_unregister_console(struct console *console)
  46{
  47        if (console->flags & CON_BRL)
  48                return braille_unregister_console(console);
  49
  50        return 0;
  51}
  52