patch-1.3.4 linux/arch/sparc/prom/devops.c
Next file: linux/arch/sparc/prom/init.c
Previous file: linux/arch/sparc/prom/devmap.c
Back to the patch index
Back to the overall index
- Lines: 70
- Date:
Sat Jun 17 10:03:28 1995
- Orig file:
v1.3.3/linux/arch/sparc/prom/devops.c
- Orig date:
Thu Jan 1 02:00:00 1970
diff -u --recursive --new-file v1.3.3/linux/arch/sparc/prom/devops.c linux/arch/sparc/prom/devops.c
@@ -0,0 +1,69 @@
+/* devops.c: Device operations using the PROM.
+ *
+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
+ */
+
+#include <asm/openprom.h>
+#include <asm/oplib.h>
+
+/* Open the device described by the string 'dstr'. Returns the handle
+ * to that device used for subsequent operations on that device.
+ * Returns -1 on failure.
+ */
+int
+prom_devopen(char *dstr)
+{
+ int handle;
+ switch(prom_vers) {
+ case PROM_V0:
+ handle = (*(romvec->pv_v0devops.v0_devopen))(dstr);
+ if(handle == 0) return -1;
+ return handle;
+ break;
+ case PROM_V2:
+ case PROM_V3:
+ case PROM_P1275:
+ handle = (*(romvec->pv_v2devops.v2_dev_open))(dstr);
+ return handle;
+ break;
+ };
+
+ return -1;
+}
+
+/* Close the device described by device handle 'dhandle'. */
+void
+prom_close(int dhandle)
+{
+ switch(prom_vers) {
+ case PROM_V0:
+ (*(romvec->pv_v0devops.v0_devclose))(dhandle);
+ return;
+ case PROM_V2:
+ case PROM_V3:
+ case PROM_P1275:
+ (*(romvec->pv_v2devops.v2_dev_close))(dhandle);
+ return;
+ };
+ return;
+}
+
+/* Seek to specified location described by 'seekhi' and 'seeklo'
+ * for device 'dhandle'.
+ */
+void
+prom_seek(int dhandle, unsigned int seekhi, unsigned int seeklo)
+{
+ switch(prom_vers) {
+ case PROM_V0:
+ (*(romvec->pv_v0devops.v0_seekdev))(dhandle, seekhi, seeklo);
+ break;
+ case PROM_V2:
+ case PROM_V3:
+ case PROM_P1275:
+ (*(romvec->pv_v2devops.v2_dev_seek))(dhandle, seekhi, seeklo);
+ break;
+ };
+
+ 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