Re: [-next] comedi I/O accessor name clashes

From: Ian Abbott
Date: Fri Jun 20 2014 - 07:12:44 EST


On 2014-06-20 12:07, Geert Uytterhoeven wrote:
commit 9c340ac934dbbfd46e776465b08391baac32d486
Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Date: Thu May 29 10:56:32 2014 -0700

staging: comedi: ni_stc.h: add read/write callbacks to struct ni_private

--- a/drivers/staging/comedi/drivers/ni_stc.h
+++ b/drivers/staging/comedi/drivers/ni_stc.h
@@ -1421,6 +1421,13 @@ struct ni_board_struct {
#define NUM_GPCT 2

struct ni_private {
+ uint8_t (*readb)(struct comedi_device *, int reg);
+ uint16_t (*readw)(struct comedi_device *, int reg);
+ uint32_t (*readl)(struct comedi_device *, int reg);
+ void (*writeb)(struct comedi_device *, uint8_t value, int reg);
+ void (*writew)(struct comedi_device *, uint16_t value, int reg);
+ void (*writel)(struct comedi_device *, uint32_t value, int reg);
+
uint16_t (*stc_readw)(struct comedi_device *, int reg);
uint32_t (*stc_readl)(struct comedi_device *, int reg);
void (*stc_writew)(struct comedi_device *, uint16_t value, int reg);

However, on several architectures, writel() and friends are macros, causing:

drivers/staging/comedi/drivers/ni_atmio.c:318:38: error: macro
"writew" passed 3 arguments, but takes just 2

m68k http://kisskb.ellerman.id.au/kisskb/buildresult/11346953/
s390 kisskb.ellerman.id.au/kisskb/buildresult/11347163/
sparc64 kisskb.ellerman.id.au/kisskb/buildresult/11347152/
xtensa http://kisskb.ellerman.id.au/kisskb/buildresult/11346651/

Gr{oetje,eeting}s,

Geert

Thanks, but Hartley has already fixed it and Greg has applied it to his staging-next branch. It should wend it's merry way to linux-next in the not-too-distant future.

Cheers,
Ian.

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
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/