2001-10-11 23:22:54

by Eyal Lebedinsky

[permalink] [raw]
Subject: 2.4.13-pre1: sonypi.c compile error

gcc -D__KERNEL__ -I/data2/usr/local/src/linux-2.4-pre/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include
/data2/usr/local/src/linux-2.4-pre/include/linux/modversions.h
-DEXPORT_SYMTAB -c sonypi.c
sonypi.c: In function `sonypi_init_module':
sonypi.c:702: `is_sony_vaio_laptop_R7462d5e4' undeclared (first use in
this function)
sonypi.c:702: (Each undeclared identifier is reported only once
sonypi.c:702: for each function it appears in.)
make[2]: *** [sonypi.o] Error 1
make[2]: Leaving directory
`/data2/usr/local/src/linux-2.4-pre/drivers/char'

Now this is what we have here, I can not figure the intentions of the
author:

static int __init sonypi_init_module(void) {
if (is_sony_vaio_laptop)
return pci_module_init(&sonypi_driver);
else
return -ENODEV;
}

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


2001-10-12 07:44:33

by Alan

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

> Now this is what we have here, I can not figure the intentions of the
> author:
>
> static int __init sonypi_init_module(void) {
> if (is_sony_vaio_laptop)
> return pci_module_init(&sonypi_driver);
> else
> return -ENODEV;
> }

is_sony_vaio_laptop is defined by the DMI layer if the machine is a Sony
vaio. It basically says "don't load this on a non vaio"

2001-10-12 08:34:55

by Stelian Pop

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

On Fri, Oct 12, 2001 at 09:03:30AM +1000, Eyal Lebedinsky wrote:

> gcc -D__KERNEL__ -I/data2/usr/local/src/linux-2.4-pre/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
> -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
> -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include
> /data2/usr/local/src/linux-2.4-pre/include/linux/modversions.h
> -DEXPORT_SYMTAB -c sonypi.c
> sonypi.c: In function `sonypi_init_module':
> sonypi.c:702: `is_sony_vaio_laptop_R7462d5e4' undeclared (first use in
> this function)

Just add a
extern int is_sony_vaio_laptop; /* set in DMI table parse routines */
line somewhere at the beginning of the file drivers/char/sonypi.c

Looks like the driver sync between Linus and Alan was incomplete
this time (Linus took the sonypi driver changes but not the dmi_scan
routine changes).

I won't submit a patch to Linus for now, I'm pretty sure that
Alan will take care of this for -pre2.

Stelian.
--
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alc?ve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alc?ve, liberating software ---------------|

2001-10-12 11:23:20

by Eyal Lebedinsky

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

Stelian Pop wrote:
>
> On Fri, Oct 12, 2001 at 09:03:30AM +1000, Eyal Lebedinsky wrote:
>
> > gcc -D__KERNEL__ -I/data2/usr/local/src/linux-2.4-pre/include -Wall
> > -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
> > -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
> > -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include
> > /data2/usr/local/src/linux-2.4-pre/include/linux/modversions.h
> > -DEXPORT_SYMTAB -c sonypi.c
> > sonypi.c: In function `sonypi_init_module':
> > sonypi.c:702: `is_sony_vaio_laptop_R7462d5e4' undeclared (first use in
> > this function)
>
> Just add a
> extern int is_sony_vaio_laptop; /* set in DMI table parse routines */
> line somewhere at the beginning of the file drivers/char/sonypi.c

Good. I am now up to here, which I guess is very possitive relative to
the
recent 2.4 releases :-)

gcc -D__KERNEL__ -I/data2/usr/local/src/linux-2.4-pre/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include
/data2/usr/local/src/linux-2.4-pre/include/linux/modversions.h
-DEXPORT_SYMTAB -c i2o_pci.c
i2o_pci.c: In function `i2o_pci_install':
i2o_pci.c:165: structure has no member named `pdev'
make[2]: *** [i2o_pci.o] Error 1
make[2]: Leaving directory
`/data2/usr/local/src/linux-2.4-pre/drivers/i2o'

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

