From: Steven Toth <stoth@linuxtv.org>
To: Paul Chubb <paulc@singlespoon.org.au>
Cc: Joe Djemal <joe.djemal@btconnect.com>,
"linux-dvb >> linux dvb" <linux-dvb@linuxtv.org>
Subject: Re: [linux-dvb] linux-dvb Digest, Vol 44, Issue 60
Date: Sat, 13 Sep 2008 20:08:37 -0400 [thread overview]
Message-ID: <48CC5605.7060505@linuxtv.org> (raw)
In-Reply-To: <48CC501F.20609@singlespoon.org.au>
Paul Chubb wrote:
> Hi,
> there is a good book on kernel development by Robert Love - Linux
> Kernel Development. I read about two thirds of it. Lots of useful
> information but I found it difficult to get a wide viewpoint of the
> process. It would be great to have beside you as a reference. Looking on
> Amazon - I wanted to check the details - there are several other books
> including linux device drivers by Rubini.
>
> HTH
>
> Cheers Paul
>
> Joe Djemal wrote:
>> I concur with the below. I can code in quite a few languages including
>> assembly languages and I asked for a pointer on where to get started with
>> learning how to make a Linux driver and there was complete silence as there
>> was with my previous inquiry.
>>
>> Come on guys, I've been Googling but where do I start?
>>
>> Joe
Hey Joe, I didn't see your first request, sorry.
The Linux Drivers Manual (oreilly) is a good place to start for a
generic overview of the kernel driver features. It's also online
downloadable for free in PDF form.
Jumping head first into linuxtv.org is a steep learning curve if you
haven't done driver work before. Get comfortable building the source
tree (see the wiki). I'd then suggest you look at the small drivers
(common/tuners) would be a good place to start.
Look at the struct_ interfaces that each of the smaller drivers use and
you'll start to see the major interfaces between different parts of the
kernel (tuners and demodulators) ( files
inlinux/drivers/media/dvb/frontends). In the demodulator drivers you'll
see dvb_frontend_ops, it contains the callbacks allowing other parts of
the kernel (dvb/dvb-core/*.[hc]) to call the demodulators for
configuration and tuning purposes. When applications tune then call
interfaces in dvb-core, this marshals the data and passes those calls
onto the demodulator drivers.
Tuners and demodulators are a good place to start as the drivers are
generally fairly small. Get to grips with this before you look at the
physical pci/pcie/usb drivers, they get large quickly and can easily
confuse. Limit you learning to a specific field (tuners and demods) and
submit a few cleanup patches. This is how most people start.
No substitute for look at the source code and finding the common
structures that all tuners and demodulators use.
No good book on linux-dvb exists, apart form the spec (see linuxtv.org)
and the actual project source code.
This is where I'd suggest you begin your journey.
Welcome, and good luck!
- Steve
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-09-14 0:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.757.1221287462.834.linux-dvb@linuxtv.org>
2008-09-13 8:45 ` [linux-dvb] linux-dvb Digest, Vol 44, Issue 60 Joe Djemal
2008-09-13 23:43 ` Paul Chubb
2008-09-14 0:08 ` Steven Toth [this message]
2008-09-14 0:47 ` Andy Walls
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=48CC5605.7060505@linuxtv.org \
--to=stoth@linuxtv.org \
--cc=joe.djemal@btconnect.com \
--cc=linux-dvb@linuxtv.org \
--cc=paulc@singlespoon.org.au \
/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