Delete vga_arb_rec.
authorTiago Vignatti <vignatti@freedesktop.org>
Thu, 14 May 2009 06:40:25 +0000 (03:40 -0300)
committerTiago Vignatti <vignatti@freedesktop.org>
Thu, 14 May 2009 06:40:25 +0000 (03:40 -0300)
include/pciaccess.h
src/common_vgaarb.c
src/common_vgaarb_stub.c

index 4087264..b7dad13 100644 (file)
@@ -375,6 +375,12 @@ struct pci_device {
      * the \c pci_device structure.
      */
     intptr_t user_data;
+
+    /**
+      * Used by the VGA arbiter. Kind of resource decoded by the device and
+      * the file descriptor. */
+    int vgaarb_rsrc;
+    int vgaarb_fd;
 };
 
 
@@ -479,19 +485,13 @@ struct pci_pcmcia_bridge_info {
  * VGA Arbiter definitions, functions and related.
  */
 
-typedef int VgaArbRsrcType;
-
-/* This is a mask that can be OR'ed */
-#define VGA_ARB_RSRC_NONE       0
-#define VGA_ARB_RSRC_LEGACY_IO  1
-#define VGA_ARB_RSRC_LEGACY_MEM 2
-#define VGA_ARB_RSRC_NORMAL_IO  4
-#define VGA_ARB_RSRC_NORMAL_MEM 8
-
-typedef struct {
-    int fd;
-    VgaArbRsrcType rsrc;
-} vga_arb_rec, *vga_arb_ptr;
+/* Legacy VGA regions */
+#define VGA_ARB_RSRC_NONE       0x00
+#define VGA_ARB_RSRC_LEGACY_IO  0x01
+#define VGA_ARB_RSRC_LEGACY_MEM 0x02
+/* Non-legacy access */
+#define VGA_ARB_RSRC_NORMAL_IO  0x04
+#define VGA_ARB_RSRC_NORMAL_MEM 0x08
 
 /*
  * With exception of vga_arb_trylock(), all functions bellow return 1 on success
@@ -504,13 +504,12 @@ typedef struct {
  * it will print error messages at stderr.
  *
  */
-int  pci_device_vgaarb_init    (vga_arb_ptr *vgaDev);
-void pci_device_vgaarb_fini    (vga_arb_ptr vgaDev);
-int  pci_device_vgaarb_set_target (vga_arb_ptr vgaDev, unsigned int domain,
-                        unsigned int bus, unsigned int dev, unsigned int fn);
-int  pci_device_vgaarb_decodes (vga_arb_ptr vgaDev);
-int  pci_device_vgaarb_lock    (vga_arb_ptr vgaDev);
-int  pci_device_vgaarb_trylock (vga_arb_ptr vgaDev);
-int  pci_device_vgaarb_unlock  (vga_arb_ptr vgaDev);
+int  pci_device_vgaarb_init         (struct pci_device *dev);
+void pci_device_vgaarb_fini         (struct pci_device *dev);
+int  pci_device_vgaarb_set_target   (struct pci_device *dev);
+int  pci_device_vgaarb_decodes      (struct pci_device *dev);
+int  pci_device_vgaarb_lock         (struct pci_device *dev);
+int  pci_device_vgaarb_trylock      (struct pci_device *dev);
+int  pci_device_vgaarb_unlock       (struct pci_device *dev);
 
 #endif /* PCIACCESS_H */
index cc1e262..9cf7385 100644 (file)
 #define VGAARB_DEV "/dev/vga_arbiter"
 
 int
-pci_device_vgaarb_init(vga_arb_ptr *vgaDev)
+pci_device_vgaarb_init(struct pci_device *dev)
 {
-    *vgaDev = malloc (sizeof(vga_arb_ptr *));
-    if (vgaDev == NULL) {
-        fprintf(stderr, "%s: malloc: couldn't allocate memory\n", __FUNCTION__);
-        return 0;
-    }
-
-    (*vgaDev)->rsrc = 0;
+    dev->vgaarb_rsrc = VGA_ARB_RSRC_NONE;
 
-    if (((*vgaDev)->fd = open (VGAARB_DEV, O_RDWR)) < 0) {
+    if ((dev->vgaarb_fd = open (VGAARB_DEV, O_RDWR)) < 0) {
         perror("device open failed");
-        return 0;
+        return 1;
     }
 
-    return (*vgaDev)->fd;
+    return 0;
 }
 
 void
-pci_device_vgaarb_fini(vga_arb_ptr vgaDev)
+pci_device_vgaarb_fini(struct pci_device *dev)
 {
-    if (close(vgaDev->fd) == -1)
+    if (close(dev->vgaarb_fd) == -1)
         perror("device close failed");
 }
 
@@ -112,7 +106,7 @@ vgaarb_write(int fd, char *buf, int len)
 }
 
 static const char *
-rsrc_to_str(VgaArbRsrcType iostate)
+rsrc_to_str(int iostate)
 {
     switch (iostate) {
     case VGA_ARB_RSRC_LEGACY_IO | VGA_ARB_RSRC_LEGACY_MEM:
@@ -155,49 +149,48 @@ vga_arb_read(vga_arb_ptr vgaDev)
 }
 #endif
 int
-pci_device_vgaarb_set_target(vga_arb_ptr vgaDev, unsigned int domain,
-                unsigned int bus, unsigned int dev, unsigned int fn)
+pci_device_vgaarb_set_target(struct pci_device *dev)
 {
     int len;
     char buf[BUFSIZE];
 
     len = snprintf(buf, BUFSIZE, "target PCI:%d:%d:%d.%d",
-                   domain, bus, dev, fn);
+                   dev->domain, dev->bus, dev->dev, dev->func);
 
-    return vgaarb_write(vgaDev->fd, buf, len);
+    return vgaarb_write(dev->vgaarb_fd, buf, len);
 }
 
 int
-pci_device_vgaarb_decodes(vga_arb_ptr vgaDev)
+pci_device_vgaarb_decodes(struct pci_device *dev)
 {
     int len;
     char buf[BUFSIZE];
 
-    len = snprintf(buf, BUFSIZE, "decodes %s", rsrc_to_str(vgaDev->rsrc));
+    len = snprintf(buf, BUFSIZE, "decodes %s", rsrc_to_str(dev->vgaarb_rsrc));
 
-    return vgaarb_write(vgaDev->fd, buf, len);
+    return vgaarb_write(dev->vgaarb_fd, buf, len);
 }
 
 int
-pci_device_vgaarb_lock(vga_arb_ptr vgaDev)
+pci_device_vgaarb_lock(struct pci_device *dev)
 {
     int len;
     char buf[BUFSIZE];
 
-    len = snprintf(buf, BUFSIZE, "lock %s", rsrc_to_str(vgaDev->rsrc));
+    len = snprintf(buf, BUFSIZE, "lock %s", rsrc_to_str(dev->vgaarb_rsrc));
 
-    return vgaarb_write(vgaDev->fd, buf, len);
+    return vgaarb_write(dev->vgaarb_fd, buf, len);
 }
 
 int
-pci_device_vgaarb_trylock(vga_arb_ptr vgaDev)
+pci_device_vgaarb_trylock(struct pci_device *dev)
 {
     int len, write_ret;
     char buf[BUFSIZE];
 
-    len = snprintf(buf, BUFSIZE, "trylock %s", rsrc_to_str(vgaDev->rsrc));
+    len = snprintf(buf, BUFSIZE, "trylock %s", rsrc_to_str(dev->vgaarb_rsrc));
 
-    write_ret = vgaarb_write(vgaDev->fd, buf, len);
+    write_ret = vgaarb_write(dev->vgaarb_fd, buf, len);
 
     if (write_ret == 0)
         return -1;
@@ -209,12 +202,12 @@ pci_device_vgaarb_trylock(vga_arb_ptr vgaDev)
 }
 
 int
-pci_device_vgaarb_unlock(vga_arb_ptr vgaDev)
+pci_device_vgaarb_unlock(struct pci_device *dev)
 {
     int len;
     char buf[BUFSIZE];
 
-    len = snprintf(buf, BUFSIZE, "unlock %s", rsrc_to_str(vgaDev->rsrc));
+    len = snprintf(buf, BUFSIZE, "unlock %s", rsrc_to_str(dev->vgaarb_rsrc));
 
-    return vgaarb_write(vgaDev->fd, buf, len);
+    return vgaarb_write(dev->vgaarb_fd, buf, len);
 }
index 9fa36ac..976dbb2 100644 (file)
 
 
 int
-vga_arb_read(vga_arb_ptr vgaDev)
+vga_arb_set_target(struct pci_device *dev)
 {
     return 1;
 }
 
 int
-vga_arb_set_target(vga_arb_ptr vgaDev, unsigned int domain, unsigned int bus,
-                   unsigned int dev,    unsigned int fn)
+vga_arb_lock(struct pci_device *dev)
 {
     return 1;
 }
 
 int
-vga_arb_lock(vga_arb_ptr vgaDev)
+vga_arb_trylock(struct pci_device *dev)
 {
     return 1;
 }
 
 int
-vga_arb_trylock(vga_arb_ptr vgaDev)
+vga_arb_unlock(struct pci_device *dev)
 {
     return 1;
 }
 
 int
-vga_arb_unlock(vga_arb_ptr vgaDev)
+vga_arb_decodes(struct pci_device *dev)
 {
     return 1;
 }
 
 int
-vga_arb_decodes(vga_arb_ptr vgaDev)
-{
-    return 1;
-}
-
-int
-vga_arb_init(vga_arb_ptr *vgaDev)
+vga_arb_init(struct pci_device *dev)
 {
 #ifdef DEBUG
     fprintf(stderr, "%s: YOU'RE USING THE STUB FUNCTIONS!\n", __FUNCTION__);
@@ -79,6 +72,6 @@ vga_arb_init(vga_arb_ptr *vgaDev)
 }
 
 void
-vga_arb_fini(vga_arb_ptr vgaDev)
+vga_arb_fini(struct pci_device *dev)
 {
 }