2014-06-20 11:07:43

by Geert Uytterhoeven

[permalink] [raw]
Subject: [-next] comedi I/O accessor name clashes

commit 9c340ac934dbbfd46e776465b08391baac32d486
Author: H Hartley Sweeten <[email protected]>
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

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2014-06-20 11:12:41

by Ian Abbott

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

On 2014-06-20 12:07, Geert Uytterhoeven wrote:
> commit 9c340ac934dbbfd46e776465b08391baac32d486
> Author: H Hartley Sweeten <[email protected]>
> 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: <[email protected]> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-

2014-06-20 11:20:21

by Geert Uytterhoeven

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

Hi Ian,

On Fri, Jun 20, 2014 at 1:12 PM, Ian Abbott <[email protected]> wrote:
>> drivers/staging/comedi/drivers/ni_atmio.c:318:38: error: macro
>> "writew" passed 3 arguments, but takes just 2

> 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.

Thanks, good to hear that!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2014-06-20 16:20:29

by Hartley Sweeten

[permalink] [raw]
Subject: RE: [-next] comedi I/O accessor name clashes

On Friday, June 20, 2014 4:20 AM, Geert Uytterhoeven wrote:
> On Fri, Jun 20, 2014 at 1:12 PM, Ian Abbott <[email protected]> wrote:
>>> drivers/staging/comedi/drivers/ni_atmio.c:318:38: error: macro
>>> "writew" passed 3 arguments, but takes just 2
>
>> 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.
>
> Thanks, good to hear that!

Geert / Ian,

The patches to fix this are in next-20140620.

Sorry for the trouble,
Hartley

????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?