All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: xenomai-core <xenomai@xenomai.org>
Subject: [Xenomai-core] Future of Xenomai's RTDM driver repository
Date: Wed, 02 Aug 2006 12:19:58 +0200	[thread overview]
Message-ID: <44D07C4E.4040200@domain.hid> (raw)

[-- Attachment #1: Type: text/plain, Size: 3769 bytes --]

Hi,

instead of replying directly to Wolfgang's announcement of their great
CAN stack I take the chance to start a generic thread on the future of
RTDM drivers *within* Xenomai.

If you look at the real-time Linux scene now and in the past, you may
find it fairly scattered. Specifically precious Open Source drivers are
hard to find, not always up-to-date, or not ported to your favourite
kernel/RT-patch. Just check how many CAN driver projects for how many RT
APIs are out there. There are even a few hardware vendors providing
driver packages for real-time Linux, others offer at least some kind of
"reference code", but many nothing at all. Sad but true for _many_ years.

RTDM came into play to provide a common ground for real-time driver
development under Linux. It is already utilised by quite a few
stand-alone driver projects and even vendor drivers. But as resources
are limited, maintenance is tricky, and testers are rare, we should
consider concentrating driver development efforts more intensively. I'm
convinced such concentration should primarily happen within the Xenomai
driver repository.

Xenomai has the unique potential to provide a real-time framework for
both the co-scheduling approach and for the native RT-Linux environment
that Preempt-RT will probably push into mainline one day. And Xenomai is
also a sound foundation for the tricky 2.4/2.6 support scenario.

Here are the concrete advantages I see in maintaining drivers *inside*
Xenomai:

 o Better visibility (did you know that there is a working FireWire
   stack for Xenomai?)
 o Better testing, also across architectures, due to more users (this
   applies to the drivers, but also to RTDM and Xenomai in all)
 o Closer to the latest RTDM development
 o Wrapping environments for changing kernel interfaces (2.4/2.6 etc.)
 o In-kernel build
 o Simpler build system (look at RTnet...)
 o Single, integrated package, thus less breakages due to version
   mismatches

Of course, there are also certain critical topics that need to be
resolved first:

 o Clear acceptance rules
    - Maintenance commitment: "dump-and-run" will not scale. Unless
      there is already a community behind it, complex drivers need
      people to look after them. Dead/unused drivers should get moved in
      some corner after a while.
    - Coding style: Should simply be kernel style (though I personally
      hate tabs).
    - Documentation: New RTDM profiles as well as the drivers themselves
      must contain "some words" (surely a more softish requirement).
    - Test cases, test conformance: Drivers should provide some simple
      tests or, if once available, conform to existing tests for their
      RTDM profiles.
 o Repository organisation
    - Where to keep utilities (Wolfgang raised this as well)? Should a
      "rtcanconfig" come with Xenomai, as a separate package of
      rt-utils, or as package of its own?
    - Where to put test cases? Distribute them separately?
    - Where to collect usage examples? This is actually a generic
      question, also for the skins (I think the current situation is
      a bit unsatisfactory).
 o Support organisation
      Simple drivers can certainly be managed via xenomai-help, existing
      communities will continue to use their own forums, but what about
      new subsystems? I could imagine introducing some
      xenomai-SUBSYSTEM@gna.org lists for them, Philippe suggested
      simply xenomai-drivers which is likely already sufficient.

Now I would suggest to look at RTCAN (or what it will be called in the
end) and to discuss on this first concrete example how we can proceed
towards the sketched goal.

Looking forward to your feedback!

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

             reply	other threads:[~2006-08-02 10:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-02 10:19 Jan Kiszka [this message]
2006-08-03  7:58 ` [Xenomai-core] Future of Xenomai's RTDM driver repository Wolfgang Grandegger
2006-08-03  9:34   ` Jan Kiszka
2006-08-03 15:53   ` Philippe Gerum
2006-08-04  8:46     ` Wolfgang Grandegger
2006-08-03 15:14 ` Philippe Gerum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44D07C4E.4040200@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.