[Meego-porting] Adaptation interfaces?

Carsten Munk carsten at maemo.org
Tue Nov 30 11:49:42 PST 2010


2010/11/26 Carsten Munk <carsten at maemo.org>:
> 2010/11/22 Carsten Munk <carsten.munk at gmail.com>:
>> One of the things in Jari's talk in the unconference session on
>> hardware adaptations in MeeGo was regarding adaptation interfaces in
>> the MeeGo Core OS.
>>
>> .. and I got wondering if we have a list of these in the current
>> architecture grouped by which subsystem they're in?
>>
>> Or is it something we are making up as we go?
>>
>
> Seems like my first email didn't make it through..
>
> I've started to map the Nokia N900 hardware adaptation in order to
> help establish what adaptation I/Fs we actually have in MeeGo. We have
> some I/Fs we probably need to clean up in 1.2. Change proposals more
> than welcome.
>
> I've put up my initial list of I/Fs that are actually used currently
> (not complete yet) -- does this seem like a good structure to help
> define adaptation I/F'es? A clear and direct way of "how do you adapt
> this specifically on my hardware and what knobs/hooks should I use and
> are there any examples"
>
> URL is http://wiki.meego.com/User:Stskeeps/AdaptationIF  -- comments
> more than welcome!
>

I've added some more Adaptation I/F's to the page above - comments
welcome still!.

Now, to illustrate why these are useful. Imagine now that we'd like to
set up a set of requirements for this particular hw adaptation for the
featurezilla. Based on the I/F's, it's easy to set up and cut the
pieces that doesn't matter/apply and we end up with a good set of
requirements for the HW adaptation work.

I've used the form:

The <hw> adaptation must/can/could provide the <adaptation I/F adaptation>

This will be implemented <how>

<how> can possibly come through choices of "Todo" in the I/F description

In a featurezilla, the requirements would depend on the specific
hardware adaptation I/F FEA#. This would be useful for those
adaptation I/F that are under development and a hardware adaptation is
waiting for an adaptation I/F to be implemented.

Requirements inline in text:

    * 1.1 System Core Adaptation I/Fs
    * 1.2 Device Mode Adaptation I/Fs
          o 1.2.1 Method: ContextKit Property Provider
          o 1.2.2 ContextKit Property: Internal keyboard present

The Nokia N900 hardware adaptation must provide the ContextKit
Property: Internal keyboard present.

This will be implemented by the contextkit-maemo kbslider plugin

          o 1.2.3 ContextKit Property: Internal keyboard open
          o 1.2.4 ContextKit Property: Screen.IsCovered

The Nokia N900 hardware adaptation must provide the ContextKit
Property: Screen.IsCovered.

This will be implemented through the Sensor Framework with a Proximity
sensor configuration.

          o 1.2.5 ContextKit Property: Screen.TopEdge
          o 1.2.6 ContextKit Property: Environment.IsDark
          o 1.2.7 ContextKit Property: Environment.IsBright
          o 1.2.8 ContextKit Property: Position.Stable
          o 1.2.9 ContextKit Property: Position.Shaky
          o 1.2.10 ContextKit Property: Location.Heading

The Nokia N900 hardware adaptation must provide the ContextKit
Property: Location.Heading.

This will be implemented by the Location stack through GPS coordinate deltas.

    * 1.3 Display and Graphics Adaptation I/Fs
          o 1.3.1 Xorg DDX Video driver module API

The Nokia N900 hardware adaptation must provide a Xorg DDX Video driver module

This will be implemented by the package xorg-x11-drv-fbdev-sgx

          o 1.3.2 Khronos EGL

The Nokia N900 hardware adaptation must provide a Khronos EGL
userspace implementation

This will be implemented by the package ti-omap3-sgx-fbdev

          o 1.3.3 Khronos OpenGL ES 2.0
          o 1.3.4 Xorg Display configuration

The Nokia N900 hardware adaptation must provide a Xorg Display configuration

This will be implemented by the package nokia-n900-configs

          o 1.3.5 Kernel framebuffer driver
    * 1.4 Audio adaptation I/Fs
          o 1.4.1 Gstreamer audio plugins
          o 1.4.2 PulseAudio modules
          o 1.4.3 PulseAudio configuration
    * 1.5 Input adaptation
          o 1.5.1 Xorg XInput 2.0 driver module API
          o 1.5.2 Xorg input device configuration
          o 1.5.3 Kernel input device API
    * 1.6 Sensor Adaptation I/Fs
          o 1.6.1 Sensor Framework Configuration

The Nokia N900 hardware adaptation must provide a Sensor Framework Configuration

This will be implemented by the package sensord-config-n900 and
support the following sensors on N900:

* Accelerometer
* ALS
* Proximity
* ..


          o 1.6.2 Sensor Framework Plugin API
    * 1.7 Camera Adaptation I/Fs
    * 1.8 Video and Imaging Adaptation I/Fs
    * 1.9 Connectivity Adaptation I/Fs
    * 1.10 Cellular Adaptation I/Fs
    * 1.11 Location Adaptation I/Fs
    * 1.12 Haptics and Vibra Adaptation I/Fs
    * 1.13 Production Adaptation I/Fs
    * 1.14 Security Adaptation I/Fs

BR
Carsten Munk


More information about the MeeGo-porting mailing list