staging: tidspbridge: Change macros to static inline functions
authorArmando Uribe <x0095078@ti.com>
Fri, 23 Jul 2010 01:25:33 +0000 (20:25 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 26 Jul 2010 22:32:20 +0000 (15:32 -0700)
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 <x0095078@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/tidspbridge/include/dspbridge/dbdefs.h
drivers/staging/tidspbridge/rmgr/nldr.c
drivers/staging/tidspbridge/rmgr/proc.c

index 8f84735d33d0a0e0b030659ed5eb70ad6a92f5a1..ffcc326b0ce9f8e1dc041aa03d5379d70183a0cc 100644 (file)
 #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)) && \
index 6cf0be98b8b563a2746985b0066819b46d847385..33d287222f09a39c142c0202258a4680207e7809 100644 (file)
 #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;
index 4d3db7ed9ea52303f610eab52e566075163ea6b9..5f189dc7588ccb1ff13116667625ae387437bd5c 100644 (file)
@@ -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) {