]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/i386-io-sunos.h
Added an option for selection of access methods.
[pciutils.git] / lib / i386-io-sunos.h
index 0d64faf3c84e987cb9f48414c8cb0438b46a951f..3e08e737b42eccd62e4583bcbd28be2229f39022 100644 (file)
@@ -2,7 +2,7 @@
  *     The PCI Library -- Access to i386 I/O ports on Solaris
  *
  *     Copyright (c) 2003 Bill Moore <billm@eng.sun.com>
- *     Copyright (c) 2003 Martin Mares <mj@ucw.cz>
+ *     Copyright (c) 2003--2006 Martin Mares <mj@ucw.cz>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
 #include <sys/sysi86.h>
 #include <sys/psw.h>
 
-static int intel_iopl_set = -1;
-
 static int
-intel_setup_io(void)
+intel_setup_io(struct pci_access *a UNUSED)
 {
-  if (intel_iopl_set < 0)
-    {
-      if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0)
-       intel_iopl_set = 0;
-      else
-       intel_iopl_set = 1;
-    }
-  return intel_iopl_set;
+  return (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) ? 0 : 1;
 }
 
-static inline void
-intel_cleanup_io(void)
+static inline int
+intel_cleanup_io(struct pci_access *a UNUSED)
 {
-  if (intel_iopl_set > 0)
-    {
-      /* FIXME: How to switch off I/O port access? */
-    }
-  intel_iopl_set = -1;
+  /* FIXME: How to switch off I/O port access? */
+  return 1;
 }
 
 static inline u8