Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: refactoring



Andrew de Quincey wrote:

On Monday 11 Oct 2004 13:14, Johannes Stezenbach wrote:

On Mon, Oct 11, 2004 at 12:32:45PM +0100, Andrew de Quincey wrote:

On Monday 11 Oct 2004 12:29, Johannes Stezenbach wrote:

Well, if the i2c bus and the devices on the bus aren't exposed
at all in sysfs, then the DVB adapter driver could take care
of it when called via PCI bus power management hooks. I don't
think this is a good design, but it would work for PCI cards.

I'm only talking about not exposing the bits of the frontend - exposing
the i2c bus is fine - you might have self-contained devices on it that it
makes sense for userspace to see (e.g. EEPROMs, analogue tv tuners).

Then I suspect we might run into problems when the power management
core decides to power down busses in the wrong order. Well, on PCI
cards one could make the i2c adapter shutdown a noop, and do the i2c
shutdown when the PCI adapter is shutdown. On embedded you have
no such luck. You must power down the demod/PLL before the
i2c bus goes to sleep. (There'll be probable ways to kludge
around this, but it will never be clean&simple.)

Urgh, there is no nice solution to this. What is the least nasty?

implement it in the card driver, this one can access all devices:

* first power down LNB, Switches and DiSEqC bus
* shut down PLL and demod via i2c
* shut down the i2c bus
* shut down the PCI bridge/USB transceiver, everything else

resume would get executed in the reverse order.

Holger




Home | Main Index | Thread Index