提交 3de66a17 编写于 作者: G Grant Likely

[POWERPC] Eliminate broken OF console initialization.

Probing of the console at console_initcall time is broken.  It tries to
call memory allocation routines which aren't initialized yet.

Problem solved by removing the early probe entirely.  The console init
is called again anyway after the uartlite device is initialized and the
memory allocation routines can be called safely.
Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
Acked-by: NPeter Korsgaard <jacmet@sunsite.dk>
上级 0e349b0e
...@@ -389,32 +389,6 @@ static void ulite_console_write(struct console *co, const char *s, ...@@ -389,32 +389,6 @@ static void ulite_console_write(struct console *co, const char *s,
spin_unlock_irqrestore(&port->lock, flags); spin_unlock_irqrestore(&port->lock, flags);
} }
#if defined(CONFIG_OF)
static inline void __init ulite_console_of_find_device(int id)
{
struct device_node *np;
struct resource res;
const unsigned int *of_id;
int rc;
for_each_matching_node(np, ulite_of_match) {
of_id = of_get_property(np, "port-number", NULL);
if ((!of_id) || (*of_id != id))
continue;
rc = of_address_to_resource(np, 0, &res);
if (rc)
continue;
ulite_ports[id].mapbase = res.start;
of_node_put(np);
return;
}
}
#else /* CONFIG_OF */
static inline void __init ulite_console_of_find_device(int id) { /* do nothing */ }
#endif /* CONFIG_OF */
static int __init ulite_console_setup(struct console *co, char *options) static int __init ulite_console_setup(struct console *co, char *options)
{ {
struct uart_port *port; struct uart_port *port;
...@@ -428,11 +402,7 @@ static int __init ulite_console_setup(struct console *co, char *options) ...@@ -428,11 +402,7 @@ static int __init ulite_console_setup(struct console *co, char *options)
port = &ulite_ports[co->index]; port = &ulite_ports[co->index];
/* Check if it is an OF device */ /* Has the device been initialized yet? */
if (!port->mapbase)
ulite_console_of_find_device(co->index);
/* Do we have a device now? */
if (!port->mapbase) { if (!port->mapbase) {
pr_debug("console on ttyUL%i not present\n", co->index); pr_debug("console on ttyUL%i not present\n", co->index);
return -ENODEV; return -ENODEV;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册