public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: "Ramirez Luna, Omar" <omar.ramirez@ti.com>
Cc: linux-omap <linux-omap@vger.kernel.org>,
	Artem Bityutskiy <dedekind1@gmail.com>,
	Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
Subject: Re: [PATCH 4/9] DSPBRIDGE: Use _IOxx macro to define ioctls
Date: Wed, 25 Nov 2009 15:51:08 -0600	[thread overview]
Message-ID: <4B0DA6CC.10909@ti.com> (raw)
In-Reply-To: <1259023830-7557-5-git-send-email-omar.ramirez@ti.com>

Ramirez Luna, Omar had written, on 11/23/2009 06:50 PM, the following:
> Use standard convention to define ioctls.
> 
> Currently 'DB' is used as identifier for dspbridge.
> 
> *** NOTE: An update in api ioctl definitions is required. ***
Definitely YES ;)

> 
> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
> ---
>  arch/arm/plat-omap/include/dspbridge/wcdioctl.h |  142 ++++++++++-------------
>  drivers/dsp/bridge/pmgr/wcd.c                   |  116 +++++++++----------
>  2 files changed, 117 insertions(+), 141 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/include/dspbridge/wcdioctl.h b/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
> index 397361c..8aaa1ec 100644
> --- a/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
> +++ b/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
> @@ -391,83 +391,67 @@ union Trapped_Args {
>         } ARGS_UTIL_TESTDLL;
>  } ;
> 
> -#define CMD_BASE                   101
> -
> -/* MGR module offsets */
> -#define CMD_MGR_BASE_OFFSET         CMD_BASE
> -#define CMD_MGR_ENUMNODE_INFO_OFFSET    (CMD_MGR_BASE_OFFSET + 0)
> -#define CMD_MGR_ENUMPROC_INFO_OFFSET    (CMD_MGR_BASE_OFFSET + 1)
> -#define CMD_MGR_REGISTEROBJECT_OFFSET   (CMD_MGR_BASE_OFFSET + 2)
> -#define CMD_MGR_UNREGISTEROBJECT_OFFSET (CMD_MGR_BASE_OFFSET + 3)
> -#define CMD_MGR_WAIT_OFFSET         (CMD_MGR_BASE_OFFSET + 4)
> -
> -#ifndef RES_CLEANUP_DISABLE
> -#define CMD_MGR_RESOUCES_OFFSET         (CMD_MGR_BASE_OFFSET + 5)
> -#define CMD_MGR_END_OFFSET           CMD_MGR_RESOUCES_OFFSET
> -#else
> -#define CMD_MGR_END_OFFSET           CMD_MGR_WAIT_OFFSET
> -#endif
> -
> -#define CMD_PROC_BASE_OFFSET       (CMD_MGR_END_OFFSET + 1)
> -#define CMD_PROC_ATTACH_OFFSET   (CMD_PROC_BASE_OFFSET + 0)
> -#define CMD_PROC_CTRL_OFFSET       (CMD_PROC_BASE_OFFSET + 1)
> -#define CMD_PROC_DETACH_OFFSET   (CMD_PROC_BASE_OFFSET + 2)
> -#define CMD_PROC_ENUMNODE_OFFSET       (CMD_PROC_BASE_OFFSET + 3)
> -#define CMD_PROC_ENUMRESOURCES_OFFSET   (CMD_PROC_BASE_OFFSET + 4)
> -#define CMD_PROC_GETSTATE_OFFSET       (CMD_PROC_BASE_OFFSET + 5)
> -#define CMD_PROC_GETTRACE_OFFSET       (CMD_PROC_BASE_OFFSET + 6)
> -#define CMD_PROC_LOAD_OFFSET       (CMD_PROC_BASE_OFFSET + 7)
> -#define CMD_PROC_REGISTERNOTIFY_OFFSET  (CMD_PROC_BASE_OFFSET + 8)
> -#define CMD_PROC_START_OFFSET     (CMD_PROC_BASE_OFFSET + 9)
> -#define CMD_PROC_RSVMEM_OFFSET   (CMD_PROC_BASE_OFFSET + 10)
> -#define CMD_PROC_UNRSVMEM_OFFSET       (CMD_PROC_BASE_OFFSET + 11)
> -#define CMD_PROC_MAPMEM_OFFSET   (CMD_PROC_BASE_OFFSET + 12)
> -#define CMD_PROC_UNMAPMEM_OFFSET       (CMD_PROC_BASE_OFFSET + 13)
> -#define CMD_PROC_FLUSHMEMORY_OFFSET      (CMD_PROC_BASE_OFFSET + 14)
> -#define CMD_PROC_STOP_OFFSET       (CMD_PROC_BASE_OFFSET + 15)
> -#define CMD_PROC_INVALIDATEMEMORY_OFFSET (CMD_PROC_BASE_OFFSET + 16)
> -#define CMD_PROC_END_OFFSET         CMD_PROC_INVALIDATEMEMORY_OFFSET
> -
> -
> -#define CMD_NODE_BASE_OFFSET       (CMD_PROC_END_OFFSET + 1)
> -#define CMD_NODE_ALLOCATE_OFFSET       (CMD_NODE_BASE_OFFSET + 0)
> -#define CMD_NODE_ALLOCMSGBUF_OFFSET     (CMD_NODE_BASE_OFFSET + 1)
> -#define CMD_NODE_CHANGEPRIORITY_OFFSET  (CMD_NODE_BASE_OFFSET + 2)
> -#define CMD_NODE_CONNECT_OFFSET         (CMD_NODE_BASE_OFFSET + 3)
> -#define CMD_NODE_CREATE_OFFSET   (CMD_NODE_BASE_OFFSET + 4)
> -#define CMD_NODE_DELETE_OFFSET   (CMD_NODE_BASE_OFFSET + 5)
> -#define CMD_NODE_FREEMSGBUF_OFFSET      (CMD_NODE_BASE_OFFSET + 6)
> -#define CMD_NODE_GETATTR_OFFSET         (CMD_NODE_BASE_OFFSET + 7)
> -#define CMD_NODE_GETMESSAGE_OFFSET      (CMD_NODE_BASE_OFFSET + 8)
> -#define CMD_NODE_PAUSE_OFFSET     (CMD_NODE_BASE_OFFSET + 9)
> -#define CMD_NODE_PUTMESSAGE_OFFSET      (CMD_NODE_BASE_OFFSET + 10)
> -#define CMD_NODE_REGISTERNOTIFY_OFFSET  (CMD_NODE_BASE_OFFSET + 11)
> -#define CMD_NODE_RUN_OFFSET         (CMD_NODE_BASE_OFFSET + 12)
> -#define CMD_NODE_TERMINATE_OFFSET       (CMD_NODE_BASE_OFFSET + 13)
> -#define CMD_NODE_GETUUIDPROPS_OFFSET    (CMD_NODE_BASE_OFFSET + 14)
> -#define CMD_NODE_END_OFFSET         CMD_NODE_GETUUIDPROPS_OFFSET
> -
> -#define CMD_STRM_BASE_OFFSET       (CMD_NODE_END_OFFSET + 1)
> -#define CMD_STRM_ALLOCATEBUFFER_OFFSET  (CMD_STRM_BASE_OFFSET + 0)
> -#define CMD_STRM_CLOSE_OFFSET     (CMD_STRM_BASE_OFFSET + 1)
> -#define CMD_STRM_FREEBUFFER_OFFSET      (CMD_STRM_BASE_OFFSET + 2)
> -#define CMD_STRM_GETEVENTHANDLE_OFFSET  (CMD_STRM_BASE_OFFSET + 3)
> -#define CMD_STRM_GETINFO_OFFSET         (CMD_STRM_BASE_OFFSET + 4)
> -#define CMD_STRM_IDLE_OFFSET       (CMD_STRM_BASE_OFFSET + 5)
> -#define CMD_STRM_ISSUE_OFFSET     (CMD_STRM_BASE_OFFSET + 6)
> -#define CMD_STRM_OPEN_OFFSET       (CMD_STRM_BASE_OFFSET + 7)
> -#define CMD_STRM_RECLAIM_OFFSET         (CMD_STRM_BASE_OFFSET + 8)
> -#define CMD_STRM_REGISTERNOTIFY_OFFSET  (CMD_STRM_BASE_OFFSET + 9)
> -#define CMD_STRM_SELECT_OFFSET   (CMD_STRM_BASE_OFFSET + 10)
> -#define CMD_STRM_END_OFFSET         CMD_STRM_SELECT_OFFSET
> -
> -/* Communication Memory Manager (UCMM) */
> -#define CMD_CMM_BASE_OFFSET         (CMD_STRM_END_OFFSET + 1)
> -#define CMD_CMM_ALLOCBUF_OFFSET         (CMD_CMM_BASE_OFFSET + 0)
> -#define CMD_CMM_FREEBUF_OFFSET   (CMD_CMM_BASE_OFFSET + 1)
> -#define CMD_CMM_GETHANDLE_OFFSET       (CMD_CMM_BASE_OFFSET + 2)
> -#define CMD_CMM_GETINFO_OFFSET   (CMD_CMM_BASE_OFFSET + 3)
> -#define CMD_CMM_END_OFFSET           CMD_CMM_GETINFO_OFFSET
> -
> -#define CMD_BASE_END_OFFSET    CMD_CMM_END_OFFSET
> +/* MGR module */
Documentation/CodingStyle again:
"                Chapter 12: Macros, Enums and RTL
[..]

