Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757726Ab0GWBNv (ORCPT ); Thu, 22 Jul 2010 21:13:51 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:42107 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756971Ab0GWBMy (ORCPT ); Thu, 22 Jul 2010 21:12:54 -0400 From: Armando Uribe To: Greg Kroah-Hartman Cc: Omar Ramirez Luna , Ohad Ben-Cohen , Ameya Palande , , , Rene Sapiens , Felipe Contreras , Armando Uribe Subject: [PATCH 8/9] staging: tidspbridge: Change macros to static inline functions Date: Thu, 22 Jul 2010 20:25:33 -0500 Message-Id: <1279848334-4043-9-git-send-email-x0095078@ti.com> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1279848334-4043-8-git-send-email-x0095078@ti.com> References: <1279848334-4043-1-git-send-email-x0095078@ti.com> <1279848334-4043-2-git-send-email-x0095078@ti.com> <1279848334-4043-3-git-send-email-x0095078@ti.com> <1279848334-4043-4-git-send-email-x0095078@ti.com> <1279848334-4043-5-git-send-email-x0095078@ti.com> <1279848334-4043-6-git-send-email-x0095078@ti.com> <1279848334-4043-7-git-send-email-x0095078@ti.com> <1279848334-4043-8-git-send-email-x0095078@ti.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4813 Lines: 129 This patch changes preprocesing macros to static inline funcions. Also the function is_equal_uuid (IS_EQUAL_UUID) now uses the memcmp function. Signed-off-by: Armando Uribe --- .../staging/tidspbridge/include/dspbridge/dbdefs.h | 32 +++++-------------- drivers/staging/tidspbridge/rmgr/nldr.c | 20 +++++------- drivers/staging/tidspbridge/rmgr/proc.c | 4 +- 3 files changed, 20 insertions(+), 36 deletions(-) diff --git a/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h b/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h index 8f84735..ffcc326 100644 --- a/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h +++ b/drivers/staging/tidspbridge/include/dspbridge/dbdefs.h @@ -110,29 +110,15 @@ #define DSPTYPE64 0x99 /* Handy Macros */ -#define IS_VALID_PROC_EVENT(x) (((x) == 0) || (((x) & \ - (DSP_PROCESSORSTATECHANGE | \ - DSP_PROCESSORATTACH | \ - DSP_PROCESSORDETACH | \ - DSP_PROCESSORRESTART | \ - DSP_NODESTATECHANGE | \ - DSP_STREAMDONE | \ - DSP_STREAMIOCOMPLETION | \ - DSP_MMUFAULT | \ - DSP_SYSERROR | \ - DSP_WDTOVERFLOW | \ - DSP_PWRERROR)) && \ - !((x) & ~(DSP_PROCESSORSTATECHANGE | \ - DSP_PROCESSORATTACH | \ - DSP_PROCESSORDETACH | \ - DSP_PROCESSORRESTART | \ - DSP_NODESTATECHANGE | \ - DSP_STREAMDONE | \ - DSP_STREAMIOCOMPLETION | \ - DSP_MMUFAULT | \ - DSP_SYSERROR | \ - DSP_WDTOVERFLOW | \ - DSP_PWRERROR)))) +#define VALID_PROC_EVENT (DSP_PROCESSORSTATECHANGE | DSP_PROCESSORATTACH | \ + DSP_PROCESSORDETACH | DSP_PROCESSORRESTART | DSP_NODESTATECHANGE | \ + DSP_STREAMDONE | DSP_STREAMIOCOMPLETION | DSP_MMUFAULT | \ + DSP_SYSERROR | DSP_WDTOVERFLOW | DSP_PWRERROR) + +static inline bool is_valid_proc_event(u32 x) +{ + return (x == 0 || (x & VALID_PROC_EVENT && !(x & ~VALID_PROC_EVENT))); +} #define IS_VALID_NODE_EVENT(x) (((x) == 0) || \ (((x) & (DSP_NODESTATECHANGE | DSP_NODEMESSAGEREADY)) && \ diff --git a/drivers/staging/tidspbridge/rmgr/nldr.c b/drivers/staging/tidspbridge/rmgr/nldr.c index 6cf0be9..33d2872 100644 --- a/drivers/staging/tidspbridge/rmgr/nldr.c +++ b/drivers/staging/tidspbridge/rmgr/nldr.c @@ -135,13 +135,11 @@ #define PDELETE "delete" #define PEXECUTE "execute" -#define IS_EQUAL_UUID(uuid1, uuid2) (\ - ((uuid1).ul_data1 == (uuid2).ul_data1) && \ - ((uuid1).us_data2 == (uuid2).us_data2) && \ - ((uuid1).us_data3 == (uuid2).us_data3) && \ - ((uuid1).uc_data4 == (uuid2).uc_data4) && \ - ((uuid1).uc_data5 == (uuid2).uc_data5) && \ - (strncmp((void *)(uuid1).uc_data6, (void *)(uuid2).uc_data6, 6)) == 0) +static inline bool is_equal_uuid(struct dsp_uuid *uuid1, + struct dsp_uuid *uuid2) +{ + return !memcmp(uuid1, uuid2, sizeof(struct dsp_uuid)); +} /* * ======== mem_seg_info ======== @@ -1487,8 +1485,8 @@ static int load_ovly(struct nldr_nodeobject *nldr_node_obj, /* Find the node in the table */ for (i = 0; i < nldr_obj->ovly_nodes; i++) { - if (IS_EQUAL_UUID - (nldr_node_obj->uuid, nldr_obj->ovly_table[i].uuid)) { + if (is_equal_uuid + (&nldr_node_obj->uuid, &nldr_obj->ovly_table[i].uuid)) { /* Found it */ po_node = &(nldr_obj->ovly_table[i]); break; @@ -1825,8 +1823,8 @@ static void unload_ovly(struct nldr_nodeobject *nldr_node_obj, /* Find the node in the table */ for (i = 0; i < nldr_obj->ovly_nodes; i++) { - if (IS_EQUAL_UUID - (nldr_node_obj->uuid, nldr_obj->ovly_table[i].uuid)) { + if (is_equal_uuid + (&nldr_node_obj->uuid, &nldr_obj->ovly_table[i].uuid)) { /* Found it */ po_node = &(nldr_obj->ovly_table[i]); break; diff --git a/drivers/staging/tidspbridge/rmgr/proc.c b/drivers/staging/tidspbridge/rmgr/proc.c index 4d3db7e..5f189dc 100644 --- a/drivers/staging/tidspbridge/rmgr/proc.c +++ b/drivers/staging/tidspbridge/rmgr/proc.c @@ -1879,7 +1879,7 @@ int proc_notify_clients(void *proc, u32 events) struct proc_object *p_proc_object = (struct proc_object *)proc; DBC_REQUIRE(p_proc_object); - DBC_REQUIRE(IS_VALID_PROC_EVENT(events)); + DBC_REQUIRE(is_valid_proc_event(events)); DBC_REQUIRE(refs > 0); if (!p_proc_object) { status = -EFAULT; @@ -1902,7 +1902,7 @@ int proc_notify_all_clients(void *proc, u32 events) int status = 0; struct proc_object *p_proc_object = (struct proc_object *)proc; - DBC_REQUIRE(IS_VALID_PROC_EVENT(events)); + DBC_REQUIRE(is_valid_proc_event(events)); DBC_REQUIRE(refs > 0); if (!p_proc_object) { -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/