Date: Thu, 16 Mar 2006 15:31:19 -0800 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: "Artem 'ZaZooBred' Ignatiev" <zazubrik@mail.ru> Cc: freebsd-hackers@freebsd.org Subject: Re: newbus questions Message-ID: <20060316233119.GD35129@funkthat.com> In-Reply-To: <1142506792.36931.25.camel@timon> References: <1142506792.36931.25.camel@timon>
next in thread | previous in thread | raw e-mail | index | archive | help
Artem 'ZaZooBred' Ignatiev wrote this message on Thu, Mar 16, 2006 at 13:59 +0300: > As far as I understand, all such cards have the same architecture: there > is bridge chip (Philips SAA7146) which interfaces with PC (using PCI) > and tuner on the card (using I2C), so in terms of newbus Properly > Written (tm) driver must be split in two parts: driver for the SAA7146 > itself (which will be a ``bus-device'') and drivers for specific tuners > (which will act as a child device on a SAA7146 "bus"). I'd suggest that we start adopting a method where we don't make device drivers in kernel land for the tuners, and instead make more use of iic device... That's what I did w/ bktrau that supports the DViCO FusionHDTV 5 Lite card... I just wrote a driver to handle DMA from the second function on Bt878 cards, and then compiled the bktr driver w/ SMBUS support, and loaded the iic driver.. Then w/ ioctl's, etc I am able to control the tuner, w/o a specific tuner driver.. Though not as "convient" as simple ioctl's, it means that this type of support can exist entirely in userland, and is less likely to have bugs, etc... This also means that we don't have to have code in the kernel to handle detection of the different tuner types, and it'll be easier to make fixes to the tuner drivers.. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060316233119.GD35129>