Enums are preferred when defining several related constants.
"
here is a perfect example of this.
using an enum will ensure that any mistakes you might do gets flagged as 
well.

> +#define MGR_ENUMNODE_INFO      _IOWR('DB', 0, unsigned long)
> +#define MGR_ENUMPROC_INFO      _IOWR('DB', 1, unsigned long)
> +#define MGR_REGISTEROBJECT     _IOWR('DB', 2, unsigned long)
> +#define MGR_UNREGISTEROBJECT   _IOWR('DB', 3, unsigned long)   /* Deprecated */

cant you use __deprecated to flag instead of putting a Deprecated 
comment which is never read?

> +#define MGR_WAIT               _IOWR('DB', 4, unsigned long)
> +#define MGR_GET_PROC_RES       _IOR('DB', 5, unsigned long)    /* Deprecated */
> +
> +/* PROC Module */
> +#define PROC_ATTACH            _IOWR('DB', 6, unsigned long)
> +#define PROC_CTRL              _IOR('DB', 7, unsigned long)
> +#define PROC_DETACH            _IOR('DB', 8, unsigned long)    /* Deprecated */
> +#define PROC_ENUMNODE          _IOWR('DB', 9, unsigned long)
> +#define PROC_ENUMRESOURCES     _IOWR('DB', 10, unsigned long)
> +#define PROC_GET_STATE         _IOWR('DB', 11, unsigned long)
> +#define PROC_GET_TRACE         _IOWR('DB', 12, unsigned long)
> +#define PROC_LOAD              _IOW('DB', 13, unsigned long)
> +#define PROC_REGISTERNOTIFY    _IOWR('DB', 14, unsigned long)
> +#define PROC_START             _IOW('DB', 15, unsigned long)
> +#define PROC_RSVMEM            _IOWR('DB', 16, unsigned long)
> +#define PROC_UNRSVMEM          _IOW('DB', 17, unsigned long)
> +#define PROC_MAPMEM            _IOWR('DB', 18, unsigned long)
> +#define PROC_UNMAPMEM          _IOR('DB', 19, unsigned long)
> +#define PROC_FLUSHMEMORY       _IOW('DB', 20, unsigned long)
> +#define PROC_STOP              _IOWR('DB', 21, unsigned long)
> +#define PROC_INVALIDATEMEMORY  _IOW('DB', 22, unsigned long)
> +
> +/* NODE Module */
> +#define NODE_ALLOCATE          _IOWR('DB', 23, unsigned long)
> +#define NODE_ALLOCMSGBUF       _IOWR('DB', 24, unsigned long)
> +#define NODE_CHANGEPRIORITY    _IOW('DB', 25, unsigned long)
> +#define NODE_CONNECT           _IOW('DB', 26, unsigned long)
> +#define NODE_CREATE            _IOW('DB', 27, unsigned long)
> +#define NODE_DELETE            _IOW('DB', 28, unsigned long)
> +#define NODE_FREEMSGBUF                _IOW('DB', 29, unsigned long)
> +#define NODE_GETATTR           _IOWR('DB', 30, unsigned long)
> +#define NODE_GETMESSAGE                _IOWR('DB', 31, unsigned long)
> +#define NODE_PAUSE             _IOW('DB', 32, unsigned long)
> +#define NODE_PUTMESSAGE                _IOW('DB', 33, unsigned long)
> +#define NODE_REGISTERNOTIFY    _IOWR('DB', 34, unsigned long)
> +#define NODE_RUN               _IOW('DB', 35, unsigned long)
> +#define NODE_TERMINATE         _IOWR('DB', 36, unsigned long)
> +#define NODE_GETUUIDPROPS      _IOWR('DB', 37, unsigned long)
> +
> +/* STRM Module */
> +#define STRM_ALLOCATEBUFFER    _IOWR('DB', 38, unsigned long)
> +#define STRM_CLOSE             _IOW('DB', 39, unsigned long)
> +#define STRM_FREEBUFFER                _IOWR('DB', 40, unsigned long)
> +#define STRM_GETEVENTHANDLE    _IO('DB', 41)                   /* Not Impl'd */

