diff options
author | Timur Tabi <timur@freescale.com> | 2011-08-25 13:06:57 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-08-26 11:01:15 -0700 |
commit | 191c5cf1ffc8acf61cd2d2407052ced1a1116130 (patch) | |
tree | 9b856f76de9c4946ca53372ecde26d9dd0d92f49 /drivers/tty/ehv_bytechan.c | |
parent | da4e40e271a30ecf8b87f70619cca93c25ed0199 (diff) | |
download | linux-191c5cf1ffc8acf61cd2d2407052ced1a1116130.tar.bz2 |
tty/powerpc: fix build break with ehv_bytechan.c on allyesconfig
The ePAPR hypervisor byte channel driver is supposed to work on all
ePAPR-compliant embedded PowerPC systems, but it had a reference to the MSR_GS
bit, which is available only on Book-E systems.
Also fix a couple integer-to-pointer typecast problems.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/ehv_bytechan.c')
-rw-r--r-- | drivers/tty/ehv_bytechan.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/tty/ehv_bytechan.c b/drivers/tty/ehv_bytechan.c index e67f70bbf0ac..f733718bf8e7 100644 --- a/drivers/tty/ehv_bytechan.c +++ b/drivers/tty/ehv_bytechan.c @@ -226,10 +226,6 @@ void __init udbg_init_ehv_bc(void) unsigned int rx_count, tx_count; unsigned int ret; - /* Check if we're running as a guest of a hypervisor */ - if (!(mfmsr() & MSR_GS)) - return; - /* Verify the byte channel handle */ ret = ev_byte_channel_poll(CONFIG_PPC_EARLY_DEBUG_EHV_BC_HANDLE, &rx_count, &tx_count); @@ -286,7 +282,7 @@ static int ehv_bc_console_byte_channel_send(unsigned int handle, const char *s, static void ehv_bc_console_write(struct console *co, const char *s, unsigned int count) { - unsigned int handle = (unsigned int)co->data; + unsigned int handle = (uintptr_t)co->data; char s2[EV_BYTE_CHANNEL_MAX_BYTES]; unsigned int i, j = 0; char c; @@ -352,7 +348,7 @@ static int __init ehv_bc_console_init(void) CONFIG_PPC_EARLY_DEBUG_EHV_BC_HANDLE); #endif - ehv_bc_console.data = (void *)stdout_bc; + ehv_bc_console.data = (void *)(uintptr_t)stdout_bc; /* add_preferred_console() must be called before register_console(), otherwise it won't work. However, we don't want to enumerate all the |