aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/printk/braille.c
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2013-07-31 16:53:45 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-31 17:41:03 -0400
commitbbeddf52adc1b4207674ab88686cbbe58c24f721 (patch)
treeb5cc2fe8f140e340407e2daa8b1ab2ba63ae00f4 /kernel/printk/braille.c
parentd197c43d04decb6b1298fa3ef26ea04a9ca7c977 (diff)
printk: move braille console support into separate braille.[ch] files
Create files with prototypes and static inlines for braille support. Make braille_console functions return 1 on success. Corrected CONFIG_A11Y_BRAILLE_CONSOLE=n _braille_console_setup return value to NULL. Signed-off-by: Joe Perches <joe@perches.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Cc: Ming Lei <ming.lei@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/printk/braille.c')
-rw-r--r--kernel/printk/braille.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/kernel/printk/braille.c b/kernel/printk/braille.c
new file mode 100644
index 000000000000..b51087fb9ace
--- /dev/null
+++ b/kernel/printk/braille.c
@@ -0,0 +1,48 @@
1#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
2
3#include <linux/kernel.h>
4#include <linux/console.h>
5#include <linux/string.h>
6
7#include "console_cmdline.h"
8#include "braille.h"
9
10char *_braille_console_setup(char **str, char **brl_options)
11{
12 if (!memcmp(*str, "brl,", 4)) {
13 *brl_options = "";
14 *str += 4;
15 } else if (!memcmp(str, "brl=", 4)) {
16 *brl_options = *str + 4;
17 *str = strchr(*brl_options, ',');
18 if (!*str)
19 pr_err("need port name after brl=\n");
20 else
21 *((*str)++) = 0;
22 }
23
24 return *str;
25}
26
27int
28_braille_register_console(struct console *console, struct console_cmdline *c)
29{
30 int rtn = 0;
31
32 if (c->brl_options) {
33 console->flags |= CON_BRL;
34 rtn = braille_register_console(console, c->index, c->options,
35 c->brl_options);
36 }
37
38 return rtn;
39}
40
41int
42_braille_unregister_console(struct console *console)
43{
44 if (console->flags & CON_BRL)
45 return braille_unregister_console(console);
46
47 return 0;
48}