* Re: [staging:staging-next 151/175] drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro
@ 2014-06-19 1:14 Fengguang Wu
2014-06-19 17:01 ` Hartley Sweeten
0 siblings, 1 reply; 2+ messages in thread
From: Fengguang Wu @ 2014-06-19 1:14 UTC (permalink / raw)
To: linux-ia64
On Wed, Jun 18, 2014 at 11:13:13PM +0000, Hartley Sweeten wrote:
> On Wednesday, June 18, 2014 3:44 PM, kbuild test robot wrote:
> > tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
> > head: 98e11370052aa88a38c2d5d1693a5ec2966c4f81
> > commit: 9c340ac934dbbfd46e776465b08391baac32d486 [151/175] staging: comedi: ni_stc.h: add read/write callbacks to struct ni_private
> > config: make ARCH=ia64 allmodconfig
> >
> > All error/warnings:
> >
> > drivers/staging/comedi/drivers/ni_pcimio.c: In function 'e_series_win_out':
> > >> drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro "writew" passed 3 arguments, but takes just 2
> > drivers/staging/comedi/drivers/ni_pcimio.c:1105:2: warning: statement with no effect [-Wunused-value]
>
> [snip]
>
> > vim +/writew +1105 drivers/staging/comedi/drivers/ni_pcimio.c
> >
> > 1099 static void e_series_win_out(struct comedi_device *dev, uint16_t data, int reg)
> > 1100 {
> > 1101 struct ni_private *devpriv = dev->private;
> > 1102 unsigned long flags;
> > 1103
> > 1104 spin_lock_irqsave(&devpriv->window_lock, flags);
> > > 1105 devpriv->writew(dev, reg, Window_Address);
>
> I don't get it... Why is the 'writew' above being treated as a macro in your build?
wfg /c/linux% grep -r writew arch/ia64
arch/ia64/lib/io.c:#undef __ia64_writew
arch/ia64/include/asm/io.h:#define __ia64_writew ___ia64_writew
arch/ia64/include/asm/io.h:__writew (unsigned short val, volatile void __iomem *addr)
=> arch/ia64/include/asm/io.h:#define writew(v,a) __writew((v), (a))
arch/ia64/include/asm/io.h:#define __raw_writew writew
> I'm not seeing these errors in my build with the x86_64_defconfig.
Hartley, it's an error in ARCH=ia64 builds.
Thanks,
Fengguang
> I have some patches that get rid of these callbacks that I was holding until Greg
> got his staging tree caught up. I can post those, which should make this build
> error go away, but I'm not sure why it is happening on ia64.
>
> Regards,
> Hartley
^ permalink raw reply [flat|nested] 2+ messages in thread* RE: [staging:staging-next 151/175] drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro
2014-06-19 1:14 [staging:staging-next 151/175] drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro Fengguang Wu
@ 2014-06-19 17:01 ` Hartley Sweeten
0 siblings, 0 replies; 2+ messages in thread
From: Hartley Sweeten @ 2014-06-19 17:01 UTC (permalink / raw)
To: linux-ia64
On Wednesday, June 18, 2014 6:14 PM, Fengguang Wu wrote:
> On Wed, Jun 18, 2014 at 11:13:13PM +0000, Hartley Sweeten wrote:
>> On Wednesday, June 18, 2014 3:44 PM, kbuild test robot wrote:
>>> tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
>>> head: 98e11370052aa88a38c2d5d1693a5ec2966c4f81
>>> commit: 9c340ac934dbbfd46e776465b08391baac32d486 [151/175] staging: comedi: ni_stc.h: add read/write callbacks to struct ni_private
>>> config: make ARCH=ia64 allmodconfig
>>>
>>> All error/warnings:
>>>
>>> drivers/staging/comedi/drivers/ni_pcimio.c: In function 'e_series_win_out':
>>> >> drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro "writew" passed 3 arguments, but takes just 2
>>> drivers/staging/comedi/drivers/ni_pcimio.c:1105:2: warning: statement with no effect [-Wunused-value]
>>
>> [snip]
>>
>>> vim +/writew +1105 drivers/staging/comedi/drivers/ni_pcimio.c
>>>
>>> 1099 static void e_series_win_out(struct comedi_device *dev, uint16_t data, int reg)
>>> 1100 {
>>> 1101 struct ni_private *devpriv = dev->private;
>>> 1102 unsigned long flags;
>>> 1103
>>> 1104 spin_lock_irqsave(&devpriv->window_lock, flags);
>>> > 1105 devpriv->writew(dev, reg, Window_Address);
>>
>> I don't get it... Why is the 'writew' above being treated as a macro in your build?
>
> wfg /c/linux% grep -r writew arch/ia64
> arch/ia64/lib/io.c:#undef __ia64_writew
> arch/ia64/include/asm/io.h:#define __ia64_writew ___ia64_writew
> arch/ia64/include/asm/io.h:__writew (unsigned short val, volatile void __iomem *addr)
> => arch/ia64/include/asm/io.h:#define writew(v,a) __writew((v), (a))
> arch/ia64/include/asm/io.h:#define __raw_writew writew
>
>> I'm not seeing these errors in my build with the x86_64_defconfig.
>
> Hartley, it's an error in ARCH=ia64 builds.
Hmm.. I guess x86 does not use a macro for writew.
I was assuming it used the generic one in:
include/asm-generic/io.h:#define writew(b,addr) __raw_writew(__cpu_to_le16(b),addr)
Regardless, I will be posting some patches to Greg shortly that remove the
callbacks from struct ni_private. That should fix the problem.
Sorry for the trouble,
Hartley
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-06-19 17:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-19 1:14 [staging:staging-next 151/175] drivers/staging/comedi/drivers/ni_pcimio.c:1105:42: error: macro Fengguang Wu
2014-06-19 17:01 ` Hartley Sweeten
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox