In message <[EMAIL PROTECTED]> Takanori
Watanabe writes:
: In message <[EMAIL PROTECTED]>, Warner Losh さんい
: わく:
: >In message <[EMAIL PROTECTED]> Alexander Leiding
: >er writes:
: >: ---snip---
: >: Preloaded elf module "/boot/kernel/joy.ko" at 0xc048fe28.
: >: link_elf: symbol card_compat_do_probe_desc undefined
: >: KLD file joy.ko - could not finalize loading
: >
: >Hmmm. Looks like this is my fault. The joy driver now assumes that
: >pccard is in the base kernel, it seems. I will investigate. I hadn't
: >anticipated this problem.
:
: How about putting card_if.c and some support function stub into base system?
I must think about this, I think.
A quick look at joy.ko shows that the following symbols are undefined:
U card_compat_attach_desc
U card_compat_do_attach_desc
U card_compat_do_probe_desc
U card_compat_match_desc
U card_compat_probe_desc
U isa_pnp_probe_desc
ed shows a similar list of undefined symbols.
There are two cases here. Some of these symbols come from using an
interface, while others come from implementing that interface.
Maybe we do need to compile all the *_if.c files into the kernel, used
or not, to allow any driver to be loaded. If the bus isn't there,
then it will not probe on that bus, but there won't be the unresolved
symbols.
I'm unsure. Comments?
Warner
BTM, here's a patch to implement all *_if.c files vs current. This
should help the original poster around his problem.
Index: files
===
RCS file: /home/imp/FreeBSD/CVS/src/sys/conf/files,v
retrieving revision 1.587
diff -u -r1.587 files
--- files 6 Dec 2001 06:40:18 - 1.587
+++ files 6 Dec 2001 06:57:36 -
@@ -359,8 +359,8 @@
dev/ida/ida_eisa.c optional ida eisa
dev/ida/ida_pci.c optional ida pci
dev/ie/if_ie.c count ie isa
-dev/iicbus/iicbb_if.m optional iicbb
-dev/iicbus/iicbus_if.m optional iicbus
+dev/iicbus/iicbb_if.m standard
+dev/iicbus/iicbus_if.m standard
dev/iicbus/if_ic.c optional ic
dev/iicbus/iic.c optional iic
dev/iicbus/iicbb.c optional iicbb
@@ -407,7 +407,7 @@
dev/mii/lxtphy.c optional miibus
dev/mii/qsphy.coptional miibus
dev/mii/acphy.coptional miibus
-dev/mii/miibus_if.moptional miibus
+dev/mii/miibus_if.mstandard
dev/mlx/mlx.c optional mlx
dev/mlx/mlx_disk.c optional mlx
dev/mlx/mlx_pci.c optional mlx
@@ -416,23 +416,20 @@
dev/nge/if_nge.c optional nge
dev/null/null.cstandard
dev/nmdm/nmdm.coptional nmdm
-dev/pccard/card_if.m optional card
-dev/pccard/card_if.m optional cardbus
-dev/pccard/card_if.m optional pccard
+dev/pccard/card_if.m standard
dev/pccard/pccard.coptional pccard
dev/pccard/pccard_cis.coptional pccard
dev/pccard/pccard_cis_quirks.c optional pccard
-dev/pccard/power_if.m optional cardbus
-dev/pccard/power_if.m optional pccard
+dev/pccard/power_if.m standard
dev/pci/eisa_pci.c optional pci
dev/pci/fixup_pci.coptional pci
dev/pci/ignore_pci.c optional pci
dev/pci/isa_pci.c optional pci
dev/pci/pci.c count pci
-dev/pci/pci_if.m optional pci
+dev/pci/pci_if.m standard
dev/pci/pci_pci.c optional pci
dev/pci/pci_user.c optional pci
-dev/pci/pcib_if.m optional pci
+dev/pci/pcib_if.m standard
dev/pcic/i82365.c optional pcic pccard
dev/pcic/i82365_isa.c optional pcic pccard isa
dev/pdq/if_fea.c optional fea eisa
@@ -441,7 +438,7 @@
dev/pdq/pdq.c optional fpa pci
dev/pdq/pdq_ifsubr.c optional fea eisa
dev/pdq/pdq_ifsubr.c optional fpa pci
-dev/ppbus/ppbus_if.m optional ppbus
+dev/ppbus/ppbus_if.m standard
dev/ppbus/if_plip.coptional plip
dev/ppbus/immio.c optional vpo
dev/ppbus/lpbb.c optional lpbb
@@ -472,7 +469,7 @@
dev/si/si_eisa.c optional si eisa
dev/si/si_isa.coptional si isa
dev/si/si_pci.coptional si pci
-dev/smbus/smbus_if.m optional smbus
+dev/smbus/smbus_if.m standard
dev/smbus/smb.coptional smb
dev/smbus/smbconf.coptional smbus
dev/smbus/smbus.c count smbus
@@ -520,18 +517,18 @@
dev/sound/pci/vibes.c optional pcm pci
#dev/sound/pci/vortex1.c optional pcm pci
dev/sound/pcm/ac97.c optional pcm
-dev/sound/pcm/ac97_if.moptional pcm
+dev/sound/pcm/ac97_if.mstandard
dev/sound/pcm/buffer.c optional pcm
dev/sound/pcm/channel.coptional pcm
-dev/sound/pcm/channel_if.m optional pcm
+dev/sound/pcm/channel_if.m standard
dev/sound/pcm/dsp.coptional pcm
dev/sound/pcm/fake.c optional pcm
dev/sound/pcm/feeder.c optional pcm
-dev/sound/pcm/feeder_if.m optional pcm
-dev/sound/pcm/feeder_fmt.c optional pcm
-dev/sound/pcm/feeder_rate.coptional pcm
+dev/sound/pcm/feeder_if.m standard
+dev/sound/pcm/feeder_f