Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4230
b: refs/heads/master
c: d5ee257
h: refs/heads/master
v: v3
  • Loading branch information
Milton Miller authored and Linus Torvalds committed Jul 8, 2005
1 parent ed31919 commit 131f5a2
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7805b1b29ffdd252dfef36aa28d7bda70cd586d3
refs/heads/master: d5ee257c3342185ba8ab642d125d192eb99ea8f2
3 changes: 2 additions & 1 deletion trunk/arch/ppc64/kernel/hvconsole.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ EXPORT_SYMBOL(hvc_put_chars);
* We hope/assume that the first vty found corresponds to the first console
* device.
*/
int hvc_find_vtys(void)
static int hvc_find_vtys(void)
{
struct device_node *vty;
int num_found = 0;
Expand All @@ -119,3 +119,4 @@ int hvc_find_vtys(void)

return num_found;
}
console_initcall(hvc_find_vtys);
24 changes: 22 additions & 2 deletions trunk/drivers/char/hvc_console.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,10 +219,23 @@ struct console hvc_con_driver = {
.index = -1,
};

/* Early console initialization. Preceeds driver initialization. */
/*
* Early console initialization. Preceeds driver initialization.
*
* (1) we are first, and the user specified another driver
* -- index will remain -1
* (2) we are first and the user specified no driver
* -- index will be set to 0, then we will fail setup.
* (3) we are first and the user specified our driver
* -- index will be set to user specified driver, and we will fail
* (4) we are after driver, and this initcall will register us
* -- if the user didn't specify a driver then the console will match
*
* Note that for cases 2 and 3, we will match later when the io driver
* calls hvc_instantiate() and call register again.
*/
static int __init hvc_console_init(void)
{
hvc_find_vtys();
register_console(&hvc_con_driver);
return 0;
}
Expand Down Expand Up @@ -257,6 +270,13 @@ int hvc_instantiate(uint32_t vtermno, int index)
if (last_hvc < index)
last_hvc = index;

/* if this index is what the user requested, then register
* now (setup won't fail at this point). It's ok to just
* call register again if previously .setup failed.
*/
if (index == hvc_con_driver.index)
register_console(&hvc_con_driver);

return 0;
}

Expand Down
5 changes: 1 addition & 4 deletions trunk/include/asm-ppc64/hvconsole.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@
extern int hvc_get_chars(uint32_t vtermno, char *buf, int count);
extern int hvc_put_chars(uint32_t vtermno, const char *buf, int count);

/* Early discovery of console adapters. */
extern int hvc_find_vtys(void);

/* Implemented by a console driver */
/* Register a vterm and a slot index for use as a console */
extern int hvc_instantiate(uint32_t vtermno, int index);
#endif /* _PPC64_HVCONSOLE_H */

0 comments on commit 131f5a2

Please sign in to comment.