summaryrefslogtreecommitdiffstats
path: root/arch/sparc/prom/misc.c
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2008-11-30 07:15:38 +0100
committerDavid S. Miller <davem@davemloft.net>2008-12-04 18:17:16 +0100
commit708d4f09647106d549c646dc459c7ccf2c237cc8 (patch)
tree23657862535d88fcb71bc416c51c27cd480a93c4 /arch/sparc/prom/misc.c
parentsparc,sparc64: unify Makefile (diff)
downloadlinux-708d4f09647106d549c646dc459c7ccf2c237cc8.tar.xz
linux-708d4f09647106d549c646dc459c7ccf2c237cc8.zip
sparc: prepare prom/ for unification
- rename files where sparc64 uses identical names to *_32.c - refactor Makefile (but keep linking order) Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/prom/misc.c')
-rw-r--r--arch/sparc/prom/misc.c131
1 files changed, 0 insertions, 131 deletions
diff --git a/arch/sparc/prom/misc.c b/arch/sparc/prom/misc.c
deleted file mode 100644
index 49b5057b9601..000000000000
--- a/arch/sparc/prom/misc.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * misc.c: Miscellaneous prom functions that don't belong
- * anywhere else.
- *
- * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <asm/openprom.h>
-#include <asm/oplib.h>
-#include <asm/auxio.h>
-#include <asm/system.h>
-
-extern void restore_current(void);
-
-DEFINE_SPINLOCK(prom_lock);
-
-/* Reset and reboot the machine with the command 'bcommand'. */
-void
-prom_reboot(char *bcommand)
-{
- unsigned long flags;
- spin_lock_irqsave(&prom_lock, flags);
- (*(romvec->pv_reboot))(bcommand);
- /* Never get here. */
- restore_current();
- spin_unlock_irqrestore(&prom_lock, flags);
-}
-
-/* Forth evaluate the expression contained in 'fstring'. */
-void
-prom_feval(char *fstring)
-{
- unsigned long flags;
- if(!fstring || fstring[0] == 0)
- return;
- spin_lock_irqsave(&prom_lock, flags);
- if(prom_vers == PROM_V0)
- (*(romvec->pv_fortheval.v0_eval))(strlen(fstring), fstring);
- else
- (*(romvec->pv_fortheval.v2_eval))(fstring);
- restore_current();
- spin_unlock_irqrestore(&prom_lock, flags);
-}
-
-/* Drop into the prom, with the chance to continue with the 'go'
- * prom command.
- */
-void
-prom_cmdline(void)
-{
- extern void install_obp_ticker(void);
- extern void install_linux_ticker(void);
- unsigned long flags;
-
- spin_lock_irqsave(&prom_lock, flags);
- install_obp_ticker();
- (*(romvec->pv_abort))();
- restore_current();
- install_linux_ticker();
- spin_unlock_irqrestore(&prom_lock, flags);
-#ifdef CONFIG_SUN_AUXIO
- set_auxio(AUXIO_LED, 0);
-#endif
-}
-
-/* Drop into the prom, but completely terminate the program.
- * No chance of continuing.
- */
-void
-prom_halt(void)
-{
- unsigned long flags;
-again:
- spin_lock_irqsave(&prom_lock, flags);
- (*(romvec->pv_halt))();
- /* Never get here. */
- restore_current();
- spin_unlock_irqrestore(&prom_lock, flags);
- goto again; /* PROM is out to get me -DaveM */
-}
-
-typedef void (*sfunc_t)(void);
-
-/* Set prom sync handler to call function 'funcp'. */
-void
-prom_setsync(sfunc_t funcp)
-{
- if(!funcp) return;
- *romvec->pv_synchook = funcp;
-}
-
-/* Get the idprom and stuff it into buffer 'idbuf'. Returns the
- * format type. 'num_bytes' is the number of bytes that your idbuf
- * has space for. Returns 0xff on error.
- */
-unsigned char
-prom_get_idprom(char *idbuf, int num_bytes)
-{
- int len;
-
- len = prom_getproplen(prom_root_node, "idprom");
- if((len>num_bytes) || (len==-1)) return 0xff;
- if(!prom_getproperty(prom_root_node, "idprom", idbuf, num_bytes))
- return idbuf[0];
-
- return 0xff;
-}
-
-/* Get the major prom version number. */
-int
-prom_version(void)
-{
- return romvec->pv_romvers;
-}
-
-/* Get the prom plugin-revision. */
-int
-prom_getrev(void)
-{
- return prom_rev;
-}
-
-/* Get the prom firmware print revision. */
-int
-prom_getprev(void)
-{
- return prom_prev;
-}