patch-1.3.44 linux/arch/sparc/kernel/promops.c

Next file: linux/arch/sparc/kernel/rtrap.S
Previous file: linux/arch/sparc/kernel/process.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.43/linux/arch/sparc/kernel/promops.c linux/arch/sparc/kernel/promops.c
@@ -1,107 +0,0 @@
-/* promops.c:  Prom node tree operations and Prom Vector initialization
- *             initialization routines.
- *
- * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#include <linux/kernel.h>
-
-#include <asm/openprom.h>
-
-/* #define DEBUG_PROMOPS */
-#define MAX_PR_LEN   64           /* exotic hardware probably overshoots this */
-
-int prom_node_root;               /* initialized in init_prom */
-
-extern struct linux_romvec *romvec;
-
-/* These two functions return and siblings and direct child descendents
- * in the prom device tree respectively.
- */
-
-int
-node_get_sibling(int node)
-{
-  return (*(romvec->pv_nodeops->no_nextnode))(node);
-}
-
-int
-node_get_child(int node)
-{
-  return (*(romvec->pv_nodeops->no_child))(node);
-}
-
-/* The following routine is used during device probing to determine
- * an integer value property about a (perhaps virtual) device. This
- * could be anything, like the size of the mmu cache lines, etc.
- * the default return value is -1 is the prom has nothing interesting.
- */
-
-unsigned int prom_int_null;
-
-unsigned int *
-get_int_from_prom(int node, char *nd_prop, unsigned int *value)
-{
-  unsigned int pr_len;
-
-  *value = &prom_int_null;    /* duh, I was returning -1 as an unsigned int, prom_panic() */
-
-  pr_len = romvec->pv_nodeops->no_proplen(node, nd_prop);
-  if(pr_len > MAX_PR_LEN)
-    {
-#ifdef DEBUG_PROMOPS
-      printk("Bad pr_len in promops -- node: %d nd_prop: %s pr_len: %d",
-	     node, nd_prop, (int) pr_len);
-#endif
-      return value;      /* XXX */
-    }
-
-  romvec->pv_nodeops->no_getprop(node, nd_prop, (char *) value);
-
-  return value;
-}
-
-
-/* This routine returns what is termed a property string as opposed
- * to a property integer as above. This can be used to extract the
- * 'type' of device from the prom. An example could be the clock timer
- * chip type. By default you get returned a null string if garbage
- * is returned from the prom.
- */
-
-char *
-get_str_from_prom(int node, char *nd_prop, char *value)
-{
-  unsigned int pr_len;
-
-  *value='\n';
-
-  pr_len = romvec->pv_nodeops->no_proplen(node, nd_prop);
-  if(pr_len > MAX_PR_LEN)
-    {
-#ifdef DEBUG_PROMOPS
-      printk("Bad pr_len in promops -- node: %d nd_prop: %s pr_len: %d",
-	     node, nd_prop, pr_len);
-#endif
-      return value;      /* XXX */
-    }
-
-  romvec->pv_nodeops->no_getprop(node, nd_prop, value);
-  value[pr_len] = 0;
-
-  return value;
-}
-
-/* This gets called from head.S upon bootup to initialize the
- * prom vector pointer for the rest of the kernel.
- */
-
-void
-init_prom(struct linux_romvec *r_ptr)
-{
-  romvec = r_ptr;
-  prom_node_root = romvec->pv_nodeops->no_nextnode(0);
-  prom_int_null = 0;
-  
-  return;
-}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this