VFS - Rework to remove function pointers from tVFS_Node
[tpg/acess2.git] / Kernel / drv / pci.c
index 7234296..8745080 100644 (file)
@@ -44,6 +44,15 @@ MODULE_DEFINE(0, 0x0100, PCI, PCI_Install, NULL, NULL);
  int   giPCI_InodeHandle = -1;\r
  int   giPCI_DeviceCount = 0;\r
 tPCIDevice     *gPCI_Devices = NULL;\r
+tVFS_NodeType  gPCI_RootNodeType = {\r
+       .TypeName = "PCI Root Node",\r
+       .ReadDir = PCI_int_ReadDirRoot,\r
+       .FindDir = PCI_int_FindDirRoot\r
+};\r
+tVFS_NodeType  gPCI_DevNodeType = {\r
+       .TypeName = "PCI Dev Node",\r
+       .Read = PCI_int_ReadDevice\r
+};\r
 tDevFS_Driver  gPCI_DriverStruct = {\r
        NULL, "pci",\r
        {\r
@@ -51,8 +60,7 @@ tDevFS_Driver gPCI_DriverStruct = {
        .Size = -1,\r
        .NumACLs = 1,\r
        .ACLs = &gVFS_ACL_EveryoneRX,\r
-       .ReadDir = PCI_int_ReadDirRoot,\r
-       .FindDir = PCI_int_FindDirRoot\r
+       .Type = &gPCI_RootNodeType\r
        }\r
 };\r
 Uint32 *gaPCI_PortBitmap = NULL;\r
@@ -473,7 +481,7 @@ int PCI_int_EnumDevice(Uint16 bus, Uint16 slot, Uint16 fcn, tPCIDevice *info)
        info->Node.NumACLs = 1;\r
        info->Node.ACLs = &gVFS_ACL_EveryoneRO;\r
        \r
-       info->Node.Read = PCI_int_ReadDevice;\r
+       info->Node.Type = &gPCI_RootNodeType;\r
        \r
        return 1;\r
 }\r

UCC git Repository :: git.ucc.asn.au