Date: Fri, 22 Jun 2012 13:11:46 +0400 From: Ruslan Bukin <br@bsdpad.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: newbus / snd_hdspe(4) trouble Message-ID: <20120622091146.GA5305@jail.io> In-Reply-To: <201206210812.41137.jhb@freebsd.org> References: <20120620204441.GA63638@jail.io> <201206210812.41137.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 21, 2012 at 08:12:41AM -0400, John Baldwin wrote: > On Wednesday, June 20, 2012 4:44:41 pm Ruslan Bukin wrote: > > Hi. > > > > I have the problem with different behavior of snd_hdspe(4) sound card > > driver initialization. > > > > If I load the driver by hand using kldload everything works fine, > > but in case of loading driver at boot time (loader.conf) or compile > > in kernel the driver can't initialize propertly. > > > > The snd_hdspe(4) driver is designed to create a pcm child device per > > each pair of sound channels. > > > > The problem is that snd_hdspe loaded normally, but pcm child devices > > are not appears. hdspe_pcm_probe() in driver is not called at all. > > However snd_hdspe_pcm driver exists in kldstat -v after boot: > > 5 1 0xffffffff81377000 a2c8 snd_hdspe.ko (/boot/kernel/snd_hdspe.ko) > > Contains modules: > > Id Name > > 7 hdspe/snd_hdspe_pcm > > 6 pci/snd_hdspe > > > > and I have checked, device_add_child() returns not NULL. > > > > I played with MODULE_DEPEND as done in snd_hda(4) but no luck. > > What can I do to debug the problem? > > The snd_hdspe driver probably needs to use DRIVER_MODULE_ORDERED() to ensure > the other modules in its kld are registered with new-bus before it tries to > attach to devices. I have changed, but no success. hdspe.c: DRIVER_MODULE_ORDERED(snd_hdspe, pci, hdspe_driver, pcm_devclass, 0, 0, SI_ORDER_SECOND); hdspe-pcm.c: DRIVER_MODULE_ORDERED(snd_hdspe_pcm, hdspe, hdspe_pcm_driver, pcm_devclass, 0, 0, SI_ORDER_FIRST); In this case, pcm devices are not appears neither at boot time nor by manually kldload. In reverse order works as usual (only by manually kldload) -Ruslan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120622091146.GA5305>