Re: [Q]staging/comedi: Considation of *_find_boardinfo possible?

From: Joe Perches
Date: Tue Jan 29 2013 - 18:58:44 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/