Fixing ARM build from VFS changes
authorJohn Hodge <[email protected]>
Sat, 21 Jan 2012 03:58:10 +0000 (11:58 +0800)
committerJohn Hodge <[email protected]>
Sat, 21 Jan 2012 03:58:10 +0000 (11:58 +0800)
Modules/Display/PL110/main.c
Modules/Filesystems/InitRD/GenerateInitRD.php
Modules/Filesystems/InitRD/initrd.h
Modules/Filesystems/InitRD/main.c

index 4d7b938..c3b6e52 100644 (file)
@@ -65,20 +65,21 @@ void        PL110_Uninstall();
 // Internal\r
 // Filesystem\r
 Uint64 PL110_Read(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer);\r
-Uint64 PL110_Write(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer);\r
+Uint64 PL110_Write(tVFS_Node *node, Uint64 off, Uint64 len, const void *buffer);\r
  int   PL110_IOCtl(tVFS_Node *node, int id, void *data);\r
 // -- Internals\r
  int   PL110_int_SetResolution(int W, int H);\r
 \r
 // === GLOBALS ===\r
 MODULE_DEFINE(0, VERSION, PL110, PL110_Install, NULL, NULL);\r
-tDevFS_Driver  gPL110_DriverStruct = {\r
-       NULL, "PL110",\r
-       {\r
+tVFS_NodeType  gPL110_DevNodeType = {\r
        .Read = PL110_Read,\r
        .Write = PL110_Write,\r
        .IOCtl = PL110_IOCtl\r
-       }\r
+       };\r
+tDevFS_Driver  gPL110_DriverStruct = {\r
+       NULL, "PL110",\r
+       {.Type = &gPL110_DevNodeType}\r
 };\r
 // -- Options\r
 tPAddr gPL110_PhysBase = PL110_BASE;\r
@@ -139,7 +140,7 @@ Uint64 PL110_Read(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer)
 /**\r
  * \brief Write to the framebuffer\r
  */\r
-Uint64 PL110_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer)\r
+Uint64 PL110_Write(tVFS_Node *Node, Uint64 Offset, Uint64 Length, const void *Buffer)\r
 {\r
        gPL110_DrvUtil_BufInfo.BufferFormat = giPL110_BufferMode;\r
        return DrvUtil_Video_WriteLFB(&gPL110_DrvUtil_BufInfo, Offset, Length, Buffer);\r
index af967d5..e7cd4f7 100644 (file)
@@ -98,8 +98,7 @@ tVFS_Node {$prefix}_{$i} = {
        .Size = $size,
        .Inode = {$inode},
        .ImplPtr = {$prefix}_{$i}_entries,
-       .ReadDir = InitRD_ReadDir,
-       .FindDir = InitRD_FindDir
+       .Type = &gInitRD_DirType
 };
 
 EOF;
@@ -161,7 +160,7 @@ tVFS_Node {$prefix}_{$i} = {
        .Size = $size,
        .Inode = {$inode},
        .ImplPtr = $_sym,
-       .Read = InitRD_ReadFile
+       .Type = &gInitRD_FileType
 };
 
 EOF;
@@ -189,8 +188,7 @@ tVFS_Node gInitRD_RootNode = {
        .Flags = VFS_FFLAG_DIRECTORY,
        .Size = $nRootFiles,
        .ImplPtr = gInitRD_Root_Files,
-       .ReadDir = InitRD_ReadDir,
-       .FindDir = InitRD_FindDir
+       .Type = &gInitRD_DirType
 };
 EOF;
 
index 8ebabd3..479a841 100644 (file)
@@ -18,4 +18,8 @@ extern Uint64 InitRD_ReadFile(tVFS_Node *Node, Uint64 Offset, Uint64 Size, void
 extern char    *InitRD_ReadDir(tVFS_Node *Node, int ID);
 extern tVFS_Node       *InitRD_FindDir(tVFS_Node *Node, const char *Name);
 
+// === Globals ===
+tVFS_NodeType  gInitRD_DirType;
+tVFS_NodeType  gInitRD_FileType;
+
 #endif
index b2ed2b3..b52ab8d 100644 (file)
@@ -27,6 +27,13 @@ MODULE_DEFINE(0, 0x0A, FS_InitRD, InitRD_Install, NULL);
 tVFS_Driver    gInitRD_FSInfo = {
        "initrd", 0, InitRD_InitDevice, InitRD_Unmount, InitRD_GetNodeFromINode
        };
+tVFS_NodeType  gInitRD_DirType = {
+       .ReadDir = InitRD_ReadFile,
+       .FindDir = InitRD_FindDir
+       };
+tVFS_NodeType  gInitRD_FileType = {
+       .Read = InitRD_ReadFile
+       };
 
 /**
  * \brief Register initrd with the kernel

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