2001-10-15 10:08:48

by Sander van Geloven

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

>
> I won't submit a patch to Linus for now, I'm pretty sure that Alan will take care of this for -pre2.
>
> Stelian.

Hi,

I did a build with the patch-2.4.13-pre2.pz applied but it didn't fixed
the problem. Your suggestion to add a line in sonypi.c however did work.

Now I also have the same problem as Eyal Lebedinskynew:

make -C i2o modules
make[2]: Entering directory `/home/src/linux-2.4.12/drivers/i2o'
gcc -D__KERNEL__ -I/home/src/linux-2.4.12/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=i686 -DMODULE -DMODVERSIONS -include
/home/src/linux-2.4.12/include/linux/modversions.h -DEXPORT_SYMTAB -c
i2o_pci.c
i2o_pci.c: In function `i2o_pci_install':
i2o_pci.c:165: structure has no member named `pdev'
make[2]: *** [i2o_pci.o] Error 1
make[2]: Leaving directory `/home/src/linux-2.4.12/drivers/i2o'
make[1]: *** [_modsubdir_i2o] Error 2
make[1]: Leaving directory `/home/src/linux-2.4.12/drivers'
make: *** [_mod_drivers] Error 2

Has anyone a suggestion?

Thanks,

Sander

2001-10-15 10:55:53

by Peter T. Breuer

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

"A month of sundays ago Sander van Geloven wrote:"
> >
> > I won't submit a patch to Linus for now, I'm pretty sure that Alan will take care of this for -pre2.
> > Stelian.

As far as I recall, I have pre2 and it showed this error on compiling the sony
vaio stuff. I fixed it by adding an extern int declaration for
is_sony_vaio_laptop in sonypi.c. It was declared in some nonobvious .c file
far elsewhere, uh, ... arch/i386/kernel/dmi_scan.c.

There seemed to be a need for an acl.h somewhere too, but maybe that was my
xfs patch.

Peter

2001-10-15 11:18:17

by Federico Sevilla III

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

On Mon, 15 Oct 2001 at 12:55, Peter T. Breuer wrote:
> There seemed to be a need for an acl.h somewhere too, but maybe that
> was my xfs patch.

That was your XFS patch. It's fixed in CVS of XFS but can also be fixed by
removing all references to include/acl.h in files that fail to compile.

--> Jijo

--
Federico Sevilla III :: [email protected]
Network Administrator :: The Leather Collection, Inc.
GnuPG Key: <http://jijo.leathercollection.ph/jijo.gpg>

2001-10-15 11:46:59

by Stelian Pop

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

On Mon, Oct 15, 2001 at 12:55:48PM +0200, Peter T. Breuer wrote:

> "A month of sundays ago Sander van Geloven wrote:"
> > >
> > > I won't submit a patch to Linus for now, I'm pretty sure that Alan will take care of this for -pre2.
> > > Stelian.
>
> As far as I recall, I have pre2 and it showed this error on compiling the sony
> vaio stuff. I fixed it by adding an extern int declaration for
> is_sony_vaio_laptop in sonypi.c. It was declared in some nonobvious .c file
> far elsewhere, uh, ... arch/i386/kernel/dmi_scan.c.

This time Linus took the changes for dmi_scan.c/sonypi.c etc which
includes now asm-i386/system.h, but he didn't take the changes
for include/asm/system.h :(

Basically, include/asm-i386/system.h needs to contain:
extern int is_sony_vaio_laptop;

Alan, could you please fed Linus the exact patch for the next
pre version ?

Stelian.
--
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alc?ve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alc?ve, liberating software ---------------|

2001-10-15 11:51:49

by Alan

[permalink] [raw]
Subject: Re: 2.4.13-pre1: sonypi.c compile error

> Now I also have the same problem as Eyal Lebedinskynew:

i2o is broken in Linus tree right now. I've not had time to isolate and
test the right patches yet but I'll send the bits on to Linus fairly soon