I got the following compile error in 2.5.55:
<-- snip -->
...
ld -m elf_i386 -r -o drivers/built-in.o drivers/pci/built-in.o
drivers/acpi/built-in.o drivers/pnp/built-in.o drivers/serial/built-in.o
drivers/parport/built-in.o drivers/base/built-in.o
drivers/char/built-in.o drivers/block/built-in.o drivers/misc/built-in.o
drivers/net/built-in.o drivers/media/built-in.o drivers/atm/built-in.o
drivers/ide/built-in.o drivers/scsi/built-in.o
drivers/ieee1394/built-in.o drivers/cdrom/built-in.o
drivers/video/built-in.o drivers/mtd/built-in.o
drivers/pcmcia/built-in.o drivers/block/paride/built-in.o
drivers/usb/built-in.o drivers/input/built-in.o
drivers/input/gameport/built-in.o drivers/input/serio/built-in.o
drivers/message/built-in.o drivers/i2c/built-in.o
drivers/telephony/built-in.o drivers/md/built-in.o
drivers/bluetooth/built-in.o drivers/hotplug/built-in.o
drivers/mca/built-in.o
drivers/i2c/built-in.o(.data+0x14): multiple definition of `driver_lock'
drivers/net/built-in.o(.data+0xcf14): first defined here
ld: Warning: size of symbol `driver_lock' changed from 4 to 20 in
drivers/i2c/built-in.o
make[1]: *** [drivers/built-in.o] Error 1
<-- snip -->
The offending files are:
drivers/i2c/i2c-core.c
drivers/net/aironet4500_proc.c
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
On Fri, Jan 10, 2003 at 01:35:14AM +0100, Adrian Bunk wrote:
> I got the following compile error in 2.5.55:
>
> <-- snip -->
>
> ...
> ld -m elf_i386 -r -o drivers/built-in.o drivers/pci/built-in.o
> drivers/acpi/built-in.o drivers/pnp/built-in.o drivers/serial/built-in.o
> drivers/parport/built-in.o drivers/base/built-in.o
> drivers/char/built-in.o drivers/block/built-in.o drivers/misc/built-in.o
> drivers/net/built-in.o drivers/media/built-in.o drivers/atm/built-in.o
> drivers/ide/built-in.o drivers/scsi/built-in.o
> drivers/ieee1394/built-in.o drivers/cdrom/built-in.o
> drivers/video/built-in.o drivers/mtd/built-in.o
> drivers/pcmcia/built-in.o drivers/block/paride/built-in.o
> drivers/usb/built-in.o drivers/input/built-in.o
> drivers/input/gameport/built-in.o drivers/input/serio/built-in.o
> drivers/message/built-in.o drivers/i2c/built-in.o
> drivers/telephony/built-in.o drivers/md/built-in.o
> drivers/bluetooth/built-in.o drivers/hotplug/built-in.o
> drivers/mca/built-in.o
> drivers/i2c/built-in.o(.data+0x14): multiple definition of `driver_lock'
> drivers/net/built-in.o(.data+0xcf14): first defined here
> ld: Warning: size of symbol `driver_lock' changed from 4 to 20 in
> drivers/i2c/built-in.o
> make[1]: *** [drivers/built-in.o] Error 1
>
> <-- snip -->
>
> The offending files are:
> drivers/i2c/i2c-core.c
> drivers/net/aironet4500_proc.c
[This email and the original bug report are also at
http://bugme.osdl.org/show_bug.cgi?id=268]
I can't reproduce this bug since aironet does not compile for me due
to usage of cli()/sti() and save_flags(), but it defines driver_lock
as static anyway. That leaves the i2c driver_lock as the only
externally visible driver_lock in the tree. Attached is a patch to
make it static. Compiles fine.
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.931 -> 1.932
# drivers/i2c/i2c-core.c 1.14 -> 1.15
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/01/12 [email protected] 1.932
# make the driver_lock mutex static, to avoid polluting the global name space.
# --------------------------------------------
#
diff -Nru a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
--- a/drivers/i2c/i2c-core.c Sun Jan 12 14:00:50 2003
+++ b/drivers/i2c/i2c-core.c Sun Jan 12 14:00:50 2003
@@ -57,7 +57,7 @@
/**** lock for writing to global variables: the adapter & driver list */
DECLARE_MUTEX(adap_lock);
-DECLARE_MUTEX(driver_lock);
+static DECLARE_MUTEX(driver_lock);
/**** adapter list */
static struct i2c_adapter *adapters[I2C_ADAP_MAX];
--
Muli Ben-Yehuda
my opinions may seem crazy. But they all make sense. Insane sense, but
sense nontheless. -- Shlomi Fish on #offtopic.