public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Grant Edwards <grante@visi.com>
To: ecos-discuss@sources.redhat.com
Subject: [ECOS]  Re: Device driver implementation questions
Date: Fri, 15 Jun 2007 08:43:00 -0000	[thread overview]
Message-ID: <f4shtm$phe$1@sea.gmane.org> (raw)
In-Reply-To: <70d4f620706141241x6eefc498w18d9590e5dc2ef93@mail.gmail.com>

On 2007-06-14, Mike Sweeney <msweeney77@gmail.com> wrote:

> I am finding the way device drivers are implemented in eCos to be
> slightly confusing so was looking for some help. The main source of my
> confusion is the need for some sort of interface under the io package
> and then another part of the driver in the devs package. I have looked
> at examples like the serial driver and understand how it works in that
> context, but am having trouble seeing the bigger picture. Should
> drivers for all types of devices follow this split implementation
> design? Furthermore, can someone provide me an analogy between the
> eCos driver model and Linux, for example? I don't see this two layer
> method in Linux so am hoping someone can clarify this.

Linux has almost the exact same two layer method for many
drivers:

  Serial drivers: There is a line-discipline layer which
  provides the application with open/close/read/write calls.
  That corresponds to the "io" stuff in eCos. The
  line-discipline layer then calls lower-level
  hardware-specific drivers for different sorts of serial
  ports.  That corresponds to the "dev" stuff in eCos.

  SCSI drivers: Pretty much the same -- there's a generic layer
  that provides an API to the user and then a lower layer that
  talks to individual SCSI controllers (or other hardware).

There are probably other examples (VFS on top of the individual
filesystem modules, 80211 on top of various card drivers).  

-- 
Grant Edwards                   grante             Yow! FUN is never having to
                                  at               say you're SUSHI!!
                               visi.com            


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

  reply	other threads:[~2007-06-14 23:11 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-15  1:21 [ECOS] " Mike Sweeney
2007-06-15  8:43 ` Grant Edwards [this message]
2007-06-15  9:43   ` [ECOS] " Mike Sweeney

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='f4shtm$phe$1@sea.gmane.org' \
    --to=grante@visi.com \
    --cc=ecos-discuss@sources.redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).