9
0
Fork 0

console: factorise function to get the first enabled console

rename it to console_get_first_active

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2013-10-03 09:21:53 +02:00 committed by Sascha Hauer
parent 651a23a69e
commit 6a5121f748
5 changed files with 28 additions and 46 deletions

View File

@ -70,9 +70,7 @@ static int fdt_stdout_setup(struct device_node *blob)
goto error; goto error;
} }
for_each_console(cdev) cdev = console_get_first_active();
if ((cdev->f_active & (CONSOLE_STDIN | CONSOLE_STDOUT)))
break;
if (cdev) if (cdev)
sprintf(sername, "serial%d", cdev->dev->id); sprintf(sername, "serial%d", cdev->dev->id);
else else

View File

@ -590,26 +590,6 @@ err_quit:
return size; return size;
} }
/**
* @brief returns current used console device
*
* @return console device which is registered with CONSOLE_STDIN and
* CONSOLE_STDOUT
*/
static struct console_device *get_current_console(void)
{
struct console_device *cdev;
/*
* Assumption to have BOTH CONSOLE_STDIN AND STDOUT in the
* same output console
*/
for_each_console(cdev) {
if ((cdev->f_active & (CONSOLE_STDIN | CONSOLE_STDOUT)))
return cdev;
}
return NULL;
}
/** /**
* @brief provide the loadb(Kermit) or loadY mode support * @brief provide the loadb(Kermit) or loadY mode support
* *
@ -650,7 +630,7 @@ static int do_load_serial_bin(int argc, char *argv[])
} }
} }
cdev = get_current_console(); cdev = console_get_first_active();
if (NULL == cdev) { if (NULL == cdev) {
printf("%s:No console device with STDIN and STDOUT\n", argv[0]); printf("%s:No console device with STDIN and STDOUT\n", argv[0]);
return -ENODEV; return -ENODEV;

View File

@ -40,26 +40,6 @@
#define DEF_FILE "image.bin" #define DEF_FILE "image.bin"
/**
* @brief returns current used console device
*
* @return console device which is registered with CONSOLE_STDIN and
* CONSOLE_STDOUT
*/
static struct console_device *get_current_console(void)
{
struct console_device *cdev;
/*
* Assumption to have BOTH CONSOLE_STDIN AND STDOUT in the
* same output console
*/
for_each_console(cdev) {
if ((cdev->f_active & (CONSOLE_STDIN | CONSOLE_STDOUT)))
return cdev;
}
return NULL;
}
static int console_change_speed(struct console_device *cdev, int baudrate) static int console_change_speed(struct console_device *cdev, int baudrate)
{ {
int current_baudrate; int current_baudrate;
@ -134,7 +114,7 @@ static int do_loady(int argc, char *argv[])
if (cname) if (cname)
cdev = get_named_console(cname); cdev = get_named_console(cname);
else else
cdev = get_current_console(); cdev = console_get_first_active();
if (!cdev) { if (!cdev) {
printf("%s:No console device %s with STDIN and STDOUT\n", printf("%s:No console device %s with STDIN and STDOUT\n",
argv[0], cname ? cname : "default"); argv[0], cname ? cname : "default");
@ -202,7 +182,7 @@ static int do_loadx(int argc, char *argv[])
if (cname) if (cname)
cdev = get_named_console(cname); cdev = get_named_console(cname);
else else
cdev = get_current_console(); cdev = console_get_first_active();
if (!cdev) { if (!cdev) {
printf("%s:No console device %s with STDIN and STDOUT\n", printf("%s:No console device %s with STDIN and STDOUT\n",
argv[0], cname ? cname : "default"); argv[0], cname ? cname : "default");

View File

@ -108,3 +108,25 @@ int fputc(int fd, char c)
return 0; return 0;
} }
EXPORT_SYMBOL(fputc); EXPORT_SYMBOL(fputc);
/*
* @brief returns current used console device
*
* @return console device which is registered with CONSOLE_STDIN and
* CONSOLE_STDOUT
*/
struct console_device *console_get_first_active(void)
{
struct console_device *cdev;
/*
* Assumption to have BOTH CONSOLE_STDIN AND STDOUT in the
* same output console
*/
for_each_console(cdev) {
if ((cdev->f_active & (CONSOLE_STDIN | CONSOLE_STDOUT)))
return cdev;
}
return NULL;
}
EXPORT_SYMBOL(console_get_first_active);

View File

@ -53,4 +53,6 @@ extern struct list_head console_list;
#define CFG_PBSIZE (CONFIG_CBSIZE+sizeof(CONFIG_PROMPT)+16) #define CFG_PBSIZE (CONFIG_CBSIZE+sizeof(CONFIG_PROMPT)+16)
struct console_device *console_get_first_active(void);
#endif #endif