Messages in this thread | | | Subject | Re: [Q]staging/comedi: Considation of *_find_boardinfo possible? | From | Joe Perches <> | Date | Tue, 29 Jan 2013 15:58:37 -0800 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |