Skip to contentSkip to conversation

2.5.69-bk7: multiple definition of `usb_gadget_get_string'

DISCUSSION Applied Adrian Bunk 4 participants 5 messages May 12, 2003 – May 13, 2003 USB

lore
Share & tools
lore
#0 lore raw

<-- snip -->

...
ld -m elf_i386 -r -o drivers/usb/gadget/built-in.o
drivers/usb/gadget/net2280.o drivers/usb/gadget/g_zero.o drivers/usb/gadget/g_ether.o drivers/usb/gadget/g_ether.o(.text+0x1f60): In function `usb_gadget_get_string':
: multiple definition of `usb_gadget_get_string' drivers/usb/gadget/g_zero.o(.text+0x0): first defined here make[2]: *** [drivers/usb/gadget/built-in.o] Error 1

<-- snip -->

cu
Adrian

Signature · 4 lines
       "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
#1 lore raw
Quoted 11 lines · Adrian Bunk

<-- snip -->

...
ld -m elf_i386 -r -o drivers/usb/gadget/built-in.o
drivers/usb/gadget/net2280.o drivers/usb/gadget/g_zero.o drivers/usb/gadget/g_ether.o drivers/usb/gadget/g_ether.o(.text+0x1f60): In function `usb_gadget_get_string':
: multiple definition of `usb_gadget_get_string' drivers/usb/gadget/g_zero.o(.text+0x0): first defined here make[2]: *** [drivers/usb/gadget/built-in.o] Error 1

I don't think that g_zero and g_ether are allowed to be built into the kernel at the same time. David, want to send a patch to fix the Kconfig file to prevent this?

thanks,

greg k-h

#2 lore raw
Quoted 10 lines · Greg KH
Quoted 4 lines · Adrian Bunk

`usb_gadget_get_string':
: multiple definition of `usb_gadget_get_string' drivers/usb/gadget/g_zero.o(.text+0x0): first defined here make[2]: *** [drivers/usb/gadget/built-in.o] Error 1

I don't think that g_zero and g_ether are allowed to be built into the kernel at the same time. David, want to send a patch to fix the Kconfig file to prevent this?

Yes, just one: there's only one upstream USB connector, it can only have one driver. Patch attached.

Seems like the xconfig/menuconfig coredumps I previously saw with tristate choice/endchoice are now gone ... or at least they don't show up with this many choices!

- Dave

drivers/usb/gadget/Kconfig +10 -11
@@ -35,9 +35,8 @@
 #
 # USB Peripheral Controller Support
 #
-# FIXME convert to tristate choice when "choice" behaves as specified
-#
-comment "USB Peripheral Controller Support"
+choice
+	prompt "USB Peripheral Controller Support"
 	depends on USB_GADGET
 
 config USB_NET2280
@@ -55,19 +54,17 @@
 	   dynamically linked module called "net2280" and force all
 	   gadget drivers to also be dynamically linked.
 
+endchoice
+
 #
 # USB Gadget Drivers
 #
-# FIXME only one of these may be statically linked; choice/endchoice.
-#
-comment "USB Gadget Drivers"
+choice
+	prompt "USB Gadget Drivers"
 	depends on USB_GADGET
+	default USB_ETH
 
-# FIXME want better dependency/config approach for drivers.  with only
-# two knobs to tweak (driver y/m/n, and a hardware symbol) there's no
-# good excuse for Kconfig to cause such trouble here.  there are clear
-# bugs (coredumps, multiple choices enabled, and more) in its (boolean)
-# "choice" logic too ...
+# FIXME want a cleaner dependency/config approach for drivers.
 
 config USB_ZERO
 	tristate "Gadget Zero (DEVELOPMENT)"
@@ -149,5 +146,7 @@
 	bool
 	depends on USB_ETH && USB_SA1100
 	default y
+
+endchoice
 
 # endmenuconfig
#3 lore raw

Hi,

Quoted 3 lines · David Brownell

Seems like the xconfig/menuconfig coredumps I previously saw with tristate choice/endchoice are now gone ... or at least they don't show up with this many choices!

There might be problems with choices, which have no visible values, I'll have to check this.
Please report such problems, otherwise I can't fix them.

bye, Roman

Applied
#4 lore raw
In reply to David Brownell
Quoted 12 lines · David Brownell
Quoted 10 lines · Greg KH
Quoted 4 lines · Adrian Bunk

`usb_gadget_get_string':
: multiple definition of `usb_gadget_get_string' drivers/usb/gadget/g_zero.o(.text+0x0): first defined here make[2]: *** [drivers/usb/gadget/built-in.o] Error 1

I don't think that g_zero and g_ether are allowed to be built into the kernel at the same time. David, want to send a patch to fix the Kconfig file to prevent this?

Quoted 6 lines

Yes, just one: there's only one upstream USB connector, it can only have one driver. Patch attached.

Seems like the xconfig/menuconfig coredumps I previously saw with tristate choice/endchoice are now gone ... or at least they don't show up with this many choices!

Applied, thanks.

greg k-h