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:
parent
651a23a69e
commit
6a5121f748
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue