Skip site navigation (1)Skip section navigation (2)
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>