2004-10-04 14:41:37

by Eyal Lebedinsky

[permalink] [raw]
Subject: 2.6.9-rc3-mm2: error: `u64' used prior to declaration

CC [M] drivers/media/dvb/bt8xx/dvb-bt8xx.o
In file included from drivers/media/dvb/bt8xx/dvb-bt8xx.c:22:
include/asm/bitops.h:543: error: parse error before "rol64"
include/asm/bitops.h:543: error: parse error before "x"
include/asm/bitops.h:543: warning: return type defaults to `int'
include/asm/bitops.h:543: warning: function declaration isn't a prototype
include/asm/bitops.h: In function `rol64':
include/asm/bitops.h:544: error: `num' undeclared (first use in this function)
include/asm/bitops.h:544: error: (Each undeclared identifier is reported only on
ce
include/asm/bitops.h:544: error: for each function it appears in.)
include/asm/bitops.h:545: error: `u64' undeclared (first use in this function)
include/asm/bitops.h:545: error: parse error before "vv"
include/asm/bitops.h:545: error: `vv' undeclared (first use in this function)
include/asm/bitops.h:547: error: `x' undeclared (first use in this function)
include/asm/bitops.h: At top level:
include/asm/bitops.h:549: error: parse error before "ror64"
include/asm/bitops.h:549: error: parse error before "x"
include/asm/bitops.h:549: warning: return type defaults to `int'
include/asm/bitops.h:549: warning: function declaration isn't a prototype
include/asm/bitops.h: In function `ror64':
include/asm/bitops.h:550: error: `num' undeclared (first use in this function)
include/asm/bitops.h:551: error: `u64' undeclared (first use in this function)
include/asm/bitops.h:551: error: parse error before "vv"
include/asm/bitops.h:551: error: `vv' undeclared (first use in this function)
include/asm/bitops.h:552: error: `x' undeclared (first use in this function)
In file included from include/linux/types.h:14,
from include/linux/capability.h:16,
from include/linux/sched.h:7,
from include/linux/module.h:10,
from drivers/media/dvb/bt8xx/dvb-bt8xx.c:23:
include/asm/types.h: At top level:
include/asm/types.h:50: error: `u64' used prior to declaration
make[4]: *** [drivers/media/dvb/bt8xx/dvb-bt8xx.o] Error 1
make[3]: *** [drivers/media/dvb/bt8xx] Error 2
make[2]: *** [drivers/media/dvb] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2

I just added
#include <asm/types.h>
to the top of
include/asm/bitops.h
and the build finished


BTW, I also see tons of warnings like:

drivers/media/dvb/b2c2/skystar2.c:2069: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/media/dvb/b2c2/skystar2.c:2086: warning: passing arg 2 of `writel' makes pointer from integer without a cast

drivers/atm/iphase.c:1017: warning: passing arg 1 of `readw' makes pointer from integer without a cast
drivers/atm/iphase.c:1070: warning: passing arg 2 of `writew' makes pointer from integer without a cast
drivers/isdn/hisax/teles0.c:35: warning: passing arg 1 of `readb' makes pointer from integer without a cast
drivers/isdn/hisax/teles0.c:41: warning: passing arg 2 of `writeb' makes pointer from integer without a cast
drivers/isdn/hisax/telespci.c:50: warning: passing arg 1 of `readl' makes pointer from integer without a cast
drivers/isdn/hisax/telespci.c:53: warning: passing arg 2 of `writel' makes pointer from integer without a cast


--
Eyal Lebedinsky ([email protected]) <http://samba.org/eyal/>


2004-10-04 15:38:39

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.9-rc3-mm2: error: `u64' used prior to declaration

On Tue, Oct 05, 2004 at 12:41:02AM +1000, Eyal Lebedinsky wrote:

> CC [M] drivers/media/dvb/bt8xx/dvb-bt8xx.o
> In file included from drivers/media/dvb/bt8xx/dvb-bt8xx.c:22:
> include/asm/bitops.h:543: error: parse error before "rol64"
>...

The first error is the most interesting one.

> include/asm/types.h: At top level:
> include/asm/types.h:50: error: `u64' used prior to declaration
> make[4]: *** [drivers/media/dvb/bt8xx/dvb-bt8xx.o] Error 1
>...
>
> I just added
> #include <asm/types.h>
> to the top of
> include/asm/bitops.h
> and the build finished
>...

The real problem seem to be files including asm/bitops.h instead of
linux/bitops.h .

@Andrew:
Would you accept a patch that changes all #include <asm/bitops.h> to
#include <linux/bitops.h> ?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2004-10-04 20:02:14

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.9-rc3-mm2: error: `u64' used prior to declaration

Adrian Bunk <[email protected]> wrote:
>
> Would you accept a patch that changes all #include <asm/bitops.h> to
> #include <linux/bitops.h> ?

I have an easier solution - I'll drop

add-rotate-left-right-ops-to-bitopsh.patch
add-rotate-left-right-ops-to-bitopsh-build-fix.patch
sha512-use-asm-optimized-bit-rotation.patch

2004-10-04 20:20:52

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.9-rc3-mm2: error: `u64' used prior to declaration

On Mon, Oct 04, 2004 at 12:59:37PM -0700, Andrew Morton wrote:
> Adrian Bunk <[email protected]> wrote:
> >
> > Would you accept a patch that changes all #include <asm/bitops.h> to
> > #include <linux/bitops.h> ?
>
> I have an easier solution - I'll drop
>
> add-rotate-left-right-ops-to-bitopsh.patch
> add-rotate-left-right-ops-to-bitopsh-build-fix.patch
> sha512-use-asm-optimized-bit-rotation.patch

I have no specific opinion on them, but at least in my test builds they
caused only exactly the one reported compile failure.

The #include change was meant as a simple general cleanup which would
as a side effect remove this problem.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed