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 -0000 1.587 +++ files 6 Dec 2001 06:57:36 -0000 @@ -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.c optional miibus dev/mii/acphy.c optional miibus -dev/mii/miibus_if.m optional miibus +dev/mii/miibus_if.m standard 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.c standard dev/nmdm/nmdm.c optional 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.c optional pccard dev/pccard/pccard_cis.c optional 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.c optional 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.c optional 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.c optional si isa dev/si/si_pci.c optional si pci -dev/smbus/smbus_if.m optional smbus +dev/smbus/smbus_if.m standard dev/smbus/smb.c optional smb dev/smbus/smbconf.c optional 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.m optional pcm +dev/sound/pcm/ac97_if.m standard dev/sound/pcm/buffer.c optional pcm dev/sound/pcm/channel.c optional pcm -dev/sound/pcm/channel_if.m optional pcm +dev/sound/pcm/channel_if.m standard dev/sound/pcm/dsp.c optional 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.c optional pcm +dev/sound/pcm/feeder_if.m standard +dev/sound/pcm/feeder_fmt.c standard +dev/sound/pcm/feeder_rate.c standard dev/sound/pcm/mixer.c optional pcm -dev/sound/pcm/mixer_if.m optional pcm +dev/sound/pcm/mixer_if.m standard dev/sound/pcm/sndstat.c optional pcm dev/sound/pcm/sound.c optional pcm dev/sound/pcm/vchan.c optional pcm @@ -561,7 +558,7 @@ dev/txp/if_txp.c optional txp # # USB support -dev/usb/usb_if.m optional usb +dev/usb/usb_if.m standard dev/usb/hid.c optional usb dev/usb/if_aue.c optional aue dev/usb/if_cue.c optional cue @@ -737,7 +734,7 @@ i4b/layer4/i4b_l4mgmt.c optional i4b i4b/layer4/i4b_l4timer.c optional i4b # -isa/isa_if.m optional isa +isa/isa_if.m standard isa/isa_common.c optional isa isa/isahint.c optional isa isa/joy.c optional joy @@ -877,7 +874,7 @@ libkern/bcd.c standard libkern/bsearch.c standard libkern/iconv.c optional libiconv -libkern/iconv_converter_if.m optional libiconv +libkern/iconv_converter_if.m standard libkern/iconv_xlat.c optional libiconv libkern/index.c standard libkern/inet_ntoa.c standard @@ -1194,7 +1191,7 @@ pccard/pcic_pci.c optional pcic card pci pccard/plxcard.c optional plxcard pci pci/agp.c optional agp -pci/agp_if.m optional agp +pci/agp_if.m standard pci/agp_intel.c optional agp pci/agp_via.c optional agp pci/agp_sis.c optional agp To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message