[PATCH] powerpc: Make early debugging configurable via Kconfig
This patch adds Kconfig entries to control the early debugging options, currently in setup_64.c. Doing this via Kconfig rather than #defines means you can have one source tree, which is buildable for multiple platforms - and you can enable the correct early debug option for each platform via .config. I made udbg_early_init() a static inline because otherwise GCC is to daft to optimise it away when debugging is off. Now that we have udbg_init_rtas() we can make call_rtas_display_status* static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
bf6a7112bd
commit
296167ae17
@ -29,6 +29,7 @@
|
||||
#include <asm/delay.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/lmb.h>
|
||||
#include <asm/udbg.h>
|
||||
|
||||
struct rtas_t rtas = {
|
||||
.lock = SPIN_LOCK_UNLOCKED
|
||||
@ -52,7 +53,7 @@ EXPORT_SYMBOL(rtas_flash_term_hook);
|
||||
* are designed only for very early low-level debugging, which
|
||||
* is why the token is hard-coded to 10.
|
||||
*/
|
||||
void call_rtas_display_status(unsigned char c)
|
||||
static void call_rtas_display_status(char c)
|
||||
{
|
||||
struct rtas_args *args = &rtas.args;
|
||||
unsigned long s;
|
||||
@ -65,14 +66,14 @@ void call_rtas_display_status(unsigned char c)
|
||||
args->nargs = 1;
|
||||
args->nret = 1;
|
||||
args->rets = (rtas_arg_t *)&(args->args[1]);
|
||||
args->args[0] = (int)c;
|
||||
args->args[0] = (unsigned char)c;
|
||||
|
||||
enter_rtas(__pa(args));
|
||||
|
||||
spin_unlock_irqrestore(&rtas.lock, s);
|
||||
}
|
||||
|
||||
void call_rtas_display_status_delay(unsigned char c)
|
||||
static void call_rtas_display_status_delay(char c)
|
||||
{
|
||||
static int pending_newline = 0; /* did last write end with unprinted newline? */
|
||||
static int width = 16;
|
||||
@ -96,6 +97,11 @@ void call_rtas_display_status_delay(unsigned char c)
|
||||
}
|
||||
}
|
||||
|
||||
void __init udbg_init_rtas(void)
|
||||
{
|
||||
udbg_putc = call_rtas_display_status_delay;
|
||||
}
|
||||
|
||||
void rtas_progress(char *s, unsigned short hex)
|
||||
{
|
||||
struct device_node *root;
|
||||
|
Reference in New Issue
Block a user