aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/process_32.c
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2014-05-16 23:25:43 +0200
committerDavid S. Miller <davem@davemloft.net>2014-05-18 19:01:27 -0700
commitd2aca8f9a64c26dcd9b3eb27db949f830eb80b28 (patch)
tree947028ac39abd24dbd624dc5108ad35f92a146cd /arch/sparc/kernel/process_32.c
parentsparc32: fix sparse warnings in pcic.c (diff)
downloadlinux-dev-d2aca8f9a64c26dcd9b3eb27db949f830eb80b28.tar.xz
linux-dev-d2aca8f9a64c26dcd9b3eb27db949f830eb80b28.zip
sparc32: fix sparse warning in auxio_32.c
Fix following warning: auxio_32.c:133:33: warning: cast removes address space of expression To fix this auxio_power_register had to be defined as u8 _iomem. Use proper sbus operations on the pointer. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/process_32.c')
-rw-r--r--arch/sparc/kernel/process_32.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
index 61f810b0a9d9..50e7b626afe8 100644
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -106,8 +106,12 @@ void machine_restart(char * cmd)
void machine_power_off(void)
{
if (auxio_power_register &&
- (strcmp(of_console_device->type, "serial") || scons_pwroff))
- *auxio_power_register |= AUXIO_POWER_OFF;
+ (strcmp(of_console_device->type, "serial") || scons_pwroff)) {
+ u8 power_register = sbus_readb(auxio_power_register);
+ power_register |= AUXIO_POWER_OFF;
+ sbus_writeb(power_register, auxio_power_register);
+ }
+
machine_halt();
}