On Mon, 23 Jul 2007, Igor Stoppa wrote:
> again, HAL / OHM / Mobilin
I was trying to define the lower level interfaces that these tools need.
today they can only know what is possible by reading the source code for
each driver and implementing the driver-specific interfaces nessasary to
set things, I was proposing a common interface that tools like this could
use instead of requiring all the driver-specific knowledge.
in a nutshell (and I know this is probably not detailed to be acceptable)
1. the software needs to know what the interconnects and dependancies
between devices are (supposedly this is provided via sysfs)
2. the software needs to know what type of device this is (again,
supposedly this is provided via sysfs)
3. the software needs to know what modes exist for a driver/piece of
hardware. to make any decisions this infomation needs to provide some
information about the capability of the mode and the power consumed in
that mode. in addition there will need to be flags to indicate any
special restrictions of a mode
4. the software needs to know the cost of switching from any mode to any
other mode. since some transitions will interact with other devices
there will need to be flags to indicate such requirements for specific
transitions.
5. the software needs to be able to find out what mode a device is in.
6. the software needs to be able to tell the driver to switch to a
different mode (I think it would be a very good thing if going to a
particular mode was always the same command, no matter what mode it is
currently in)
7. the software needs to figure out the desire of the user.
my proposal was addressing items #3-#6. it isn't trying to decide what to
do, simply to allow the software that _is_ trying to decide what to do a
way to find out what it can do.
David Lang