Date: Fri, 22 Jul 2005 14:38:32 +0800 From: =?ISO-2022-JP?B?GyRCPDxELk0lOWEbKEI=?= <yuka.muromachi@gmail.com> To: freebsd-hackers@freebsd.org Subject: Bus Driver probe and attach device Message-ID: <c5c2798005072123385249195e@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi: I'm trying to written Azalia (HD Audio) driver for freebsd now. The HDA controller is a standard controller, which can take max=20 15 codecs. I'm planning made it be a bus driver (azalia bus). I tried to read the PCI, USB and Firewire driver code be sample. It looks: 1. Detect codec which already connected to azalia controller. 2. call device_add_child(azbus_dev, NULL, -1); to create a child device, which attach to azalia bus driver. 3. allocate memory to put codec info (e.g. device id, vendor id,=20 revision..etc), and call device_set_ivars(codec_dev, codec_info); save the codec_info ptr into device's ivars. 4. Continue 1 ~ 3, untin all available codecs be added. After all codecs be added, I call the device_probe_and_attach(azbus_dev);,= =20 but there is no thing happend.=20 Then I try to call bus_generic_attach(azbus_dev);, the codecs driver probe function be called. Is this correct (use bus_generic_attach()), and I'm interested the detail.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c5c2798005072123385249195e>