On Wed, 2013-01-30 at 00:41 +0100, Peter Hüwe wrote:
> ---> is there a way to consolidate these functions into one function (which 
> can operate on the different types) ?  It's almost a bit like 'templates'.
> Maybe with some gcc extensions or kernel magic functions ?

Nothing wrong with a macro.

Maybe something like:

#define comedi_find_board(array, board_id)              \
({                                                      \
        int i;                                          \
        typeof array *p = array;                        \
        typeof array *rtn = NULL;                       \
        for (i = 0; i < ARRAY_SIZE(array); i++, p++) {  \
                if (p->device_id == board_id) {         \
                        rtn = p;                        \
                        break;                          \
                }                                       \
        }                                               \
        rtn;                                            \
})


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to