All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.