summaryrefslogtreecommitdiffstats
path: root/common/console.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2013-09-20 05:31:29 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-09-21 09:59:16 +0200
commite62d4255172540805a77fee1c58382103f43bb2f (patch)
tree0ddacc55738ce750d1164501cfd30ed1b6ab7120 /common/console.c
parentfe4117357f8f304a08b957eded8ede9db8dafdcf (diff)
downloadbarebox-e62d4255172540805a77fee1c58382103f43bb2f.tar.gz
barebox-e62d4255172540805a77fee1c58382103f43bb2f.tar.xz
console: drop f_caps and check the function pointer getc/putc instead
None of the driver make the difference between STDOUT and STDERR. So we just need to check if putc or getc are filled in the console_device save 32 bytes on versatilepb Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/console.c')
-rw-r--r--common/console.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/common/console.c b/common/console.c
index 6ca94e2a02..4ca5f1809f 100644
--- a/common/console.c
+++ b/common/console.c
@@ -63,19 +63,21 @@ static int console_std_set(struct device_d *dev, struct param_d *param,
unsigned int flag = 0, i = 0;
if (val) {
- if (strchr(val, 'i') && cdev->f_caps & CONSOLE_STDIN) {
+ if (strchr(val, 'i') && cdev->getc) {
active[i++] = 'i';
flag |= CONSOLE_STDIN;
}
- if (strchr(val, 'o') && cdev->f_caps & CONSOLE_STDOUT) {
- active[i++] = 'o';
- flag |= CONSOLE_STDOUT;
- }
+ if (cdev->putc) {
+ if (strchr(val, 'o')) {
+ active[i++] = 'o';
+ flag |= CONSOLE_STDOUT;
+ }
- if (strchr(val, 'e') && cdev->f_caps & CONSOLE_STDERR) {
- active[i++] = 'e';
- flag |= CONSOLE_STDERR;
+ if (strchr(val, 'e')) {
+ active[i++] = 'e';
+ flag |= CONSOLE_STDERR;
+ }
}
}