Re: Two question about kernel global function declaration and directorylayout

From: Ryan Mallon
Date: Mon Sep 03 2012 - 20:59:33 EST


On 04/09/12 01:32, daley wrote:
> hi, everyone, I'm a big fan of the kernel, I was always being attracted
> by its clean and intelligent design. I'm new to the mailing list and
> this is my first post. I want to ask two basic question about kernel
> which bother me a lot, I've googled a lot but nobody could give a
> suitable answer .
>
> The first one is about global function declaration, I was confused about
> the usage of keyword "extern" before a global function which declared in
> the header file. for example,

It specifies that the function has external linkage, which is the
opposite of internal (static keyword) linkage. The default linkage for
functions in external, so the extern keyword is not technically
required, but many developers like to specify it explicitly. C linkage
is explained here:

http://publications.gbdirect.co.uk/c_book/chapter4/linkage.html

> The second question is why not move the *sound* directory into the
> *drivers* directory or put bigger subsystem out of drivers, since there
> are more bigger subsystems(e.g. media, scsi) than sound?

This was discussed a couple of years back, but never happened. I'm not
sure what the reasons were. You can read through the discussion yourself
if you are so inclined. There is an email from Linus explaining some of
the historical reasons why the sound code is in sound/ and not
drivers/sound:

http://lkml.indiana.edu/hypermail/linux/kernel/0805.2/3026.html

~Ryan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/