From: Omar Ramirez Luna <[EMAIL PROTECTED]>
Date: Fri, 29 Aug 2008 21:20:39 -0500
Subject: [PATCH] Bridge Checkpatch Cleanup
Deleted unused function typedefs and structures associated with them
Signed-off-by: Fernando Guzman Lugo <[EMAIL PROTECTED]>
Signed-off-by: Omar Ramirez Luna <[EMAIL PROTECTED]>
---
arch/arm/plat-omap/include/mach/bridge/_chnl_sm.h | 2 +
arch/arm/plat-omap/include/mach/bridge/cod.h | 63 ++++-
arch/arm/plat-omap/include/mach/bridge/dbldefs.h | 366 +++++++++++++++++++-
arch/arm/plat-omap/include/mach/bridge/dblldefs.h | 4 +
arch/arm/plat-omap/include/mach/bridge/dev.h | 21 +-
arch/arm/plat-omap/include/mach/bridge/dldr.h | 75 ----
arch/arm/plat-omap/include/mach/bridge/dldrdefs.h | 315 -----------------
.../arm/plat-omap/include/mach/bridge/getsection.h | 5 +-
arch/arm/plat-omap/include/mach/bridge/isr.h | 65 ++++
arch/arm/plat-omap/include/mach/bridge/prcs.h | 17 +-
arch/arm/plat-omap/include/mach/bridge/rmstypes.h | 1 +
drivers/dsp/bridge/hw/GlobalTypes.h | 7 +-
drivers/dsp/bridge/wmd/_msg_sm.h | 8 +-
13 files changed, 548 insertions(+), 401 deletions(-)
delete mode 100644 arch/arm/plat-omap/include/mach/bridge/dldr.h
delete mode 100644 arch/arm/plat-omap/include/mach/bridge/dldrdefs.h
diff --git a/arch/arm/plat-omap/include/mach/bridge/_chnl_sm.h
b/arch/arm/plat-omap/include/mach/bridge/_chnl_sm.h
index f6a6c69..4bc2633 100644
--- a/arch/arm/plat-omap/include/mach/bridge/_chnl_sm.h
+++ b/arch/arm/plat-omap/include/mach/bridge/_chnl_sm.h
@@ -110,6 +110,8 @@ struct loadMonStruct {
#endif
+ typedef u32 SMWORD;
+
enum SHM_DESCTYPE {
SHM_CURROPP = 0,
SHM_OPPINFO = 1,
diff --git a/arch/arm/plat-omap/include/mach/bridge/cod.h
b/arch/arm/plat-omap/include/mach/bridge/cod.h
index 6a37da7..700efb6 100644
--- a/arch/arm/plat-omap/include/mach/bridge/cod.h
+++ b/arch/arm/plat-omap/include/mach/bridge/cod.h
@@ -105,6 +105,27 @@
void *pBuf, u32 ulNumBytes,
u32 nMemSpace);
+ typedef bool(CDECL *COD_ALLOCFXN) (void *pPrivRef, u32 space,
+ u32 ulNumBytes, u32 ulAlign,
+ u32 *ulDspAddr, bool fReserved);
+
+ typedef bool(CDECL *COD_FREEFXN) (void *pPrivReg, u32 ulDspAddr,
+ u32 space, u32 ulNumBytes,
+ bool fReserved);
+
+/*
+ * ======== COD_LOADATTRS ========
+ *
+ * Attributes that specify alloc, free, and write functions when loading
+ * or unloading a section.
+ */
+ struct COD_LOADATTRS {
+ void *pWHandle; /* Handle to pass to write fxn */
+ void *pAHandle; /* Handle to pass to alloc/free fxns */
+ COD_WRITEFXN pfnWrite;
+ COD_ALLOCFXN pfnAlloc;
+ COD_FREEFXN pfnFree;
+ } ;
/*
* ======== COD_Close ========
@@ -356,6 +377,27 @@
COD_WRITEFXN pfnWrite, void *pArb,
char *envp[]);
+/*
+ * ======== COD_LoadSection ========
+ * Purpose:
+ * Load a named section in the COFF file. (For overlay support).
+ * Parameters:
+ * hManager: COD manager.
+ * pstrSect: Name of the section, with or without leading "."
+ * pAttrs: Specifies alloc, free, and write function.
+ * Returns:
+ * DSP_SOK: Success
+ * DSP_EFWRITE: Failed to write section to target.
+ * Requires:
+ * COD module initialized.
+ * valid hManager.
+ * pstrSect != NULL;
+ * Ensures:
+ *
+ */
+ extern DSP_STATUS CDECL COD_LoadSection(struct COD_MANAGER *hManager,
+ IN char *pstrSect,
+ IN struct COD_LOADATTRS *pAttrs);
/*
* ======== COD_Open ========
@@ -428,6 +470,25 @@ extern DSP_STATUS COD_OpenBase(struct COD_MANAGER *hMgr,
IN char *pszCoffPath,
OUT char *pstrContent,
IN u32 cContentSize);
-
+/*
+ * ======== COD_UnloadSection ========
+ * Purpose:
+ * Unload a named section in the COFF file. (For overlay support).
+ * Parameters:
+ * hManager: COD manager.
+ * pstrSect: name of the section, with or without leading "."
+ * pAttrs: Specifies free function.
+ * Returns:
+ * DSP_SOK: Success.
+ * Requires:
+ * COD module initialized.
+ * valid hManager.
+ * pstrSect != NULL;
+ * Ensures:
+ *
+ */
+ extern DSP_STATUS CDECL COD_UnloadSection(struct COD_MANAGER *hManager,
+ IN char *pstrSect,
+ IN struct COD_LOADATTRS *pAttrs);
#endif /* COD_ */
diff --git a/arch/arm/plat-omap/include/mach/bridge/dbldefs.h
b/arch/arm/plat-omap/include/mach/bridge/dbldefs.h
index b25fd1c..645c796 100644
--- a/arch/arm/plat-omap/include/mach/bridge/dbldefs.h
+++ b/arch/arm/plat-omap/include/mach/bridge/dbldefs.h
@@ -39,7 +39,10 @@
#define DBL_MAXPATHLENGTH 255
-
+#ifndef _SIZE_T /* Linux sets _SIZE_T on defining
size_t */
+typedef unsigned int size_t;
+#define _SIZE_T
+#endif
/*
* ======== DBL_Flags ========
@@ -77,7 +80,31 @@ struct DBL_Symbol {
typedef s32(*DBL_AllocFxn) (void *hdl, s32 space, u32 size, u32 align,
u32 *dspAddr, s32 segId, s32 req, bool reserved);
+/*
+ * ======== DBL_CinitFxn ========
+ * Process .cinit records.
+ * Parameters:
+ * hdl - Opaque handle
+ * dspAddress - DSP address of .cinit section
+ * buf - Buffer containing .cinit section
+ * nBytes - Size of .cinit section (host bytes)
+ * mtype - Page? (does not need to be used)
+ *
+ * Returns:
+ * nBytes - Success
+ * < nBytes - Failure
+ *
+ * Note: Cinit processing can either be done by the DSP, in which case
+ * the .cinit section must have already been written, or on the host,
+ * in which case we need to use the data in buf.
+ */
+typedef s32(*DBL_CinitFxn) (void *hdl, u32 dspAddr, void *buf,
+ u32 nBytes, s32 mtype);
+/*
+ * ======== DBL_CloseFxn ========
+ */
+typedef s32(*DBL_FCloseFxn) (void *);
/*
* ======== DBL_FreeFxn ========
@@ -88,6 +115,11 @@ typedef bool(*DBL_FreeFxn) (void *hdl, u32 addr, s32 space,
u32 size,
bool reserved);
/*
+ * ======== DBL_FOpenFxn ========
+ */
+typedef void *(*DBL_FOpenFxn) (const char *, const char *);
+
+/*
* ======== DBL_LogWriteFxn ========
* Function to call when writing data from a section, to log the info.
* Can be NULL if no logging is required.
@@ -95,6 +127,15 @@ typedef bool(*DBL_FreeFxn) (void *hdl, u32 addr, s32 space,
u32 size,
typedef DSP_STATUS(*DBL_LogWriteFxn) (void *handle, struct DBL_SectInfo *sect,
u32 addr, u32 nBytes);
+/*
+ * ======== DBL_ReadFxn ========
+ */
+typedef s32(*DBL_ReadFxn) (void *, size_t, size_t, void *);
+
+/*
+ * ======== DBL_SeekFxn ========
+ */
+typedef s32(*DBL_SeekFxn) (void *, long, int);
/*
* ======== DBL_SymLookup ========
@@ -113,6 +154,10 @@ typedef DSP_STATUS(*DBL_LogWriteFxn) (void *handle, struct
DBL_SectInfo *sect,
typedef bool(*DBL_SymLookup) (void *handle, void *pArg, void *rmmHandle,
const char *name, struct DBL_Symbol **sym);
+/*
+ * ======== DBL_TellFxn ========
+ */
+typedef s32(*DBL_TellFxn) (void *);
/*
* ======== DBL_WriteFxn ========
@@ -152,4 +197,323 @@ struct DBL_Attrs {
void *(*fopen) (const char *, const char *);
} ;
+/*
+ * ======== DBL_close ========
+ * Close library opened with DBL_open.
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * Returns:
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * Ensures:
+ */
+typedef void(*DBL_CloseFxn) (struct DBL_LibraryObj *library);
+
+/*
+ * ======== DBL_create ========
+ * Create a target object, specifying the alloc, free, and write functions.
+ * Parameters:
+ * pTarget - Location to store target handle on output.
+ * pAttrs - Attributes.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_EMEMORY: Memory allocation failed.
+ * Requires:
+ * DBL initialized.
+ * pAttrs != NULL.
+ * pTarget != NULL;
+ * Ensures:
+ * Success: *pTarget != NULL.
+ * Failure: *pTarget == NULL.
+ */
+typedef DSP_STATUS(*DBL_CreateFxn) (struct DBL_TargetObj **pTarget,
+ struct DBL_Attrs *attrs);
+
+/*
+ * ======== DBL_delete ========
+ * Delete target object and free resources for any loaded libraries.
+ * Parameters:
+ * target - Handle returned from DBL_Create().
+ * Returns:
+ * Requires:
+ * DBL initialized.
+ * Valid target.
+ * Ensures:
+ */
+typedef void(*DBL_DeleteFxn) (struct DBL_TargetObj *target);
+
+/*
+ * ======== DBL_exit ========
+ * Discontinue use of DBL module.
+ * Parameters:
+ * Returns:
+ * Requires:
+ * cRefs > 0.
+ * Ensures:
+ * cRefs >= 0.
+ */
+typedef void(*DBL_ExitFxn) (void);
+
+/*
+ * ======== DBL_getAddr ========
+ * Get address of name in the specified library.
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * name - Name of symbol
+ * ppSym - Location to store symbol address on output.
+ * Returns:
+ * TRUE: Success.
+ * FALSE: Symbol not found.
+ * Requires:
+ * DBL initialized.
+ * Valid library.
+ * name != NULL.
+ * ppSym != NULL.
+ * Ensures:
+ */
+typedef bool(*DBL_GetAddrFxn) (struct DBL_LibraryObj *lib, char *name,
+ struct DBL_Symbol **ppSym);
+
+/*
+ * ======== DBL_getAttrs ========
+ * Retrieve the attributes of the target.
+ * Parameters:
+ * target - Handle returned from DBL_Create().
+ * pAttrs - Location to store attributes on output.
+ * Returns:
+ * Requires:
+ * DBL initialized.
+ * Valid target.
+ * pAttrs != NULL.
+ * Ensures:
+ */
+typedef void(*DBL_GetAttrsFxn) (struct DBL_TargetObj *target,
+ struct DBL_Attrs *attrs);
+
+/*
+ * ======== DBL_getCAddr ========
+ * Get address of "C" name on the specified library.
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * name - Name of symbol
+ * ppSym - Location to store symbol address on output.
+ * Returns:
+ * TRUE: Success.
+ * FALSE: Symbol not found.
+ * Requires:
+ * DBL initialized.
+ * Valid target.
+ * name != NULL.
+ * ppSym != NULL.
+ * Ensures:
+ */
+typedef bool(*DBL_GetCAddrFxn) (struct DBL_LibraryObj *lib, char *name,
+ struct DBL_Symbol **ppSym);
+
+/*
+ * ======== DBL_getSect ========
+ * Get address and size of a named section.
+ * Parameters:
+ * lib - Library handle returned from DBL_open().
+ * name - Name of section.
+ * pAddr - Location to store section address on output.
+ * pSize - Location to store section size on output.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_ENOSECT: Section not found.
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * name != NULL.
+ * pAddr != NULL;
+ * pSize != NULL.
+ * Ensures:
+ */
+typedef DSP_STATUS(*DBL_GetSectFxn) (struct DBL_LibraryObj *lib, char *name,
+ u32 *addr, u32 *size);
+
+/*
+ * ======== DBL_init ========
+ * Initialize DBL module.
+ * Parameters:
+ * Returns:
+ * TRUE: Success.
+ * FALSE: Failure.
+ * Requires:
+ * cRefs >= 0.
+ * Ensures:
+ * Success: cRefs > 0.
+ * Failure: cRefs >= 0.
+ */
+typedef bool(*DBL_InitFxn) (void);
+
+/*
+ * ======== DBL_load ========
+ * Load library onto the target.
+ *
+ * Parameters:
+ * lib - Library handle returned from DBL_open().
+ * flags - Load code, data and/or symbols.
+ * attrs - May contain alloc, free, and write function.
+ * pulEntry - Location to store program entry on output.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_EFREAD: File read failed.
+ * DSP_EFWRITE: Write to target failed.
+ * DSP_EDYNLOAD: Failure in dynamic loader library.
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * pEntry != NULL.
+ * Ensures:
+ */
+typedef DSP_STATUS(*DBL_LoadFxn) (struct DBL_LibraryObj *lib, DBL_Flags flags,
+ struct DBL_Attrs *attrs, u32 *entry);
+
+/*
+ * ======== DBL_loadSect ========
+ * Load a named section from an library (for overlay support).
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * sectName - Name of section to load.
+ * attrs - Contains write function and handle to pass to it.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_ENOSECT: Section not found.
+ * DSP_EFWRITE: Write function failed.
+ * DSP_ENOTIMPL: Function not implemented.
+ * Requires:
+ * Valid lib.
+ * sectName != NULL.
+ * attrs != NULL.
+ * attrs->write != NULL.
+ * Ensures:
+ */
+typedef DSP_STATUS(*DBL_LoadSectFxn) (struct DBL_LibraryObj *lib,
+ char *pszSectName,
+ struct DBL_Attrs *attrs);
+
+/*
+ * ======== DBL_open ========
+ * DBL_open() returns a library handle that can be used to load/unload
+ * the symbols/code/data via DBL_load()/DBL_unload().
+ * Parameters:
+ * target - Handle returned from DBL_create().
+ * file - Name of file to open.
+ * flags - If flags & DBL_SYMB, load symbols.
+ * pLib - Location to store library handle on output.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_EMEMORY: Memory allocation failure.
+ * DSP_EFOPEN: File open failure.
+ * DSP_EFREAD: File read failure.
+ * DSP_ECORRUPTFILE: Unable to determine target type.
+ * Requires:
+ * DBL initialized.
+ * Valid target.
+ * file != NULL.
+ * pLib != NULL.
+ * DBL_Attrs fopen function non-NULL.
+ * Ensures:
+ * Success: Valid *pLib.
+ * Failure: *pLib == NULL.
+ */
+typedef DSP_STATUS(*DBL_OpenFxn) (struct DBL_TargetObj *target, char *file,
+ DBL_Flags flags,
+ struct DBL_LibraryObj **pLib);
+
+/*
+ * ======== DBL_readSect ========
+ * Read COFF section into a character buffer.
+ * Parameters:
+ * lib - Library handle returned from DBL_open().
+ * name - Name of section.
+ * pBuf - Buffer to write section contents into.
+ * size - Buffer size
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_ENOSECT: Named section does not exists.
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * name != NULL.
+ * pBuf != NULL.
+ * size != 0.
+ * Ensures:
+ */
+typedef DSP_STATUS(*DBL_ReadSectFxn) (struct DBL_LibraryObj *lib, char *name,
+ char *content, u32 uContentSize);
+
+/*
+ * ======== DBL_setAttrs ========
+ * Set the attributes of the target.
+ * Parameters:
+ * target - Handle returned from DBL_create().
+ * pAttrs - New attributes.
+ * Returns:
+ * Requires:
+ * DBL initialized.
+ * Valid target.
+ * pAttrs != NULL.
+ * Ensures:
+ */
+typedef void(*DBL_SetAttrsFxn) (struct DBL_TargetObj *target,
+ struct DBL_Attrs *attrs);
+
+/*
+ * ======== DBL_unload ========
+ * Unload library loaded with DBL_load().
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * attrs - Contains free() function and handle to pass to it.
+ * Returns:
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * Ensures:
+ */
+typedef void(*DBL_UnloadFxn) (struct DBL_LibraryObj *library,
+ struct DBL_Attrs *attrs);
+
+/*
+ * ======== DBL_unloadSect ========
+ * Unload a named section from an library (for overlay support).
+ * Parameters:
+ * lib - Handle returned from DBL_open().
+ * sectName - Name of section to load.
+ * attrs - Contains free() function and handle to pass to it.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_ENOSECT: Named section not found.
+ * DSP_ENOTIMPL
+ * Requires:
+ * DBL initialized.
+ * Valid lib.
+ * sectName != NULL.
+ * Ensures:
+ */
+typedef DSP_STATUS(*DBL_UnloadSectFxn) (struct DBL_LibraryObj *lib,
+ char *pszSectName,
+ struct DBL_Attrs *attrs);
+
+struct DBL_Fxns {
+ DBL_CloseFxn closeFxn;
+ DBL_CreateFxn createFxn;
+ DBL_DeleteFxn deleteFxn;
+ DBL_ExitFxn exitFxn;
+ DBL_GetAttrsFxn getAttrsFxn;
+ DBL_GetAddrFxn getAddrFxn;
+ DBL_GetCAddrFxn getCAddrFxn;
+ DBL_GetSectFxn getSectFxn;
+ DBL_InitFxn initFxn;
+ DBL_LoadFxn loadFxn;
+ DBL_LoadSectFxn loadSectFxn;
+ DBL_OpenFxn openFxn;
+ DBL_ReadSectFxn readSectFxn;
+ DBL_SetAttrsFxn setAttrsFxn;
+ DBL_UnloadFxn unloadFxn;
+ DBL_UnloadSectFxn unloadSectFxn;
+};
+
#endif /* DBLDEFS_ */
diff --git a/arch/arm/plat-omap/include/mach/bridge/dblldefs.h
b/arch/arm/plat-omap/include/mach/bridge/dblldefs.h
index 8d392f8..97b7baa 100644
--- a/arch/arm/plat-omap/include/mach/bridge/dblldefs.h
+++ b/arch/arm/plat-omap/include/mach/bridge/dblldefs.h
@@ -40,6 +40,10 @@
#define DBLL_MAXPATHLENGTH 255
+#ifndef _SIZE_T
+typedef unsigned int size_t;
+#define _SIZE_T
+#endif
/*
* ======== DBLL_Target ========
diff --git a/arch/arm/plat-omap/include/mach/bridge/dev.h
b/arch/arm/plat-omap/include/mach/bridge/dev.h
index a045209..fae1b2c 100644
--- a/arch/arm/plat-omap/include/mach/bridge/dev.h
+++ b/arch/arm/plat-omap/include/mach/bridge/dev.h
@@ -93,6 +93,8 @@
/* ----------------------------------- This */
#include <devdefs.h>
+/* Notification callback for DEV clients BRD and CHNL */
+ typedef void(CDECL *DEV_CALLBACK) (void *pArb, u32 ulStatus);
/*
* ======== DEV_BrdWriteFxn ========
@@ -715,7 +717,24 @@
extern DSP_STATUS CDECL DEV_NotifyClients(struct DEV_OBJECT *hDevObject,
u32 ulStatus);
-
+/*
+ * ======== DEV_RegisterNotify ========
+ * Purpose:
+ * Register a callback function and callback argument for DEV to call
+ * when a change in device status occurs.
+ * Parameters:
+ * hDevObject: Handle to device object created with DEV_CreateDevice().
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_EHANDLE: Invalid Dev Object handle.
+ * Requires:
+ * DEV Initialized.
+ * Ensures:
+ */
+ extern DSP_STATUS CDECL DEV_RegisterNotify(struct DEV_OBJECT
+ *hDevObject,
+ void *pArb,
+ DEV_CALLBACK lpCallback);
/*
* ======== DEV_RemoveDevice ========
diff --git a/arch/arm/plat-omap/include/mach/bridge/dldr.h
b/arch/arm/plat-omap/include/mach/bridge/dldr.h
deleted file mode 100644
index 6a21b6f..0000000
--- a/arch/arm/plat-omap/include/mach/bridge/dldr.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * bridge/inc/dldr.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-
-/*
- * ======== dldr.h ========
- *
- * Description:
- * DSP/BIOS Bridge dynamic loader interface. See the file dldrdefs.h
- * for a description of these functions.
- *
- * Public Functions:
- * DLDR_Allocate
- * DLDR_Create
- * DLDR_Delete
- * DLDR_Exit
- * DLDR_Free
- * DLDR_GetFxnAddr
- * DLDR_Init
- * DLDR_Load
- * DLDR_Unload
- *
- * Notes:
- *
- *! Revision History
- *! ================
- *! 31-Jul-2002 jeh Removed function header comments.
- *! 17-Apr-2002 jeh Created.
- */
-
-#include <dbdefs.h>
-#include <dbdcddef.h>
-#include <dldrdefs.h>
-
-#ifndef DLDR_
-#define DLDR_
-
- extern DSP_STATUS DLDR_Allocate(struct DLDR_OBJECT *hDldr,
- void *pPrivRef,
- IN CONST struct DCD_NODEPROPS
- *pNodeProps,
- OUT struct DLDR_NODEOBJECT
- **phDldrNode);
-
- extern DSP_STATUS DLDR_Create(OUT struct DLDR_OBJECT **phDldr,
- struct DEV_OBJECT *hDevObject,
- IN CONST struct DLDR_ATTRS *pAttrs);
-
- extern void DLDR_Delete(struct DLDR_OBJECT *hDldr);
- extern void DLDR_Exit();
- extern void DLDR_Free(struct DLDR_NODEOBJECT *hDldrNode);
-
- extern DSP_STATUS DLDR_GetFxnAddr(struct DLDR_NODEOBJECT *hDldrNode,
- char *pstrFxn, u32 *pulAddr);
-
- extern bool DLDR_Init();
- extern DSP_STATUS DLDR_Load(struct DLDR_NODEOBJECT *hDldrNode,
- enum DLDR_PHASE phase);
- extern DSP_STATUS DLDR_Unload(struct DLDR_NODEOBJECT *hDldrNode,
- enum DLDR_PHASE phase);
-
-#endif /* DLDR_ */
diff --git a/arch/arm/plat-omap/include/mach/bridge/dldrdefs.h
b/arch/arm/plat-omap/include/mach/bridge/dldrdefs.h
deleted file mode 100644
index cf20c14..0000000
--- a/arch/arm/plat-omap/include/mach/bridge/dldrdefs.h
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * bridge/inc/dldrdefs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-
-/*
- * ======== dldrdefs.h ========
- *
- * Description:
- * DSP/BIOS Bridge loader interface. This is the interface shared by
- * all loaders (eg, static loader and dynamic loader). This interface will
- * be used by NODE.
- *
- *! Revision History
- *! ================
- *! 16-Sep-2002 map Updated with code review changes
- *! 24-Apr-2002 jeh Added DLDR_WRITEFXN.
- *! 05-Nov-2001 jeh Changed some function error return codes.
- *! 17-Sep-2001 jeh Added function typedefs.
- *! 22-Aug-2001 jeh Created.
- */
-
-#ifndef DLDRDEFS_
-#define DLDRDEFS_
-
-#include <dbdcddef.h>
-#include <dev.h>
-
-#define DLDR_MAXPATHLENGTH 255
-
-/* DLDR Objects: */
- struct DLDR_OBJECT;
- struct DLDR_NODEOBJECT;
-
-/*
- * ======== DLDR_LOADTYPE ========
- * Load types for a node. Must match values in node.h55.
- */
- enum DLDR_LOADTYPE {
- DLDR_STATICLOAD, /* Linked in base image, not overlay */
- DLDR_DYNAMICLOAD, /* Dynamically loaded node */
- DLDR_OVLYLOAD /* Linked in base image, overlay node */
- } ;
-
-/*
- * ======== DLDR_OVLYFXN ========
- * Causes code or data to be copied from load address to run address. This
- * is the "COD_WRITEFXN" that gets passed to the DBL_Library and is used as
- * the ZL write function.
- *
- * Parameters:
- * pPrivRef: Handle to identify the node.
- * ulDspRunAddr: Run address of code or data.
- * ulDspLoadAddr: Load address of code or data.
- * ulNumBytes: Number of (GPP) bytes to copy.
- * nMemSpace: RMS_CODE or RMS_DATA.
- * Returns:
- * ulNumBytes: Success.
- * 0: Failure.
- * Requires:
- * Ensures:
- */
- typedef u32(CDECL *DLDR_OVLYFXN) (void *pPrivRef, u32 ulDspRunAddr,
- u32 ulDspLoadAddr,
- u32 ulNumBytes, u32 nMemSpace);
-
-/*
- * ======== DLDR_WRITEFXN ========
- * Write memory function. Used for dynamic load writes.
- * Parameters:
- * pPrivRef: Handle to identify the node.
- * ulDspAddr: Address of code or data.
- * pBuf: Code or data to be written
- * ulNumBytes: Number of (GPP) bytes to write.
- * nMemSpace: DBL_DATA or DBL_CODE.
- * Returns:
- * ulNumBytes: Success.
- * 0: Failure.
- * Requires:
- * Ensures:
- */
- typedef u32(CDECL *DLDR_WRITEFXN) (void *pPrivRef,
- u32 ulDspAddr,
- void *pBuf,
- u32 ulNumBytes, u32 nMemSpace);
-
-/*
- * ======== DLDR_ATTRS ========
- * Attributes passed to DLDR_Create function.
- */
- struct DLDR_ATTRS {
- DLDR_OVLYFXN pfnOvly;
- DLDR_WRITEFXN pfnWrite;
- u16 usDSPWordSize;
- u16 usDSPMauSize;
- } ;
-
-/*
- * ======== DLDR_PHASE ========
- * Indicates node create, delete, or execute phase function.
- */
- enum DLDR_PHASE {
- DLDR_CREATE,
- DLDR_DELETE,
- DLDR_EXECUTE,
- DLDR_NOPHASE
- } ;
-
-/*
- * Typedefs of loader functions imported from a DLL, or defined in a
- * function table.
- */
-
-/*
- * ======== DLDR_Allocate ========
- * Allocate resources to manage the loading of a node on the DSP.
- *
- * Parameters:
- * hDldr: Handle of loader that will load the node.
- * pPrivRef: Handle to identify the node.
- * pNodeProps: Pointer to a DCD_NODEPROPS for the node.
- * phDldrNode: Location to store node handle on output. This handle
- * will be passed to DLDR_Load/DLDR_Unload.
- * pfPhaseSplit: pointer to boolean variable referenced in node.c
- * Returns:
- * DSP_SOK: Success.
- * DSP_EMEMORY: Insufficient memory on GPP.
- * Requires:
- * DLDR_Init() called.
- * Valid hDldr.
- * pNodeProps != NULL.
- * phDldrNode != NULL.
- * Ensures:
- * DSP_SOK: IsValidNode(*phDldrNode).
- * error: *phDldrNode == NULL.
- */
- typedef DSP_STATUS(*DLDR_ALLOCATEFXN) (struct DLDR_OBJECT *hDldr,
- void *pPrivRef,
- IN CONST struct DCD_NODEPROPS *
- pNodeProps,
- OUT struct DLDR_NODEOBJECT
- **phDldrNode,
- OUT bool *pfPhaseSplit);
-
-/*
- * ======== DLDR_Create ========
- * Create a loader object. This object handles the loading and unloading of
- * create, delete, and execute phase functions of nodes on the DSP target.
- *
- * Parameters:
- * phDldr: Location to store loader handle on output.
- * hDevObject: Device for this processor.
- * pAttrs: Loader attributes.
- * Returns:
- * DSP_SOK: Success;
- * DSP_EMEMORY: Insufficient memory for requested resources.
- * Requires:
- * DLDR_Init() called.
- * phDldr != NULL.
- * hDevObject != NULL.
- * pAttrs != NULL.
- * Ensures:
- * DSP_SOK: Valid *phDldr.
- * error: *phDldr == NULL.
- */
- typedef DSP_STATUS(*DLDR_CREATEFXN) (OUT struct DLDR_OBJECT **phDldr,
- struct DEV_OBJECT *hDevObject,
- IN CONST struct DLDR_ATTRS
- *pAttrs);
-
-/*
- * ======== DLDR_Delete ========
- * Delete the DLDR loader.
- *
- * Parameters:
- * hDldr: Node manager object.
- * Returns:
- * Requires:
- * DLDR_Init() called.
- * Valid hDldr.
- * Ensures:
- * hDldr invalid
- */
- typedef void(*DLDR_DELETEFXN) (struct DLDR_OBJECT *hDldr);
-
-/*
- * ======== DLDR_Exit ========
- * Discontinue usage of DLDR module.
- *
- * Parameters:
- * Returns:
- * Requires:
- * DLDR_Init() successfully called before.
- * Ensures:
- * Any resources acquired in DLDR_Init() will be freed when last DLDR
- * client calls DLDR_Exit().
- */
- typedef void(*DLDR_EXITFXN) ();
-
-/*
- * ======== DLDR_Free ========
- * Free resources allocated in DLDR_Allocate.
- *
- * Parameters:
- * hDldrNode: Handle returned from DLDR_Allocate().
- * Returns:
- * Requires:
- * DLDR_Init() called.
- * Valid hDldrNode.
- * Ensures:
- */
- typedef void(*DLDR_FREEFXN) (struct DLDR_NODEOBJECT *hDldrNode);
-
-/*
- * ======== DLDR_GetFxnAddr ========
- * Get address of create, delete, or execute phase function of a node on
- * the DSP.
- *
- * Parameters:
- * hDldrNode: Handle returned from DLDR_Allocate().
- * pstrFxn: Name of function.
- * pulAddr: Location to store function address.
- * Returns:
- * DSP_SOK: Success.
- * DSP_ESYMBOL: Address of function not found.
- * Requires:
- * DLDR_Init() called.
- * Valid hDldrNode.
- * pulAddr != NULL;
- * pstrFxn != NULL;
- * Ensures:
- */
- typedef DSP_STATUS(*DLDR_GETFXNADDRFXN) (struct DLDR_NODEOBJECT
- *hDldrNode,
- char *pstrFxn, u32 *pulAddr);
-
-/*
- * ======== DLDR_Init ========
- * Initialize the DLDR module.
- *
- * Parameters:
- * Returns:
- * TRUE if initialization succeeded, FALSE otherwise.
- * Ensures:
- */
- typedef bool(*DLDR_INITFXN) ();
-
-/*
- * ======== DLDR_Load ========
- * Load create, delete, or execute phase function of a node on the DSP.
- *
- * Parameters:
- * hDldrNode: Handle returned from DLDR_Allocate().
- * phase: Type of function to load (create, delete, or execute).
- * Returns:
- * DSP_SOK: Success.
- * DSP_EMEMORY: Insufficient memory on GPP.
- * DSP_EOVERLAYMEMORY: Can't overlay phase because overlay memory
- * is already in use.
- * DSP_EDYNLOAD: Failure in dynamic loader library.
- * DSP_EFWRITE: Failed to write phase's code or date to target.
- * Requires:
- * DLDR_Init() called.
- * Valid hDldrNode.
- * Ensures:
- */
- typedef DSP_STATUS(*DLDR_LOADFXN) (struct DLDR_NODEOBJECT *hDldrNode,
- enum DLDR_PHASE phase);
-
-/*
- * ======== DLDR_Unload ========
- * Unload create, delete, or execute phase function of a node on the DSP.
- *
- * Parameters:
- * hDldrNode: Handle returned from DLDR_Allocate().
- * phase: Node function to unload (create, delete, or execute).
- * Returns:
- * DSP_SOK: Success.
- * DSP_EMEMORY: Insufficient memory on GPP.
- * Requires:
- * DLDR_Init() called.
- * Valid hDldrNode.
- * Ensures:
- */
- typedef DSP_STATUS(*DLDR_UNLOADFXN) (struct DLDR_NODEOBJECT *hDldrNode,
- enum DLDR_PHASE phase);
-
-/*
- * ======== DLDR_FXNS ========
- */
- struct DLDR_FXNS {
- DLDR_ALLOCATEFXN pfnAllocate;
- DLDR_CREATEFXN pfnCreate;
- DLDR_DELETEFXN pfnDelete;
- DLDR_EXITFXN pfnExit;
- DLDR_FREEFXN pfnFree;
- DLDR_GETFXNADDRFXN pfnGetFxnAddr;
- DLDR_INITFXN pfnInit;
- DLDR_LOADFXN pfnLoad;
- DLDR_UNLOADFXN pfnUnload;
- } ;
-
-#endif /* DLDRDEFS_ */
diff --git a/arch/arm/plat-omap/include/mach/bridge/getsection.h
b/arch/arm/plat-omap/include/mach/bridge/getsection.h
index d2eeb52..dd6f8a0 100644
--- a/arch/arm/plat-omap/include/mach/bridge/getsection.h
+++ b/arch/arm/plat-omap/include/mach/bridge/getsection.h
@@ -18,7 +18,10 @@
#ifndef _GETSECTION_H_
#define _GETSECTION_H_
-
+#ifndef _SIZE_T /* Linux sets _SIZE_T on defining
size_t */
+typedef unsigned int size_t;
+#define _SIZE_T
+#endif
#include "dynamic_loader.h"
/*
diff --git a/arch/arm/plat-omap/include/mach/bridge/isr.h
b/arch/arm/plat-omap/include/mach/bridge/isr.h
index fb397bb..3aceb09 100644
--- a/arch/arm/plat-omap/include/mach/bridge/isr.h
+++ b/arch/arm/plat-omap/include/mach/bridge/isr.h
@@ -21,9 +21,13 @@
* Interrupt services.
*
* Public Functions:
+ * ISR_Disable
* ISR_Exit
+ * ISR_GetStatus
* ISR_Init
* ISR_Install
+ * ISR_Restore
+ * ISR_SimulateInt
* ISR_Uninstall
*
* Notes:
@@ -76,6 +80,19 @@
typedef bool (CDECL *ISR_PROC) (void *pRefData);
/*
+ * ======== ISR_Disable ========
+ * Purpose:
+ * Turns off interrupts to begin a critical section of code.
+ * Not implemented in CE
+ * Parameters:
+ * pFlags: Location to store flags.
+ * Returns:
+ * Requires:
+ * Ensures:
+ */
+ extern void CDECL ISR_Disable(OUT u32 *pFlags);
+
+/*
* ======== ISR_Exit ========
* Purpose:
* Discontinue usage of the ISR module.
@@ -89,6 +106,25 @@
extern void CDECL ISR_Exit();
/*
+ * ======== ISR_GetStatus ========
+ * Purpose:
+ * Return platform specific status flags containing information about
+ * a virtualized IRQ. Used by clients for debugging only.
+ * Not implemented.
+ * Parameters:
+ * hIRQ: Interrupt object handle as returned by ISR_Install().
+ * pdwFlags: Location to store status flags on output.
+ * Returns:
+ * DSP_SOK: Success;
+ * DSP_ENOTIMPL: Not implemented
+ * Requires:
+ * pdwFlags != NULL.
+ * Ensures:
+ */
+ extern DSP_STATUS CDECL ISR_GetStatus(IN struct ISR_IRQ *hIRQ,
+ OUT u32 *pdwFlags);
+
+/*
* ======== ISR_Init ========
* Purpose:
* Initialize the ISR module's private state.
@@ -134,7 +170,36 @@
IN u32 dwIntrType,
IN void *pRefData);
+/*
+ * ======== ISR_Restore ========
+ * Purpose:
+ * In CE, the client should use ISR_Install to restore the interrupt.
+ * Parameters:
+ * saveFlags: To save or not to save.
+ * Returns:
+ * Requires:
+ * Ensures:
+ */
+ extern void CDECL ISR_Restore(IN u32 saveFlags);
+/*
+ * ======== ISR_SimulateInt ========
+ * Purpose:
+ * Simulate a hardware interrupt.
+ * Parameters:
+ * hIRQ: Interrupt object handle as returned by ISR_Install().
+ * Returns:
+ * DSP_SOK: Success;
+ * DSP_ENOTIMPL: Not yet implemented.
+ * DSP_EHANDLE: Invalid hIRQ.
+ * Requires:
+ * DSP_SOK: An interrupt handler must have been previously installed
+ * with ISR_Install().
+ * Ensures:
+ * DSP_SOK: The ISR installed by ISR_Install() will be called, before
+ * or after this function returns.
+ */
+ extern DSP_STATUS CDECL ISR_SimulateInt(IN struct ISR_IRQ *hIRQ);
/*
* ======== ISR_Uninstall ========
diff --git a/arch/arm/plat-omap/include/mach/bridge/prcs.h
b/arch/arm/plat-omap/include/mach/bridge/prcs.h
index 5240449..b660600 100644
--- a/arch/arm/plat-omap/include/mach/bridge/prcs.h
+++ b/arch/arm/plat-omap/include/mach/bridge/prcs.h
@@ -23,6 +23,7 @@
* Public Functions:
* PRCS_Exit
* PRCS_GetCurrentHandle
+ * PRCS_GetCurThreadHandle
* PRCS_Init
*
*! Revision History:
@@ -68,7 +69,21 @@
*/
extern DSP_STATUS PRCS_GetCurrentHandle(OUT HANDLE *phProcess);
-
+/*
+ * ======== PRCS_GetCurThreadHandle ========
+ * Purpose:
+ * Retrieve the current thread handle
+ * Parameters:
+ * phThread: Location to store the current thread handle.
+ * Returns:
+ * DSP_SOK: Success.
+ * DSP_EPOINTER: Invalid argument.
+ * Requires:
+ * PRCS initialized.
+ * Ensures:
+ * If returned DSP_SOK, phThread is a valid pseudo thread handle.
+ */
+ extern DSP_STATUS PRCS_GetCurThreadHandle(OUT HANDLE *phThread);
/*
* ======== PRCS_Init ========
diff --git a/arch/arm/plat-omap/include/mach/bridge/rmstypes.h
b/arch/arm/plat-omap/include/mach/bridge/rmstypes.h
index 6f5888c..05ad525 100644
--- a/arch/arm/plat-omap/include/mach/bridge/rmstypes.h
+++ b/arch/arm/plat-omap/include/mach/bridge/rmstypes.h
@@ -36,5 +36,6 @@
#include <std.h>
typedef u32 RMS_WORD;
typedef char RMS_CHAR;
+typedef u32 RMS_STATUS;
#endif /* RMSTYPES_ */
diff --git a/drivers/dsp/bridge/hw/GlobalTypes.h
b/drivers/dsp/bridge/hw/GlobalTypes.h
index 0223e0c..ac410f5 100644
--- a/drivers/dsp/bridge/hw/GlobalTypes.h
+++ b/drivers/dsp/bridge/hw/GlobalTypes.h
@@ -208,7 +208,8 @@
#define READ_UPPER_8BITS_OF_16(value16bits)\
(((u8)((u32)(value16bits) >> UPPER_8BIT_SHIFT)) & LOWER_8BIT_MASK)
-
+/* 8 bit tpyes */
+typedef signed char WORD8;
/* UWORD16: 16 bit tpyes */
@@ -231,7 +232,9 @@ typedef volatile unsigned long REG_UWORD32;
* Type to be used for floating point calculation. Note that floating point
* calculation is very CPU expensive, and you should only use if you
* absolutely need this. */
-
+#ifndef OMAPBRIDGE_TYPES
+typedef float FLOAT;
+#endif
/* boolean_t: Boolean Type True, False */
/* ReturnCode_t: Return codes to be returned by all library functions */
diff --git a/drivers/dsp/bridge/wmd/_msg_sm.h b/drivers/dsp/bridge/wmd/_msg_sm.h
index d7e796c..fefcdc5 100644
--- a/drivers/dsp/bridge/wmd/_msg_sm.h
+++ b/drivers/dsp/bridge/wmd/_msg_sm.h
@@ -81,10 +81,10 @@
* size - Number of messages to be read by the GPP.
*/
struct MSG {
- u32 bufEmpty; /* to/from DSP buffer is empty */
- u32 postSWI; /* Set to "1" to post MSG SWI */
- u32 size; /* Number of messages to/from the DSP */
- u32 resvd;
+ SMWORD bufEmpty; /* to/from DSP buffer is empty */
+ SMWORD postSWI; /* Set to "1" to post MSG SWI */
+ SMWORD size; /* Number of messages to/from the DSP */
+ SMWORD resvd;
} ;
/*
--
1.5.6.4
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html