Then why present?

> +#define STRM_GETINFO           _IOWR('DB', 42, unsigned long)
> +#define STRM_IDLE              _IOW('DB', 43, unsigned long)
> +#define STRM_ISSUE             _IOW('DB', 44, unsigned long)
> +#define STRM_OPEN              _IOWR('DB', 45, unsigned long)
> +#define STRM_RECLAIM           _IOWR('DB', 46, unsigned long)
> +#define STRM_REGISTERNOTIFY    _IOWR('DB', 47, unsigned long)
> +#define STRM_SELECT            _IOWR('DB', 48, unsigned long)
> +
> +/* CMM Module */
> +#define CMM_ALLOCBUF           _IO('DB', 49)                   /* Not Impl'd */
> +#define CMM_FREEBUF            _IO('DB', 50)                   /* Not Impl'd */
then why present?

> +#define CMM_GETHANDLE          _IOR('DB', 51, unsigned long)
> +#define CMM_GETINFO            _IOR('DB', 52, unsigned long)
> +
>  #endif                         /* WCDIOCTL_ */
> diff --git a/drivers/dsp/bridge/pmgr/wcd.c b/drivers/dsp/bridge/pmgr/wcd.c
> index 0d0ba8e..8ba98af 100644
> --- a/drivers/dsp/bridge/pmgr/wcd.c
> +++ b/drivers/dsp/bridge/pmgr/wcd.c
> @@ -96,65 +96,65 @@ static u32 WCD_cRefs;
>   */
>  static struct WCD_Cmd WCD_cmdTable[] = {
please please remove this structure.. trying to use a switch based 
handling is so much easier..

you can even do segregated handling based on:

case _IOC_TYPE('DB') :
	ioctl_handler_for_db(...);
	break;

>         /* MGR module */
> -       {MGRWRAP_EnumNode_Info, CMD_MGR_ENUMNODE_INFO_OFFSET},
> -       {MGRWRAP_EnumProc_Info, CMD_MGR_ENUMPROC_INFO_OFFSET},
> -       {MGRWRAP_RegisterObject, CMD_MGR_REGISTEROBJECT_OFFSET},
> -       {MGRWRAP_UnregisterObject, CMD_MGR_UNREGISTEROBJECT_OFFSET},
> -       {MGRWRAP_WaitForBridgeEvents, CMD_MGR_WAIT_OFFSET},
> +       {MGRWRAP_EnumNode_Info},                /* MGR_ENUMNODE_INFO */
> +       {MGRWRAP_EnumProc_Info},                /* MGR_ENUMPROC_INFO */
> +       {MGRWRAP_RegisterObject},               /* MGR_REGISTEROBJECT */
> +       {MGRWRAP_UnregisterObject},             /* MGR_UNREGISTEROBJECT */
> +       {MGRWRAP_WaitForBridgeEvents},          /* MGR_WAIT */
>  #ifndef RES_CLEANUP_DISABLE
> -       {MGRWRAP_GetProcessResourcesInfo, CMD_MGR_RESOUCES_OFFSET},
> +       {MGRWRAP_GetProcessResourcesInfo},      /* MGR_GET_PROC_RES */
>  #endif
>         /* PROC Module */
> -       {PROCWRAP_Attach, CMD_PROC_ATTACH_OFFSET},
> -       {PROCWRAP_Ctrl, CMD_PROC_CTRL_OFFSET},
> -       {PROCWRAP_Detach, CMD_PROC_DETACH_OFFSET},
> -       {PROCWRAP_EnumNode_Info, CMD_PROC_ENUMNODE_OFFSET},
> -       {PROCWRAP_EnumResources, CMD_PROC_ENUMRESOURCES_OFFSET},
> -       {PROCWRAP_GetState, CMD_PROC_GETSTATE_OFFSET},
> -       {PROCWRAP_GetTrace, CMD_PROC_GETTRACE_OFFSET},
> -       {PROCWRAP_Load, CMD_PROC_LOAD_OFFSET},
> -       {PROCWRAP_RegisterNotify, CMD_PROC_REGISTERNOTIFY_OFFSET},
> -       {PROCWRAP_Start, CMD_PROC_START_OFFSET},
> -       {PROCWRAP_ReserveMemory, CMD_PROC_RSVMEM_OFFSET},
> -       {PROCWRAP_UnReserveMemory, CMD_PROC_UNRSVMEM_OFFSET},
> -       {PROCWRAP_Map, CMD_PROC_MAPMEM_OFFSET},
> -       {PROCWRAP_UnMap, CMD_PROC_UNMAPMEM_OFFSET},
> -       {PROCWRAP_FlushMemory, CMD_PROC_FLUSHMEMORY_OFFSET},
> -       {PROCWRAP_Stop, CMD_PROC_STOP_OFFSET},
> -       {PROCWRAP_InvalidateMemory, CMD_PROC_INVALIDATEMEMORY_OFFSET},
> +       {PROCWRAP_Attach},                      /* PROC_ATTACH */
> +       {PROCWRAP_Ctrl},                        /* PROC_CTRL */
> +       {PROCWRAP_Detach},                      /* PROC_DETACH */
> +       {PROCWRAP_EnumNode_Info},               /* PROC_ENUMNODE */
> +       {PROCWRAP_EnumResources},               /* PROC_ENUMRESOURCES */
> +       {PROCWRAP_GetState},                    /* PROC_GET_STATE */
> +       {PROCWRAP_GetTrace},                    /* PROC_GET_TRACE */
> +       {PROCWRAP_Load},                        /* PROC_LOAD */
> +       {PROCWRAP_RegisterNotify},              /* PROC_REGISTERNOTIFY */
> +       {PROCWRAP_Start},                       /* PROC_START */
> +       {PROCWRAP_ReserveMemory},               /* PROC_RSVMEM */
> +       {PROCWRAP_UnReserveMemory},             /* PROC_UNRSVMEM */
> +       {PROCWRAP_Map},                         /* PROC_MAPMEM */
> +       {PROCWRAP_UnMap},                       /* PROC_UNMAPMEM */
> +       {PROCWRAP_FlushMemory},                 /* PROC_FLUSHMEMORY */
> +       {PROCWRAP_Stop},                        /* PROC_STOP */
> +       {PROCWRAP_InvalidateMemory},            /* PROC_INVALIDATEMEMORY */
>         /* NODE Module */
> -       {NODEWRAP_Allocate, CMD_NODE_ALLOCATE_OFFSET},
> -       {NODEWRAP_AllocMsgBuf, CMD_NODE_ALLOCMSGBUF_OFFSET},
> -       {NODEWRAP_ChangePriority, CMD_NODE_CHANGEPRIORITY_OFFSET},
> -       {NODEWRAP_Connect, CMD_NODE_CONNECT_OFFSET},
> -       {NODEWRAP_Create, CMD_NODE_CREATE_OFFSET},
> -       {NODEWRAP_Delete, CMD_NODE_DELETE_OFFSET},
> -       {NODEWRAP_FreeMsgBuf, CMD_NODE_FREEMSGBUF_OFFSET},
> -       {NODEWRAP_GetAttr, CMD_NODE_GETATTR_OFFSET},
> -       {NODEWRAP_GetMessage, CMD_NODE_GETMESSAGE_OFFSET},
> -       {NODEWRAP_Pause, CMD_NODE_PAUSE_OFFSET},
> -       {NODEWRAP_PutMessage, CMD_NODE_PUTMESSAGE_OFFSET},
> -       {NODEWRAP_RegisterNotify, CMD_NODE_REGISTERNOTIFY_OFFSET},
> -       {NODEWRAP_Run, CMD_NODE_RUN_OFFSET},
> -       {NODEWRAP_Terminate, CMD_NODE_TERMINATE_OFFSET},
> -       {NODEWRAP_GetUUIDProps, CMD_NODE_GETUUIDPROPS_OFFSET},
> +       {NODEWRAP_Allocate},                    /* NODE_ALLOCATE */
> +       {NODEWRAP_AllocMsgBuf},                 /* NODE_ALLOCMSGBUF */
> +       {NODEWRAP_ChangePriority},              /* NODE_CHANGEPRIORITY */
> +       {NODEWRAP_Connect},                     /* NODE_CONNECT */
> +       {NODEWRAP_Create},                      /* NODE_CREATE */
> +       {NODEWRAP_Delete},                      /* NODE_DELETE */
> +       {NODEWRAP_FreeMsgBuf},                  /* NODE_FREEMSGBUF */
> +       {NODEWRAP_GetAttr},                     /* NODE_GETATTR */
> +       {NODEWRAP_GetMessage},                  /* NODE_GETMESSAGE */
> +       {NODEWRAP_Pause},                       /* NODE_PAUSE */
> +       {NODEWRAP_PutMessage},                  /* NODE_PUTMESSAGE */
> +       {NODEWRAP_RegisterNotify},              /* NODE_REGISTERNOTIFY */
> +       {NODEWRAP_Run},                         /* NODE_RUN */
> +       {NODEWRAP_Terminate},                   /* NODE_TERMINATE */
> +       {NODEWRAP_GetUUIDProps},                /* NODE_GETUUIDPROPS */
>         /* STRM wrapper functions */
> -       {STRMWRAP_AllocateBuffer, CMD_STRM_ALLOCATEBUFFER_OFFSET},
> -       {STRMWRAP_Close, CMD_STRM_CLOSE_OFFSET},
> -       {STRMWRAP_FreeBuffer, CMD_STRM_FREEBUFFER_OFFSET},
> -       {STRMWRAP_GetEventHandle, CMD_STRM_GETEVENTHANDLE_OFFSET},
> -       {STRMWRAP_GetInfo, CMD_STRM_GETINFO_OFFSET},
> -       {STRMWRAP_Idle, CMD_STRM_IDLE_OFFSET},
> -       {STRMWRAP_Issue, CMD_STRM_ISSUE_OFFSET},
> -       {STRMWRAP_Open, CMD_STRM_OPEN_OFFSET},
> -       {STRMWRAP_Reclaim, CMD_STRM_RECLAIM_OFFSET},
> -       {STRMWRAP_RegisterNotify, CMD_STRM_REGISTERNOTIFY_OFFSET},
> -       {STRMWRAP_Select, CMD_STRM_SELECT_OFFSET},
> +       {STRMWRAP_AllocateBuffer},              /* STRM_ALLOCATEBUFFER */
> +       {STRMWRAP_Close},                       /* STRM_CLOSE */
> +       {STRMWRAP_FreeBuffer},                  /* STRM_FREEBUFFER */
> +       {STRMWRAP_GetEventHandle},              /* STRM_GETEVENTHANDLE */
> +       {STRMWRAP_GetInfo},                     /* STRM_GETINFO */
> +       {STRMWRAP_Idle},                        /* STRM_IDLE */
> +       {STRMWRAP_Issue},                       /* STRM_ISSUE */
> +       {STRMWRAP_Open},                        /* STRM_OPEN */
> +       {STRMWRAP_Reclaim},                     /* STRM_RECLAIM */
> +       {STRMWRAP_RegisterNotify},              /* STRM_REGISTERNOTIFY */
> +       {STRMWRAP_Select},                      /* STRM_SELECT */
>         /* CMM module */
> -       {CMMWRAP_CallocBuf, CMD_CMM_ALLOCBUF_OFFSET},
> -       {CMMWRAP_FreeBuf, CMD_CMM_FREEBUF_OFFSET},
> -       {CMMWRAP_GetHandle, CMD_CMM_GETHANDLE_OFFSET},
> -       {CMMWRAP_GetInfo, CMD_CMM_GETINFO_OFFSET}
> +       {CMMWRAP_CallocBuf},                    /* CMM_ALLOCBUF */
> +       {CMMWRAP_FreeBuf},                      /* CMM_FREEBUF */
> +       {CMMWRAP_GetHandle},                    /* CMM_GETHANDLE */
> +       {CMMWRAP_GetInfo},                      /* CMM_GETINFO */
>  };
> 
>  static inline void __cp_fm_usr(void *to, const void __user *from,
> @@ -202,8 +202,7 @@ static inline void __cp_to_usr(void __user *to, const void *from,
>  inline DSP_STATUS WCD_CallDevIOCtl(u32 cmd, union Trapped_Args *args,
>                                     u32 *pResult, void *pr_ctxt)
>  {
> -       cmd -= CMD_BASE;
> -
> +       cmd = _IOC_NR(cmd);
>         if (cmd < ARRAY_SIZE(WCD_cmdTable)) {
>                 /* make the fxn call via the cmd table */
>                 *pResult = (*WCD_cmdTable[cmd].fxn) (args, pr_ctxt);
see previous description.

> @@ -252,14 +251,7 @@ bool WCD_Init(void)
>         bool fInit = true;
>         bool fDRV, fDEV, fCOD, fSERVICES, fCHNL, fMSG, fIO;
>         bool fMGR, fPROC, fNODE, fDISP, fNTFY, fSTRM, fRMM;
> -#ifdef DEBUG
> -       /* runtime check of Device IOCtl array. */
> -       u32 i;
> -       int cmdtable = ARRAY_SIZE(WCD_cmdTable);
> 
> -       for (i = 0; i < cmdtable; i++)
> -               DBC_Assert(WCD_cmdTable[i].dwIndex == i + CMD_BASE);
> -#endif
Thanks.. though your patch commit message was was not saying about this ;)


-- 
Regards,
Nishanth Menon

  parent reply	other threads:[~2009-11-25 21:51 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-24  0:50 [PATCH 0/9] dspbridge cleanup patches Omar Ramirez Luna
     [not found] ` <1259023830-7557-2-git-send-email-omar.ramirez@ti.com>
2009-11-24  0:50   ` [PATCH 2/9] DSPBRIDGE: trivial checkpatch fixes Omar Ramirez Luna
     [not found]     ` <1259023830-7557-4-git-send-email-omar.ramirez@ti.com>
2009-11-24  0:50       ` [PATCH 4/9] DSPBRIDGE: Use _IOxx macro to define ioctls Omar Ramirez Luna
2009-11-24  0:50         ` [PATCH 5/9] DSPBRIDGE: trivial cleanup and indentation for io_sm Omar Ramirez Luna
2009-11-24  0:50           ` [PATCH 6/9] DSPBRIDGE: Remove DPC, create, destroy and schedule wrappers Omar Ramirez Luna
2009-11-24  0:50             ` [PATCH 7/9] DSPBRIDGE: Remove main DPC wrapper for IO and MMUfault Omar Ramirez Luna
2009-11-24  0:50               ` [PATCH 8/9] DSPBRIDGE: Remove DPC module from SERVICES layer Omar Ramirez Luna
2009-11-24  0:50                 ` [PATCH 9/9] DSPBRIDGE: Remove DPC object structure Omar Ramirez Luna
2009-11-25 22:38               ` [PATCH 7/9] DSPBRIDGE: Remove main DPC wrapper for IO and MMUfault Nishanth Menon
2009-11-25 19:17             ` [PATCH 6/9] DSPBRIDGE: Remove DPC, create, destroy and schedule wrappers Felipe Balbi
2009-11-25 19:44               ` Ramirez Luna, Omar
2009-11-25 22:34             ` Nishanth Menon
2009-11-25 23:05               ` Ramirez Luna, Omar
2009-11-25 19:15           ` [PATCH 5/9] DSPBRIDGE: trivial cleanup and indentation for io_sm Felipe Balbi
2009-11-25 19:47             ` Ramirez Luna, Omar
2009-11-26  5:47             ` Artem Bityutskiy
2009-11-25 21:53           ` Nishanth Menon
2009-11-25 21:51         ` Nishanth Menon [this message]
2009-11-25 21:37     ` [PATCH 2/9] DSPBRIDGE: trivial checkpatch fixes Nishanth Menon
2009-11-25 21:56       ` Ramirez Luna, Omar
2009-11-26  7:30       ` Hiroshi DOYU
2009-11-24  6:54 ` [PATCH 0/9] dspbridge cleanup patches Artem Bityutskiy
2009-11-25 17:32   ` Felipe Contreras
2009-11-25 20:49     ` Ramirez Luna, Omar
2009-11-25 20:56       ` Nishanth Menon
2009-11-25 21:52         ` Ramirez Luna, Omar
2009-11-25 21:56           ` Nishanth Menon
2009-11-26 13:40 ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B0DA6CC.10909@ti.com \
    --to=nm@ti.com \
    --cc=Hiroshi.DOYU@nokia.com \
    --cc=dedekind1@gmail.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=omar.ramirez@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox