]> git.ipfire.org Git - thirdparty/pciutils.git/commitdiff
Rewritten i386-io-hurd.h.
authorMartin Mares <mj@ucw.cz>
Wed, 20 Jun 2007 18:41:55 +0000 (20:41 +0200)
committerMartin Mares <mj@ucw.cz>
Wed, 20 Jun 2007 18:41:55 +0000 (20:41 +0200)
lib/i386-io-hurd.h

index 334ce0a16f2271cfcad5bce553d823c1a14a1b61..b61d65617135dd629100f88f0ed7c85844dee24f 100644 (file)
@@ -5,46 +5,23 @@
  *     Copyright (c) 2003 Martin Mares <mj@ucw.cz>
  *     Copyright (c) 2006 Samuel Thibault <samuel.thibault@ens-lyon.org> and
  *                        Thomas Schwinge <tschwinge@gnu.org>
+ *     Copyright (c) 2007 Thomas Schwinge <tschwinge@gnu.org>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
 
 #include <sys/io.h>
 
-#include <mach/machine/mach_i386.h>
-#include <device/device.h>
-#include <hurd.h>
-
-#include <stdio.h>
-
-static mach_port_t io_port;
-
 static inline int
-intel_setup_io(struct pci_access *a)
+intel_setup_io(struct pci_access *a UNUSED)
 {
-  mach_port_t device;
-
-  if ((errno = get_privileged_ports(NULL, &device)))
-    a->warning("i386-io-hurd: Can't get_privileged_ports(): %m");
-
-  if (!errno && (errno = device_open(device, D_READ | D_WRITE, "io", &io_port)))
-    a->warning("i386-io-hurd: Can't device_open(): %m");
-
-  mach_port_deallocate(mach_task_self(), device);
-
-  if (!errno && (errno = i386_io_port_add(mach_thread_self(), io_port)))
-    a->warning("i386-io-hurd: Can't i386_io_port_add(): %m");
-
-  return errno ? 0 : 1;
+  return (ioperm (0, 65535, 1) == -1) ? 0 : 1;
 }
 
 static inline int
-intel_cleanup_io(struct pci_access *a)
+intel_cleanup_io(struct pci_access *a UNUSED)
 {
-  if ((errno = i386_io_port_remove(mach_thread_self(), io_port)))
-    a->warning("i386-io-hurd: Can't i386_io_port_remove(): %m");
-
-  mach_port_deallocate(mach_task_self(), io_port);
+  ioperm (0, 65535, 0);
 
   return -1;
 }