aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/acpi-hotkey.txt38
-rw-r--r--Documentation/arm/Samsung-S3C24XX/DMA.txt46
-rw-r--r--Documentation/arm/Samsung-S3C24XX/Overview.txt21
-rw-r--r--Documentation/driver-model/platform.txt4
-rw-r--r--Documentation/feature-removal-schedule.txt30
-rw-r--r--Documentation/filesystems/sysfs-pci.txt2
-rw-r--r--Documentation/kbuild/makefiles.txt28
-rw-r--r--Documentation/kernel-docs.txt257
-rw-r--r--Documentation/kernel-parameters.txt20
-rw-r--r--Documentation/pci.txt4
-rw-r--r--Documentation/powerpc/booting-without-of.txt14
-rw-r--r--Documentation/sh/new-machine.txt4
-rw-r--r--Documentation/sony-laptop.txt106
-rw-r--r--Documentation/video4linux/bttv/Insmod-options2
14 files changed, 334 insertions, 242 deletions
diff --git a/Documentation/acpi-hotkey.txt b/Documentation/acpi-hotkey.txt
deleted file mode 100644
index 38040fa37649..000000000000
--- a/Documentation/acpi-hotkey.txt
+++ /dev/null
@@ -1,38 +0,0 @@
1driver/acpi/hotkey.c implement:
21. /proc/acpi/hotkey/event_config
3(event based hotkey or event config interface):
4a. add a event based hotkey(event) :
5echo "0:bus::action:method:num:num" > event_config
6
7b. delete a event based hotkey(event):
8echo "1:::::num:num" > event_config
9
10c. modify a event based hotkey(event):
11echo "2:bus::action:method:num:num" > event_config
12
132. /proc/acpi/hotkey/poll_config
14(polling based hotkey or event config interface):
15a.add a polling based hotkey(event) :
16echo "0:bus:method:action:method:num" > poll_config
17this adding command will create a proc file
18/proc/acpi/hotkey/method, which is used to get
19result of polling.
20
21b.delete a polling based hotkey(event):
22echo "1:::::num" > event_config
23
24c.modify a polling based hotkey(event):
25echo "2:bus:method:action:method:num" > poll_config
26
273./proc/acpi/hotkey/action
28(interface to call aml method associated with a
29specific hotkey(event))
30echo "event_num:event_type:event_argument" >
31 /proc/acpi/hotkey/action.
32The result of the execution of this aml method is
33attached to /proc/acpi/hotkey/poll_method, which is dynamically
34created. Please use command "cat /proc/acpi/hotkey/polling_method"
35to retrieve it.
36
37Note: Use cmdline "acpi_generic_hotkey" to over-ride
38platform-specific with generic driver.
diff --git a/Documentation/arm/Samsung-S3C24XX/DMA.txt b/Documentation/arm/Samsung-S3C24XX/DMA.txt
new file mode 100644
index 000000000000..37f4edcc5d87
--- /dev/null
+++ b/Documentation/arm/Samsung-S3C24XX/DMA.txt
@@ -0,0 +1,46 @@
1 S3C2410 DMA
2 ===========
3
4Introduction
5------------
6
7 The kernel provides an interface to manage DMA transfers
8 using the DMA channels in the cpu, so that the central
9 duty of managing channel mappings, and programming the
10 channel generators is in one place.
11
12
13DMA Channel Ordering
14--------------------
15
16 Many of the range do not have connections for the DMA
17 channels to all sources, which means that some devices
18 have a restricted number of channels that can be used.
19
20 To allow flexibilty for each cpu type and board, the
21 dma code can be given an dma ordering structure which
22 allows the order of channel search to be specified, as
23 well as allowing the prohibition of certain claims.
24
25 struct s3c24xx_dma_order has a list of channels, and
26 each channel within has a slot for a list of dma
27 channel numbers. The slots are searched in order, for
28 the presence of a dma channel number with DMA_CH_VALID
29 orred in.
30
31 If the order has the flag DMA_CH_NEVER set, then after
32 checking the channel list, the system will return no
33 found channel, thus denying the request.
34
35 A board support file can call s3c24xx_dma_order_set()
36 to register an complete ordering set. The routine will
37 copy the data, so the original can be discared with
38 __initdata.
39
40
41Authour
42-------
43
44Ben Dooks,
45Copyright (c) 2007 Ben Dooks, Simtec Electronics
46Licensed under the GPL v2
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt
index 28d014714ab8..c31b76fa66c4 100644
--- a/Documentation/arm/Samsung-S3C24XX/Overview.txt
+++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt
@@ -8,13 +8,10 @@ Introduction
8 8
9 The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported 9 The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported
10 by the 's3c2410' architecture of ARM Linux. Currently the S3C2410, 10 by the 's3c2410' architecture of ARM Linux. Currently the S3C2410,
11 S3C2440 and S3C2442 devices are supported. 11 S3C2412, S3C2413, S3C2440 and S3C2442 devices are supported.
12 12
13 Support for the S3C2400 series is in progress. 13 Support for the S3C2400 series is in progress.
14 14
15 Support for the S3C2412 and S3C2413 CPUs is being merged.
16
17
18Configuration 15Configuration
19------------- 16-------------
20 17
@@ -26,6 +23,22 @@ Configuration
26 please check the machine specific documentation. 23 please check the machine specific documentation.
27 24
28 25
26Layout
27------
28
29 The core support files are located in the platform code contained in
30 arch/arm/plat-s3c24xx with headers in include/asm-arm/plat-s3c24xx.
31 This directory should be kept to items shared between the platform
32 code (arch/arm/plat-s3c24xx) and the arch/arm/mach-s3c24* code.
33
34 Each cpu has a directory with the support files for it, and the
35 machines that carry the device. For example S3C2410 is contained
36 in arch/arm/mach-s3c2410 and S3C2440 in arch/arm/mach-s3c2440
37
38 Register, kernel and platform data definitions are held in the
39 include/asm-arm/arch-s3c2410 directory.
40
41
29Machines 42Machines
30-------- 43--------
31 44
diff --git a/Documentation/driver-model/platform.txt b/Documentation/driver-model/platform.txt
index 9f0bc3bfd776..f7c9262b2dc8 100644
--- a/Documentation/driver-model/platform.txt
+++ b/Documentation/driver-model/platform.txt
@@ -66,7 +66,7 @@ runtime memory footprint:
66 66
67Device Enumeration 67Device Enumeration
68~~~~~~~~~~~~~~~~~~ 68~~~~~~~~~~~~~~~~~~
69As a rule, platform specific (and often board-specific) setup code wil 69As a rule, platform specific (and often board-specific) setup code will
70register platform devices: 70register platform devices:
71 71
72 int platform_device_register(struct platform_device *pdev); 72 int platform_device_register(struct platform_device *pdev);
@@ -106,7 +106,7 @@ It's built from two components:
106 * platform_device.id ... the device instance number, or else "-1" 106 * platform_device.id ... the device instance number, or else "-1"
107 to indicate there's only one. 107 to indicate there's only one.
108 108
109These are catenated, so name/id "serial"/0 indicates bus_id "serial.0", and 109These are concatenated, so name/id "serial"/0 indicates bus_id "serial.0", and
110"serial/3" indicates bus_id "serial.3"; both would use the platform_driver 110"serial/3" indicates bus_id "serial.3"; both would use the platform_driver
111named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id) 111named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id)
112and use the platform_driver called "my_rtc". 112and use the platform_driver called "my_rtc".
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index c585aa8d62b4..6a451f47d40f 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -253,29 +253,6 @@ Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
253 253
254--------------------------- 254---------------------------
255 255
256<<<<<<< test:Documentation/feature-removal-schedule.txt
257What: ACPI hotkey driver (CONFIG_ACPI_HOTKEY)
258When: 2.6.21
259Why: hotkey.c was an attempt to consolidate multiple drivers that use
260 ACPI to implement hotkeys. However, hotkeys are not documented
261 in the ACPI specification, so the drivers used undocumented
262 vendor-specific hooks and turned out to be more different than
263 the same.
264
265 Further, the keys and the features supplied by each platform
266 are different, so there will always be a need for
267 platform-specific drivers.
268
269 So the new plan is to delete hotkey.c and instead, work on the
270 platform specific drivers to try to make them look the same
271 to the user when they supply the same features.
272
273 hotkey.c has always depended on CONFIG_EXPERIMENTAL
274
275Who: Len Brown <len.brown@intel.com>
276
277---------------------------
278
279What: /sys/firmware/acpi/namespace 256What: /sys/firmware/acpi/namespace
280When: 2.6.21 257When: 2.6.21
281Why: The ACPI namespace is effectively the symbol list for 258Why: The ACPI namespace is effectively the symbol list for
@@ -306,13 +283,6 @@ Who: Len Brown <len.brown@intel.com>
306 283
307--------------------------- 284---------------------------
308 285
309What: JFFS (version 1)
310When: 2.6.21
311Why: Unmaintained for years, superceded by JFFS2 for years.
312Who: Jeff Garzik <jeff@garzik.org>
313
314---------------------------
315
316What: sk98lin network driver 286What: sk98lin network driver
317When: July 2007 287When: July 2007
318Why: In kernel tree version of driver is unmaintained. Sk98lin driver 288Why: In kernel tree version of driver is unmaintained. Sk98lin driver
diff --git a/Documentation/filesystems/sysfs-pci.txt b/Documentation/filesystems/sysfs-pci.txt
index 7ba2baa165ff..5daa2aaec2c5 100644
--- a/Documentation/filesystems/sysfs-pci.txt
+++ b/Documentation/filesystems/sysfs-pci.txt
@@ -65,7 +65,7 @@ Accessing legacy resources through sysfs
65---------------------------------------- 65----------------------------------------
66 66
67Legacy I/O port and ISA memory resources are also provided in sysfs if the 67Legacy I/O port and ISA memory resources are also provided in sysfs if the
68underlying platform supports them. They're located in the PCI class heirarchy, 68underlying platform supports them. They're located in the PCI class hierarchy,
69e.g. 69e.g.
70 70
71 /sys/class/pci_bus/0000:17/ 71 /sys/class/pci_bus/0000:17/
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 4b3d6710c504..bb5306e9a5c3 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -34,7 +34,7 @@ This document describes the Linux kernel Makefiles.
34 --- 6.1 Set variables to tweak the build to the architecture 34 --- 6.1 Set variables to tweak the build to the architecture
35 --- 6.2 Add prerequisites to archprepare: 35 --- 6.2 Add prerequisites to archprepare:
36 --- 6.3 List directories to visit when descending 36 --- 6.3 List directories to visit when descending
37 --- 6.4 Architecture specific boot images 37 --- 6.4 Architecture-specific boot images
38 --- 6.5 Building non-kbuild targets 38 --- 6.5 Building non-kbuild targets
39 --- 6.6 Commands useful for building a boot image 39 --- 6.6 Commands useful for building a boot image
40 --- 6.7 Custom kbuild commands 40 --- 6.7 Custom kbuild commands
@@ -124,7 +124,7 @@ more details, with real examples.
124 Example: 124 Example:
125 obj-y += foo.o 125 obj-y += foo.o
126 126
127 This tell kbuild that there is one object in that directory, named 127 This tells kbuild that there is one object in that directory, named
128 foo.o. foo.o will be built from foo.c or foo.S. 128 foo.o. foo.o will be built from foo.c or foo.S.
129 129
130 If foo.o shall be built as a module, the variable obj-m is used. 130 If foo.o shall be built as a module, the variable obj-m is used.
@@ -353,7 +353,7 @@ more details, with real examples.
353 Special rules are used when the kbuild infrastructure does 353 Special rules are used when the kbuild infrastructure does
354 not provide the required support. A typical example is 354 not provide the required support. A typical example is
355 header files generated during the build process. 355 header files generated during the build process.
356 Another example are the architecture specific Makefiles which 356 Another example are the architecture-specific Makefiles which
357 need special rules to prepare boot images etc. 357 need special rules to prepare boot images etc.
358 358
359 Special rules are written as normal Make rules. 359 Special rules are written as normal Make rules.
@@ -416,7 +416,7 @@ more details, with real examples.
416 #arch/i386/kernel/Makefile 416 #arch/i386/kernel/Makefile
417 vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv) 417 vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv)
418 418
419 In the above example vsyscall-flags will be assigned the option 419 In the above example, vsyscall-flags will be assigned the option
420 -Wl$(comma)--hash-style=sysv if it is supported by $(CC). 420 -Wl$(comma)--hash-style=sysv if it is supported by $(CC).
421 The second argument is optional, and if supplied will be used 421 The second argument is optional, and if supplied will be used
422 if first argument is not supported. 422 if first argument is not supported.
@@ -434,7 +434,7 @@ more details, with real examples.
434 #arch/i386/Makefile 434 #arch/i386/Makefile
435 cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586) 435 cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586)
436 436
437 In the above example cflags-y will be assigned the option 437 In the above example, cflags-y will be assigned the option
438 -march=pentium-mmx if supported by $(CC), otherwise -march=i586. 438 -march=pentium-mmx if supported by $(CC), otherwise -march=i586.
439 The second argument to cc-option is optional, and if omitted, 439 The second argument to cc-option is optional, and if omitted,
440 cflags-y will be assigned no value if first option is not supported. 440 cflags-y will be assigned no value if first option is not supported.
@@ -750,10 +750,10 @@ When kbuild executes, the following steps are followed (roughly):
750 located at the root of the obj tree. 750 located at the root of the obj tree.
751 The very first objects linked are listed in head-y, assigned by 751 The very first objects linked are listed in head-y, assigned by
752 arch/$(ARCH)/Makefile. 752 arch/$(ARCH)/Makefile.
7537) Finally, the architecture specific part does any required post processing 7537) Finally, the architecture-specific part does any required post processing
754 and builds the final bootimage. 754 and builds the final bootimage.
755 - This includes building boot records 755 - This includes building boot records
756 - Preparing initrd images and thelike 756 - Preparing initrd images and the like
757 757
758 758
759--- 6.1 Set variables to tweak the build to the architecture 759--- 6.1 Set variables to tweak the build to the architecture
@@ -880,7 +880,7 @@ When kbuild executes, the following steps are followed (roughly):
880 880
881 $(head-y) lists objects to be linked first in vmlinux. 881 $(head-y) lists objects to be linked first in vmlinux.
882 $(libs-y) lists directories where a lib.a archive can be located. 882 $(libs-y) lists directories where a lib.a archive can be located.
883 The rest lists directories where a built-in.o object file can be 883 The rest list directories where a built-in.o object file can be
884 located. 884 located.
885 885
886 $(init-y) objects will be located after $(head-y). 886 $(init-y) objects will be located after $(head-y).
@@ -888,7 +888,7 @@ When kbuild executes, the following steps are followed (roughly):
888 $(core-y), $(libs-y), $(drivers-y) and $(net-y). 888 $(core-y), $(libs-y), $(drivers-y) and $(net-y).
889 889
890 The top level Makefile defines values for all generic directories, 890 The top level Makefile defines values for all generic directories,
891 and arch/$(ARCH)/Makefile only adds architecture specific directories. 891 and arch/$(ARCH)/Makefile only adds architecture-specific directories.
892 892
893 Example: 893 Example:
894 #arch/sparc64/Makefile 894 #arch/sparc64/Makefile
@@ -897,7 +897,7 @@ When kbuild executes, the following steps are followed (roughly):
897 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ 897 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/
898 898
899 899
900--- 6.4 Architecture specific boot images 900--- 6.4 Architecture-specific boot images
901 901
902 An arch Makefile specifies goals that take the vmlinux file, compress 902 An arch Makefile specifies goals that take the vmlinux file, compress
903 it, wrap it in bootstrapping code, and copy the resulting files 903 it, wrap it in bootstrapping code, and copy the resulting files
@@ -924,7 +924,7 @@ When kbuild executes, the following steps are followed (roughly):
924 "$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke 924 "$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke
925 make in a subdirectory. 925 make in a subdirectory.
926 926
927 There are no rules for naming architecture specific targets, 927 There are no rules for naming architecture-specific targets,
928 but executing "make help" will list all relevant targets. 928 but executing "make help" will list all relevant targets.
929 To support this, $(archhelp) must be defined. 929 To support this, $(archhelp) must be defined.
930 930
@@ -982,7 +982,7 @@ When kbuild executes, the following steps are followed (roughly):
982 $(call if_changed,ld/objcopy/gzip) 982 $(call if_changed,ld/objcopy/gzip)
983 983
984 When the rule is evaluated, it is checked to see if any files 984 When the rule is evaluated, it is checked to see if any files
985 needs an update, or the command line has changed since the last 985 need an update, or the command line has changed since the last
986 invocation. The latter will force a rebuild if any options 986 invocation. The latter will force a rebuild if any options
987 to the executable have changed. 987 to the executable have changed.
988 Any target that utilises if_changed must be listed in $(targets), 988 Any target that utilises if_changed must be listed in $(targets),
@@ -1089,7 +1089,7 @@ When kbuild executes, the following steps are followed (roughly):
1089 assignment. 1089 assignment.
1090 1090
1091 The kbuild infrastructure for *lds file are used in several 1091 The kbuild infrastructure for *lds file are used in several
1092 architecture specific files. 1092 architecture-specific files.
1093 1093
1094 1094
1095=== 7 Kbuild Variables 1095=== 7 Kbuild Variables
@@ -1133,7 +1133,7 @@ The top Makefile exports the following variables:
1133 1133
1134 This variable defines a place for the arch Makefiles to install 1134 This variable defines a place for the arch Makefiles to install
1135 the resident kernel image and System.map file. 1135 the resident kernel image and System.map file.
1136 Use this for architecture specific install targets. 1136 Use this for architecture-specific install targets.
1137 1137
1138 INSTALL_MOD_PATH, MODLIB 1138 INSTALL_MOD_PATH, MODLIB
1139 1139
diff --git a/Documentation/kernel-docs.txt b/Documentation/kernel-docs.txt
index b53bccbd9727..c68dafeda7a7 100644
--- a/Documentation/kernel-docs.txt
+++ b/Documentation/kernel-docs.txt
@@ -1,10 +1,10 @@
1 1
2 Index of Documentation for People Interested in Writing and/or 2 Index of Documentation for People Interested in Writing and/or
3 3
4 Understanding the Linux Kernel. 4 Understanding the Linux Kernel.
5 5
6 Juan-Mariano de Goyeneche <jmseyas@dit.upm.es> 6 Juan-Mariano de Goyeneche <jmseyas@dit.upm.es>
7 7
8/* 8/*
9 * The latest version of this document may be found at: 9 * The latest version of this document may be found at:
10 * http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html 10 * http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
@@ -61,18 +61,18 @@
61 13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The 61 13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The
62 Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU 62 Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU
63 General Public License, Glossary". In short: a must have. 63 General Public License, Glossary". In short: a must have.
64 64
65 * Title: "The Linux Kernel Hackers' Guide" 65 * Title: "Linux Device Drivers, 2nd Edition"
66 Author: Michael K.Johnson and others. 66 Author: Alessandro Rubini and Jonathan Corbet.
67 URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html 67 URL: http://www.xml.com/ldd/chapter/book/index.html
68 Keywords: everything! 68 Keywords: device drivers, modules, debugging, memory, hardware,
69 Description: No more Postscript book-like version. Only HTML now. 69 interrupt handling, char drivers, block drivers, kmod, mmap, DMA,
70 Many people have contributed. The interface is similar to web 70 buses.
71 available mailing lists archives. You can find some articles and 71 Description: O'Reilly's popular book, now also on-line under the
72 then some mails asking questions about them and/or complementing 72 GNU Free Documentation License.
73 previous contributions. A little bit anarchic in this aspect, but 73 Notes: You can also buy it in paper-form from O'Reilly. See below
74 with some valuable information in some cases. 74 under BOOKS (Not on-line).
75 75
76 * Title: "Conceptual Architecture of the Linux Kernel" 76 * Title: "Conceptual Architecture of the Linux Kernel"
77 Author: Ivan T. Bowman. 77 Author: Ivan T. Bowman.
78 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html 78 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html
@@ -81,17 +81,17 @@
81 Description: Conceptual software arquitecture of the Linux kernel, 81 Description: Conceptual software arquitecture of the Linux kernel,
82 automatically extracted from the source code. Very detailed. Good 82 automatically extracted from the source code. Very detailed. Good
83 figures. Gives good overall kernel understanding. 83 figures. Gives good overall kernel understanding.
84 84
85 * Title: "Concrete Architecture of the Linux Kernel" 85 * Title: "Concrete Architecture of the Linux Kernel"
86 Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan. 86 Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
87 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html 87 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html
88 Keywords: concrete arquitecture, extracted design, reverse 88 Keywords: concrete architecture, extracted design, reverse
89 engineering, system structure, dependencies. 89 engineering, system structure, dependencies.
90 Description: Concrete arquitecture of the Linux kernel, 90 Description: Concrete architecture of the Linux kernel,
91 automatically extracted from the source code. Very detailed. Good 91 automatically extracted from the source code. Very detailed. Good
92 figures. Gives good overall kernel understanding. This papers 92 figures. Gives good overall kernel understanding. This papers
93 focus on lower details than its predecessor (files, variables...). 93 focus on lower details than its predecessor (files, variables...).
94 94
95 * Title: "Linux as a Case Study: Its Extracted Software 95 * Title: "Linux as a Case Study: Its Extracted Software
96 Architecture" 96 Architecture"
97 Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster. 97 Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
@@ -101,7 +101,7 @@
101 Description: Paper appeared at ICSE'99, Los Angeles, May 16-22, 101 Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
102 1999. A mixture of the previous two documents from the same 102 1999. A mixture of the previous two documents from the same
103 author. 103 author.
104 104
105 * Title: "Overview of the Virtual File System" 105 * Title: "Overview of the Virtual File System"
106 Author: Richard Gooch. 106 Author: Richard Gooch.
107 URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt 107 URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt
@@ -111,20 +111,20 @@
111 What is it, how it works, operations taken when opening a file or 111 What is it, how it works, operations taken when opening a file or
112 mounting a file system and description of important data 112 mounting a file system and description of important data
113 structures explaining the purpose of each of their entries. 113 structures explaining the purpose of each of their entries.
114 114
115 * Title: "The Linux RAID-1, 4, 5 Code" 115 * Title: "The Linux RAID-1, 4, 5 Code"
116 Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza. 116 Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
117 URL: http://www2.linuxjournal.com/lj-issues/issue44/2391.html 117 URL: http://www.linuxjournal.com/article.php?sid=2391
118 Keywords: RAID, MD driver. 118 Keywords: RAID, MD driver.
119 Description: Linux Journal Kernel Korner article. Here is it's 119 Description: Linux Journal Kernel Korner article. Here is it's
120 abstract: "A description of the implementation of the RAID-1, 120 abstract: "A description of the implementation of the RAID-1,
121 RAID-4 and RAID-5 personalities of the MD device driver in the 121 RAID-4 and RAID-5 personalities of the MD device driver in the
122 Linux kernel, providing users with high performance and reliable, 122 Linux kernel, providing users with high performance and reliable,
123 secondary-storage capability using software". 123 secondary-storage capability using software".
124 124
125 * Title: "Dynamic Kernels: Modularized Device Drivers" 125 * Title: "Dynamic Kernels: Modularized Device Drivers"
126 Author: Alessandro Rubini. 126 Author: Alessandro Rubini.
127 URL: http://www2.linuxjournal.com/lj-issues/issue23/1219.html 127 URL: http://www.linuxjournal.com/article.php?sid=1219
128 Keywords: device driver, module, loading/unloading modules, 128 Keywords: device driver, module, loading/unloading modules,
129 allocating resources. 129 allocating resources.
130 Description: Linux Journal Kernel Korner article. Here is it's 130 Description: Linux Journal Kernel Korner article. Here is it's
@@ -134,10 +134,10 @@
134 loadable modules. This installment presents an introduction to the 134 loadable modules. This installment presents an introduction to the
135 topic, preparing the reader to understand next month's 135 topic, preparing the reader to understand next month's
136 installment". 136 installment".
137 137
138 * Title: "Dynamic Kernels: Discovery" 138 * Title: "Dynamic Kernels: Discovery"
139 Author: Alessandro Rubini. 139 Author: Alessandro Rubini.
140 URL: http://www2.linuxjournal.com/lj-issues/issue24/1220.html 140 URL: http://www.linuxjournal.com/article.php?sid=1220
141 Keywords: character driver, init_module, clean_up module, 141 Keywords: character driver, init_module, clean_up module,
142 autodetection, mayor number, minor number, file operations, 142 autodetection, mayor number, minor number, file operations,
143 open(), close(). 143 open(), close().
@@ -146,20 +146,20 @@
146 the actual code to create custom module implementing a character 146 the actual code to create custom module implementing a character
147 device driver. It describes the code for module initialization and 147 device driver. It describes the code for module initialization and
148 cleanup, as well as the open() and close() system calls". 148 cleanup, as well as the open() and close() system calls".
149 149
150 * Title: "The Devil's in the Details" 150 * Title: "The Devil's in the Details"
151 Author: Georg v. Zezschwitz and Alessandro Rubini. 151 Author: Georg v. Zezschwitz and Alessandro Rubini.
152 URL: http://www2.linuxjournal.com/lj-issues/issue25/1221.html 152 URL: http://www.linuxjournal.com/article.php?sid=1221
153 Keywords: read(), write(), select(), ioctl(), blocking/non 153 Keywords: read(), write(), select(), ioctl(), blocking/non
154 blocking mode, interrupt handler. 154 blocking mode, interrupt handler.
155 Description: Linux Journal Kernel Korner article. Here is it's 155 Description: Linux Journal Kernel Korner article. Here is it's
156 abstract: "This article, the third of four on writing character 156 abstract: "This article, the third of four on writing character
157 device drivers, introduces concepts of reading, writing, and using 157 device drivers, introduces concepts of reading, writing, and using
158 ioctl-calls". 158 ioctl-calls".
159 159
160 * Title: "Dissecting Interrupts and Browsing DMA" 160 * Title: "Dissecting Interrupts and Browsing DMA"
161 Author: Alessandro Rubini and Georg v. Zezschwitz. 161 Author: Alessandro Rubini and Georg v. Zezschwitz.
162 URL: http://www2.linuxjournal.com/lj-issues/issue26/1222.html 162 URL: http://www.linuxjournal.com/article.php?sid=1222
163 Keywords: interrupts, irqs, DMA, bottom halves, task queues. 163 Keywords: interrupts, irqs, DMA, bottom halves, task queues.
164 Description: Linux Journal Kernel Korner article. Here is it's 164 Description: Linux Journal Kernel Korner article. Here is it's
165 abstract: "This is the fourth in a series of articles about 165 abstract: "This is the fourth in a series of articles about
@@ -170,10 +170,10 @@
170 writing, and several different facilities have been provided for 170 writing, and several different facilities have been provided for
171 different situations. We also investigate the complex topic of 171 different situations. We also investigate the complex topic of
172 DMA". 172 DMA".
173 173
174 * Title: "Device Drivers Concluded" 174 * Title: "Device Drivers Concluded"
175 Author: Georg v. Zezschwitz. 175 Author: Georg v. Zezschwitz.
176 URL: http://www2.linuxjournal.com/lj-issues/issue28/1287.html 176 URL: http://www.linuxjournal.com/article.php?sid=1287
177 Keywords: address spaces, pages, pagination, page management, 177 Keywords: address spaces, pages, pagination, page management,
178 demand loading, swapping, memory protection, memory mapping, mmap, 178 demand loading, swapping, memory protection, memory mapping, mmap,
179 virtual memory areas (VMAs), vremap, PCI. 179 virtual memory areas (VMAs), vremap, PCI.
@@ -182,10 +182,10 @@
182 five articles about character device drivers. In this final 182 five articles about character device drivers. In this final
183 section, Georg deals with memory mapping devices, beginning with 183 section, Georg deals with memory mapping devices, beginning with
184 an overall description of the Linux memory management concepts". 184 an overall description of the Linux memory management concepts".
185 185
186 * Title: "Network Buffers And Memory Management" 186 * Title: "Network Buffers And Memory Management"
187 Author: Alan Cox. 187 Author: Alan Cox.
188 URL: http://www2.linuxjournal.com/lj-issues/issue30/1312.html 188 URL: http://www.linuxjournal.com/article.php?sid=1312
189 Keywords: sk_buffs, network devices, protocol/link layer 189 Keywords: sk_buffs, network devices, protocol/link layer
190 variables, network devices flags, transmit, receive, 190 variables, network devices flags, transmit, receive,
191 configuration, multicast. 191 configuration, multicast.
@@ -214,28 +214,26 @@
214 of the Coda filesystem. This version document is meant to describe 214 of the Coda filesystem. This version document is meant to describe
215 the current interface (version 1.0) as well as improvements we 215 the current interface (version 1.0) as well as improvements we
216 envisage". 216 envisage".
217 217
218 * Title: "Programming PCI-Devices under Linux" 218 * Title: "Programming PCI-Devices under Linux"
219 Author: Claus Schroeter. 219 Author: Claus Schroeter.
220 URL: 220 URL:
221 ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps 221 ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps.gz
222 .gz
223 Keywords: PCI, device, busmastering. 222 Keywords: PCI, device, busmastering.
224 Description: 6 pages tutorial on PCI programming under Linux. 223 Description: 6 pages tutorial on PCI programming under Linux.
225 Gives the basic concepts on the architecture of the PCI subsystem, 224 Gives the basic concepts on the architecture of the PCI subsystem,
226 as long as basic functions and macros to read/write the devices 225 as long as basic functions and macros to read/write the devices
227 and perform busmastering. 226 and perform busmastering.
228 227
229 * Title: "Writing Character Device Driver for Linux" 228 * Title: "Writing Character Device Driver for Linux"
230 Author: R. Baruch and C. Schroeter. 229 Author: R. Baruch and C. Schroeter.
231 URL: 230 URL:
232 ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers 231 ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers.ps.gz
233 .ps.gz
234 Keywords: character device drivers, I/O, signals, DMA, accessing 232 Keywords: character device drivers, I/O, signals, DMA, accessing
235 ports in user space, kernel environment. 233 ports in user space, kernel environment.
236 Description: 68 pages paper on writing character drivers. A little 234 Description: 68 pages paper on writing character drivers. A little
237 bit old (1.993, 1.994) although still useful. 235 bit old (1.993, 1.994) although still useful.
238 236
239 * Title: "Design and Implementation of the Second Extended 237 * Title: "Design and Implementation of the Second Extended
240 Filesystem" 238 Filesystem"
241 Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. 239 Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
@@ -249,14 +247,14 @@
249 e2fsck's passes description... A must read! 247 e2fsck's passes description... A must read!
250 Notes: This paper was first published in the Proceedings of the 248 Notes: This paper was first published in the Proceedings of the
251 First Dutch International Symposium on Linux, ISBN 90-367-0385-9. 249 First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
252 250
253 * Title: "Analysis of the Ext2fs structure" 251 * Title: "Analysis of the Ext2fs structure"
254 Author: Louis-Dominique Dubeau. 252 Author: Louis-Dominique Dubeau.
255 URL: http://step.polymtl.ca/~ldd/ext2fs/ext2fs_toc.html 253 URL: http://www.nondot.org/sabre/os/files/FileSystems/ext2fs/
256 Keywords: ext2, filesystem, ext2fs. 254 Keywords: ext2, filesystem, ext2fs.
257 Description: Description of ext2's blocks, directories, inodes, 255 Description: Description of ext2's blocks, directories, inodes,
258 bitmaps, invariants... 256 bitmaps, invariants...
259 257
260 * Title: "Journaling the Linux ext2fs Filesystem" 258 * Title: "Journaling the Linux ext2fs Filesystem"
261 Author: Stephen C. Tweedie. 259 Author: Stephen C. Tweedie.
262 URL: 260 URL:
@@ -265,7 +263,7 @@
265 Description: Excellent 8-pages paper explaining the journaling 263 Description: Excellent 8-pages paper explaining the journaling
266 capabilities added to ext2 by the author, showing different 264 capabilities added to ext2 by the author, showing different
267 problems faced and the alternatives chosen. 265 problems faced and the alternatives chosen.
268 266
269 * Title: "Kernel API changes from 2.0 to 2.2" 267 * Title: "Kernel API changes from 2.0 to 2.2"
270 Author: Richard Gooch. 268 Author: Richard Gooch.
271 URL: 269 URL:
@@ -273,7 +271,7 @@
273 Keywords: 2.2, changes. 271 Keywords: 2.2, changes.
274 Description: Kernel functions/structures/variables which changed 272 Description: Kernel functions/structures/variables which changed
275 from 2.0.x to 2.2.x. 273 from 2.0.x to 2.2.x.
276 274
277 * Title: "Kernel API changes from 2.2 to 2.4" 275 * Title: "Kernel API changes from 2.2 to 2.4"
278 Author: Richard Gooch. 276 Author: Richard Gooch.
279 URL: 277 URL:
@@ -345,17 +343,7 @@
345 Notes: Beware: the main page states: "This document may not be 343 Notes: Beware: the main page states: "This document may not be
346 published, printed or used in excerpts without explicit permission 344 published, printed or used in excerpts without explicit permission
347 of the author". Fortunately, it may still be read... 345 of the author". Fortunately, it may still be read...
348 346
349 * Title: "Tour Of the Linux Kernel Source"
350 Author: Vijo Cherian.
351 URL: http://www.geocities.com/vijoc/tolks/tolks.html
352 Keywords: .
353 Description: A classic of this page! Was lost for a while and is
354 back again. Thanks Vijo! TOLKS: the name says it all. A tour of
355 the sources, describing directories, files, variables, data
356 structures... It covers general stuff, device drivers,
357 filesystems, IPC and Networking Code.
358
359 * Title: "Linux Kernel Mailing List Glossary" 347 * Title: "Linux Kernel Mailing List Glossary"
360 Author: various 348 Author: various
361 URL: http://kernelnewbies.org/glossary/ 349 URL: http://kernelnewbies.org/glossary/
@@ -377,7 +365,17 @@
377 kernels, but most of it applies to 2.2 too; 2.0 is slightly 365 kernels, but most of it applies to 2.2 too; 2.0 is slightly
378 different". Freely redistributable under the conditions of the GNU 366 different". Freely redistributable under the conditions of the GNU
379 General Public License. 367 General Public License.
380 368
369 * Title: "Global spinlock list and usage"
370 Author: Rick Lindsley.
371 URL: http://lse.sourceforge.net/lockhier/global-spin-lock
372 Keywords: spinlock.
373 Description: This is an attempt to document both the existence and
374 usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive
375 list of spinlocks showing when they are used, which functions
376 access them, how each lock is acquired, under what conditions it
377 is held, whether interrupts can occur or not while it is held...
378
381 * Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New 379 * Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New
382 Features " 380 Features "
383 Author: Alan Cox. 381 Author: Alan Cox.
@@ -385,70 +383,70 @@
385 Keywords: ports, porting. 383 Keywords: ports, porting.
386 Description: Article from Linux Magazine on porting from 2.0 to 384 Description: Article from Linux Magazine on porting from 2.0 to
387 2.2 kernels. 385 2.2 kernels.
388 386
389 * Title: "Porting Device Drivers To Linux 2.2: part II" 387 * Title: "Porting Device Drivers To Linux 2.2: part II"
390 Author: Alan Cox. 388 Author: Alan Cox.
391 URL: http://www.linux-mag.com/1999-06/gear_01.html 389 URL: http://www.linux-mag.com/1999-06/gear_01.html
392 Keywords: ports, porting. 390 Keywords: ports, porting.
393 Description: Second part on porting from 2.0 to 2.2 kernels. 391 Description: Second part on porting from 2.0 to 2.2 kernels.
394 392
395 * Title: "How To Make Sure Your Driver Will Work On The Power 393 * Title: "How To Make Sure Your Driver Will Work On The Power
396 Macintosh" 394 Macintosh"
397 Author: Paul Mackerras. 395 Author: Paul Mackerras.
398 URL: http://www.linux-mag.com/1999-07/gear_01.html 396 URL: http://www.linux-mag.com/1999-07/gear_01.html
399 Keywords: Mac, Power Macintosh, porting, drivers, compatibility. 397 Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
400 Description: The title says it all. 398 Description: The title says it all.
401 399
402 * Title: "An Introduction to SCSI Drivers" 400 * Title: "An Introduction to SCSI Drivers"
403 Author: Alan Cox. 401 Author: Alan Cox.
404 URL: http://www.linux-mag.com/1999-08/gear_01.html 402 URL: http://www.linux-mag.com/1999-08/gear_01.html
405 Keywords: SCSI, device, driver. 403 Keywords: SCSI, device, driver.
406 Description: The title says it all. 404 Description: The title says it all.
407 405
408 * Title: "Advanced SCSI Drivers And Other Tales" 406 * Title: "Advanced SCSI Drivers And Other Tales"
409 Author: Alan Cox. 407 Author: Alan Cox.
410 URL: http://www.linux-mag.com/1999-09/gear_01.html 408 URL: http://www.linux-mag.com/1999-09/gear_01.html
411 Keywords: SCSI, device, driver, advanced. 409 Keywords: SCSI, device, driver, advanced.
412 Description: The title says it all. 410 Description: The title says it all.
413 411
414 * Title: "Writing Linux Mouse Drivers" 412 * Title: "Writing Linux Mouse Drivers"
415 Author: Alan Cox. 413 Author: Alan Cox.
416 URL: http://www.linux-mag.com/1999-10/gear_01.html 414 URL: http://www.linux-mag.com/1999-10/gear_01.html
417 Keywords: mouse, driver, gpm. 415 Keywords: mouse, driver, gpm.
418 Description: The title says it all. 416 Description: The title says it all.
419 417
420 * Title: "More on Mouse Drivers" 418 * Title: "More on Mouse Drivers"
421 Author: Alan Cox. 419 Author: Alan Cox.
422 URL: http://www.linux-mag.com/1999-11/gear_01.html 420 URL: http://www.linux-mag.com/1999-11/gear_01.html
423 Keywords: mouse, driver, gpm, races, asynchronous I/O. 421 Keywords: mouse, driver, gpm, races, asynchronous I/O.
424 Description: The title still says it all. 422 Description: The title still says it all.
425 423
426 * Title: "Writing Video4linux Radio Driver" 424 * Title: "Writing Video4linux Radio Driver"
427 Author: Alan Cox. 425 Author: Alan Cox.
428 URL: http://www.linux-mag.com/1999-12/gear_01.html 426 URL: http://www.linux-mag.com/1999-12/gear_01.html
429 Keywords: video4linux, driver, radio, radio devices. 427 Keywords: video4linux, driver, radio, radio devices.
430 Description: The title says it all. 428 Description: The title says it all.
431 429
432 * Title: "Video4linux Drivers, Part 1: Video-Capture Device" 430 * Title: "Video4linux Drivers, Part 1: Video-Capture Device"
433 Author: Alan Cox. 431 Author: Alan Cox.
434 URL: http://www.linux-mag.com/2000-01/gear_01.html 432 URL: http://www.linux-mag.com/2000-01/gear_01.html
435 Keywords: video4linux, driver, video capture, capture devices, 433 Keywords: video4linux, driver, video capture, capture devices,
436 camera driver. 434 camera driver.
437 Description: The title says it all. 435 Description: The title says it all.
438 436
439 * Title: "Video4linux Drivers, Part 2: Video-capture Devices" 437 * Title: "Video4linux Drivers, Part 2: Video-capture Devices"
440 Author: Alan Cox. 438 Author: Alan Cox.
441 URL: http://www.linux-mag.com/2000-02/gear_01.html 439 URL: http://www.linux-mag.com/2000-02/gear_01.html
442 Keywords: video4linux, driver, video capture, capture devices, 440 Keywords: video4linux, driver, video capture, capture devices,
443 camera driver, control, query capabilities, capability, facility. 441 camera driver, control, query capabilities, capability, facility.
444 Description: The title says it all. 442 Description: The title says it all.
445 443
446 * Title: "PCI Management in Linux 2.2" 444 * Title: "PCI Management in Linux 2.2"
447 Author: Alan Cox. 445 Author: Alan Cox.
448 URL: http://www.linux-mag.com/2000-03/gear_01.html 446 URL: http://www.linux-mag.com/2000-03/gear_01.html
449 Keywords: PCI, bus, bus-mastering. 447 Keywords: PCI, bus, bus-mastering.
450 Description: The title says it all. 448 Description: The title says it all.
451 449
452 * Title: "Linux 2.4 Kernel Internals" 450 * Title: "Linux 2.4 Kernel Internals"
453 Author: Tigran Aivazian and Christoph Hellwig. 451 Author: Tigran Aivazian and Christoph Hellwig.
454 URL: http://www.moses.uklinux.net/patches/lki.html 452 URL: http://www.moses.uklinux.net/patches/lki.html
@@ -456,13 +454,11 @@
456 Description: A little book used for a short training course. 454 Description: A little book used for a short training course.
457 Covers building the kernel image, booting (including SMP bootup), 455 Covers building the kernel image, booting (including SMP bootup),
458 process management, VFS and more. 456 process management, VFS and more.
459 457
460 * Title: "Linux IP Networking. A Guide to the Implementation and 458 * Title: "Linux IP Networking. A Guide to the Implementation and
461 Modification of the Linux Protocol Stack." 459 Modification of the Linux Protocol Stack."
462 Author: Glenn Herrin. 460 Author: Glenn Herrin.
463 URL: 461 URL: http://www.cs.unh.edu/cnrg/gherrin
464 http://kernelnewbies.org/documents/ipnetworking/linuxipnetworking.
465 html
466 Keywords: network, networking, protocol, IP, UDP, TCP, connection, 462 Keywords: network, networking, protocol, IP, UDP, TCP, connection,
467 socket, receiving, transmitting, forwarding, routing, packets, 463 socket, receiving, transmitting, forwarding, routing, packets,
468 modules, /proc, sk_buff, FIB, tags. 464 modules, /proc, sk_buff, FIB, tags.
@@ -495,7 +491,7 @@
495 drivers for the Linux PCMCIA Card Services interface. It also 491 drivers for the Linux PCMCIA Card Services interface. It also
496 describes how to write user-mode utilities for communicating with 492 describes how to write user-mode utilities for communicating with
497 Card Services. 493 Card Services.
498 494
499 * Title: "The Linux Kernel NFSD Implementation" 495 * Title: "The Linux Kernel NFSD Implementation"
500 Author: Neil Brown. 496 Author: Neil Brown.
501 URL: 497 URL:
@@ -591,47 +587,22 @@
591 Pages: 520. 587 Pages: 520.
592 ISBN: 2-212-08932-5 588 ISBN: 2-212-08932-5
593 Notes: French. 589 Notes: French.
594 590
595 * Title: "The Linux Kernel Book"
596 Author: Remy Card, Eric Dumas, Franck Mevel.
597 Publisher: John Wiley & Sons.
598 Date: 1998.
599 ISBN: 0-471-98141-9
600 Notes: English translation.
601
602 * Title: "Linux 2.0"
603 Author: Remy Card, Eric Dumas, Franck Mevel.
604 Publisher: Gestión 2000.
605 Date: 1997.
606 Pages: 501.
607 ISBN: 8-480-88208-5
608 Notes: Spanish translation.
609
610 * Title: "Unix internals -- the new frontiers" 591 * Title: "Unix internals -- the new frontiers"
611 Author: Uresh Vahalia. 592 Author: Uresh Vahalia.
612 Publisher: Prentice Hall. 593 Publisher: Prentice Hall.
613 Date: 1996. 594 Date: 1996.
614 Pages: 600. 595 Pages: 600.
615 ISBN: 0-13-101908-2 596 ISBN: 0-13-101908-2
616 597
617 * Title: "Linux Core Kernel Commentary. Guide to Insider's Knowledge 598 * Title: "The Design and Implementation of the 4.4 BSD UNIX
618 on the Core Kernel of the Linux Code" 599 Operating System"
619 Author: Scott Maxwell. 600 Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
620 Publisher: Coriolis. 601 John S. Quarterman.
621 Date: 1999. 602 Publisher: Addison-Wesley.
622 Pages: 592. 603 Date: 1996.
623 ISBN: 1-57610-469-9 604 ISBN: 0-201-54979-4
624 Notes: CD-ROM included. Line by line commentary of the kernel 605
625 code.
626
627 * Title: "Linux IP Stacks Commentary"
628 Author: Stephen Satchell and HBJ Clifford.
629 Publisher: Coriolis.
630 Date: 2000.
631 Pages: ???.
632 ISBN: 1-57610-470-2
633 Notes: Line by line source code commentary book.
634
635 * Title: "Programming for the real world - POSIX.4" 606 * Title: "Programming for the real world - POSIX.4"
636 Author: Bill O. Gallmeister. 607 Author: Bill O. Gallmeister.
637 Publisher: O'Reilly & Associates, Inc.. 608 Publisher: O'Reilly & Associates, Inc..
@@ -640,18 +611,32 @@
640 ISBN: I-56592-074-0 611 ISBN: I-56592-074-0
641 Notes: Though not being directly about Linux, Linux aims to be 612 Notes: Though not being directly about Linux, Linux aims to be
642 POSIX. Good reference. 613 POSIX. Good reference.
643 614
644 * Title: "Understanding the Linux Kernel" 615 * Title: "UNIX Systems for Modern Architectures: Symmetric
645 Author: Daniel P. Bovet and Marco Cesati. 616 Multiprocesssing and Caching for Kernel Programmers"
646 Publisher: O'Reilly & Associates, Inc.. 617 Author: Curt Schimmel.
647 Date: 2000. 618 Publisher: Addison Wesley.
648 Pages: 702. 619 Date: June, 1994.
649 ISBN: 0-596-00002-2 620 Pages: 432.
650 Notes: Further information in 621 ISBN: 0-201-63338-8
651 http://www.oreilly.com/catalog/linuxkernel/ 622
652 623 * Title: "The Design and Implementation of the 4.3 BSD UNIX
624 Operating System"
625 Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J.
626 Karels, John S. Quarterman.
627 Publisher: Addison-Wesley.
628 Date: 1989 (reprinted with corrections on October, 1990).
629 ISBN: 0-201-06196-1
630
631 * Title: "The Design of the UNIX Operating System"
632 Author: Maurice J. Bach.
633 Publisher: Prentice Hall.
634 Date: 1986.
635 Pages: 471.
636 ISBN: 0-13-201757-1
637
653 MISCELLANEOUS: 638 MISCELLANEOUS:
654 639
655 * Name: linux/Documentation 640 * Name: linux/Documentation
656 Author: Many. 641 Author: Many.
657 URL: Just look inside your kernel sources. 642 URL: Just look inside your kernel sources.
@@ -660,7 +645,7 @@
660 inside the Documentation directory. Some pages from this document 645 inside the Documentation directory. Some pages from this document
661 (including this document itself) have been moved there, and might 646 (including this document itself) have been moved there, and might
662 be more up to date than the web version. 647 be more up to date than the web version.
663 648
664 * Name: "Linux Source Driver" 649 * Name: "Linux Source Driver"
665 URL: http://lsd.linux.cz 650 URL: http://lsd.linux.cz
666 Keywords: Browsing source code. 651 Keywords: Browsing source code.
@@ -671,7 +656,7 @@
671 you can search Linux kernel (fulltext, macros, types, functions 656 you can search Linux kernel (fulltext, macros, types, functions
672 and variables) and LSD can generate patches for you on the fly 657 and variables) and LSD can generate patches for you on the fly
673 (files, directories or kernel)". 658 (files, directories or kernel)".
674 659
675 * Name: "Linux Kernel Source Reference" 660 * Name: "Linux Kernel Source Reference"
676 Author: Thomas Graichen. 661 Author: Thomas Graichen.
677 URL: http://innominate.org/~graichen/projects/lksr/ 662 URL: http://innominate.org/~graichen/projects/lksr/
@@ -681,27 +666,27 @@
681 sources of any version starting from 1.0 up to the (daily updated) 666 sources of any version starting from 1.0 up to the (daily updated)
682 current version available. Also you can check the differences 667 current version available. Also you can check the differences
683 between two versions of a file". 668 between two versions of a file".
684 669
685 * Name: "Cross-Referencing Linux" 670 * Name: "Cross-Referencing Linux"
686 URL: http://lxr.linux.no/source/ 671 URL: http://lxr.linux.no/source/
687 Keywords: Browsing source code. 672 Keywords: Browsing source code.
688 Description: Another web-based Linux kernel source code browser. 673 Description: Another web-based Linux kernel source code browser.
689 Lots of cross references to variables and functions. You can see 674 Lots of cross references to variables and functions. You can see
690 where they are defined and where they are used. 675 where they are defined and where they are used.
691 676
692 * Name: "Linux Weekly News" 677 * Name: "Linux Weekly News"
693 URL: http://lwn.net 678 URL: http://lwn.net
694 Keywords: latest kernel news. 679 Keywords: latest kernel news.
695 Description: The title says it all. There's a fixed kernel section 680 Description: The title says it all. There's a fixed kernel section
696 summarizing developers' work, bug fixes, new features and versions 681 summarizing developers' work, bug fixes, new features and versions
697 produced during the week. Published every Thursday. 682 produced during the week. Published every Thursday.
698 683
699 * Name: "Kernel Traffic" 684 * Name: "Kernel Traffic"
700 URL: http://www.kerneltraffic.org/kernel-traffic/ 685 URL: http://kt.zork.net/kernel-traffic/
701 Keywords: linux-kernel mailing list, weekly kernel news. 686 Keywords: linux-kernel mailing list, weekly kernel news.
702 Description: Weekly newsletter covering the most relevant 687 Description: Weekly newsletter covering the most relevant
703 discussions of the linux-kernel mailing list. 688 discussions of the linux-kernel mailing list.
704 689
705 * Name: "CuTTiNG.eDGe.LiNuX" 690 * Name: "CuTTiNG.eDGe.LiNuX"
706 URL: http://edge.kernelnotes.org 691 URL: http://edge.kernelnotes.org
707 Keywords: changelist. 692 Keywords: changelist.
@@ -709,7 +694,7 @@
709 release. What's new, what's better, what's changed. Myrdraal reads 694 release. What's new, what's better, what's changed. Myrdraal reads
710 the patches and describes them. Pointers to the patches are there, 695 the patches and describes them. Pointers to the patches are there,
711 too. 696 too.
712 697
713 * Name: "New linux-kernel Mailing List FAQ" 698 * Name: "New linux-kernel Mailing List FAQ"
714 URL: http://www.tux.org/lkml/ 699 URL: http://www.tux.org/lkml/
715 Keywords: linux-kernel mailing list FAQ. 700 Keywords: linux-kernel mailing list FAQ.
@@ -719,7 +704,7 @@
719 it. Read it to see how to join the mailing list. Dozens of 704 it. Read it to see how to join the mailing list. Dozens of
720 interesting questions regarding the list, Linux, developers (who 705 interesting questions regarding the list, Linux, developers (who
721 is ...?), terms (what is...?) are answered here too. Just read it. 706 is ...?), terms (what is...?) are answered here too. Just read it.
722 707
723 * Name: "Linux Virtual File System" 708 * Name: "Linux Virtual File System"
724 Author: Peter J. Braam. 709 Author: Peter J. Braam.
725 URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/ 710 URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/
@@ -727,10 +712,10 @@
727 Description: Set of slides, presumably from a presentation on the 712 Description: Set of slides, presumably from a presentation on the
728 Linux VFS layer. Covers version 2.1.x, with dentries and the 713 Linux VFS layer. Covers version 2.1.x, with dentries and the
729 dcache. 714 dcache.
730 715
731 * Name: "Gary's Encyclopedia - The Linux Kernel" 716 * Name: "Gary's Encyclopedia - The Linux Kernel"
732 Author: Gary (I suppose...). 717 Author: Gary (I suppose...).
733 URL: http://members.aa.net/~swear/pedia/kernel.html 718 URL: http://www.lisoleg.net/cgi-bin/lisoleg.pl?view=kernel.htm
734 Keywords: links, not found here?. 719 Keywords: links, not found here?.
735 Description: Gary's Encyclopedia exists to allow the rapid finding 720 Description: Gary's Encyclopedia exists to allow the rapid finding
736 of documentation and other information of interest to GNU/Linux 721 of documentation and other information of interest to GNU/Linux
@@ -738,7 +723,7 @@
738 categories. This link is for kernel-specific links, documents, 723 categories. This link is for kernel-specific links, documents,
739 sites... Look there if you could not find here what you were 724 sites... Look there if you could not find here what you were
740 looking for. 725 looking for.
741 726
742 * Name: "The home page of Linux-MM" 727 * Name: "The home page of Linux-MM"
743 Author: The Linux-MM team. 728 Author: The Linux-MM team.
744 URL: http://linux-mm.org/ 729 URL: http://linux-mm.org/
@@ -747,7 +732,7 @@
747 Description: Site devoted to Linux Memory Management development. 732 Description: Site devoted to Linux Memory Management development.
748 Memory related patches, HOWTOs, links, mm developers... Don't miss 733 Memory related patches, HOWTOs, links, mm developers... Don't miss
749 it if you are interested in memory management development! 734 it if you are interested in memory management development!
750 735
751 * Name: "Kernel Newbies IRC Channel" 736 * Name: "Kernel Newbies IRC Channel"
752 URL: http://www.kernelnewbies.org 737 URL: http://www.kernelnewbies.org
753 Keywords: IRC, newbies, channel, asking doubts. 738 Keywords: IRC, newbies, channel, asking doubts.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index abd575cfc759..c479d30eeaa3 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -48,6 +48,7 @@ parameter is applicable:
48 ISAPNP ISA PnP code is enabled. 48 ISAPNP ISA PnP code is enabled.
49 ISDN Appropriate ISDN support is enabled. 49 ISDN Appropriate ISDN support is enabled.
50 JOY Appropriate joystick support is enabled. 50 JOY Appropriate joystick support is enabled.
51 LIBATA Libata driver is enabled
51 LP Printer support is enabled. 52 LP Printer support is enabled.
52 LOOP Loopback device support is enabled. 53 LOOP Loopback device support is enabled.
53 M68k M68k architecture is enabled. 54 M68k M68k architecture is enabled.
@@ -863,7 +864,14 @@ and is between 256 and 4096 characters. It is defined in the file
863 Format: <1-256> 864 Format: <1-256>
864 865
865 maxcpus= [SMP] Maximum number of processors that an SMP kernel 866 maxcpus= [SMP] Maximum number of processors that an SMP kernel
866 should make use of 867 should make use of.
868 Using "nosmp" or "maxcpus=0" will disable SMP
869 entirely (the MPS table probe still happens, though).
870 A command-line option of "maxcpus=<NUM>", where <NUM>
871 is an integer greater than 0, limits the maximum number
872 of CPUs activated in SMP mode to <NUM>.
873 Using "maxcpus=1" on an SMP kernel is the trivial
874 case of an SMP kernel with only one CPU.
867 875
868 max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or 876 max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or
869 equal to this physical address is ignored. 877 equal to this physical address is ignored.
@@ -1038,6 +1046,10 @@ and is between 256 and 4096 characters. It is defined in the file
1038 emulation library even if a 387 maths coprocessor 1046 emulation library even if a 387 maths coprocessor
1039 is present. 1047 is present.
1040 1048
1049 noacpi [LIBATA] Disables use of ACPI in libata suspend/resume
1050 when set.
1051 Format: <int>
1052
1041 noaliencache [MM, NUMA] Disables the allcoation of alien caches in 1053 noaliencache [MM, NUMA] Disables the allcoation of alien caches in
1042 the slab allocator. Saves per-node memory, but will 1054 the slab allocator. Saves per-node memory, but will
1043 impact performance on real NUMA hardware. 1055 impact performance on real NUMA hardware.
@@ -1275,6 +1287,12 @@ and is between 256 and 4096 characters. It is defined in the file
1275 This sorting is done to get a device 1287 This sorting is done to get a device
1276 order compatible with older (<= 2.4) kernels. 1288 order compatible with older (<= 2.4) kernels.
1277 nobfsort Don't sort PCI devices into breadth-first order. 1289 nobfsort Don't sort PCI devices into breadth-first order.
1290 cbiosize=nn[KMG] The fixed amount of bus space which is
1291 reserved for the CardBus bridge's IO window.
1292 The default value is 256 bytes.
1293 cbmemsize=nn[KMG] The fixed amount of bus space which is
1294 reserved for the CardBus bridge's memory
1295 window. The default value is 64 megabytes.
1278 1296
1279 pcmv= [HW,PCMCIA] BadgePAD 4 1297 pcmv= [HW,PCMCIA] BadgePAD 4
1280 1298
diff --git a/Documentation/pci.txt b/Documentation/pci.txt
index fd5028eca13e..cdf2f3c0ab14 100644
--- a/Documentation/pci.txt
+++ b/Documentation/pci.txt
@@ -205,8 +205,8 @@ Tips on when/where to use the above attributes:
205 exclusively called by the probe() routine, can be marked __devinit. 205 exclusively called by the probe() routine, can be marked __devinit.
206 Ditto for remove() and __devexit. 206 Ditto for remove() and __devexit.
207 207
208 o If mydriver_probe() is marked with __devinit(), then all address 208 o If mydriver_remove() is marked with __devexit(), then all address
209 references to mydriver_probe must use __devexit_p(mydriver_probe) 209 references to mydriver_remove must use __devexit_p(mydriver_remove)
210 (in the struct pci_driver declaration for example). 210 (in the struct pci_driver declaration for example).
211 __devexit_p() will generate the function name _or_ NULL if the 211 __devexit_p() will generate the function name _or_ NULL if the
212 function will be discarded. For an example, see drivers/net/tg3.c. 212 function will be discarded. For an example, see drivers/net/tg3.c.
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 3b514672b80e..b41397d6430a 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -497,7 +497,7 @@ looks like in practice.
497 | |- device_type = "cpu" 497 | |- device_type = "cpu"
498 | |- reg = <0> 498 | |- reg = <0>
499 | |- clock-frequency = <5f5e1000> 499 | |- clock-frequency = <5f5e1000>
500 | |- linux,boot-cpu 500 | |- 64-bit
501 | |- linux,phandle = <2> 501 | |- linux,phandle = <2>
502 | 502 |
503 o memory@0 503 o memory@0
@@ -509,7 +509,6 @@ looks like in practice.
509 o chosen 509 o chosen
510 |- name = "chosen" 510 |- name = "chosen"
511 |- bootargs = "root=/dev/sda2" 511 |- bootargs = "root=/dev/sda2"
512 |- linux,platform = <00000600>
513 |- linux,phandle = <4> 512 |- linux,phandle = <4>
514 513
515This tree is almost a minimal tree. It pretty much contains the 514This tree is almost a minimal tree. It pretty much contains the
@@ -519,7 +518,7 @@ physical memory layout. It also includes misc information passed
519through /chosen, like in this example, the platform type (mandatory) 518through /chosen, like in this example, the platform type (mandatory)
520and the kernel command line arguments (optional). 519and the kernel command line arguments (optional).
521 520
522The /cpus/PowerPC,970@0/linux,boot-cpu property is an example of a 521The /cpus/PowerPC,970@0/64-bit property is an example of a
523property without a value. All other properties have a value. The 522property without a value. All other properties have a value. The
524significance of the #address-cells and #size-cells properties will be 523significance of the #address-cells and #size-cells properties will be
525explained in chapter IV which defines precisely the required nodes and 524explained in chapter IV which defines precisely the required nodes and
@@ -733,8 +732,7 @@ address which can extend beyond that limit.
733 that typically get driven by the same platform code in the 732 that typically get driven by the same platform code in the
734 kernel, you would use a different "model" property but put a 733 kernel, you would use a different "model" property but put a
735 value in "compatible". The kernel doesn't directly use that 734 value in "compatible". The kernel doesn't directly use that
736 value (see /chosen/linux,platform for how the kernel chooses a 735 value but it is generally useful.
737 platform type) but it is generally useful.
738 736
739 The root node is also generally where you add additional properties 737 The root node is also generally where you add additional properties
740 specific to your board like the serial number if any, that sort of 738 specific to your board like the serial number if any, that sort of
@@ -778,7 +776,6 @@ address which can extend beyond that limit.
778 bytes 776 bytes
779 - d-cache-size : one cell, size of L1 data cache in bytes 777 - d-cache-size : one cell, size of L1 data cache in bytes
780 - i-cache-size : one cell, size of L1 instruction cache in bytes 778 - i-cache-size : one cell, size of L1 instruction cache in bytes
781 - linux, boot-cpu : Should be defined if this cpu is the boot cpu.
782 779
783 Recommended properties: 780 Recommended properties:
784 781
@@ -843,11 +840,6 @@ address which can extend beyond that limit.
843 the prom_init() trampoline when booting with an OF client interface, 840 the prom_init() trampoline when booting with an OF client interface,
844 but that you have to provide yourself when using the flattened format. 841 but that you have to provide yourself when using the flattened format.
845 842
846 Required properties:
847
848 - linux,platform : This is your platform number as assigned by the
849 architecture maintainers
850
851 Recommended properties: 843 Recommended properties:
852 844
853 - bootargs : This zero-terminated string is passed as the kernel 845 - bootargs : This zero-terminated string is passed as the kernel
diff --git a/Documentation/sh/new-machine.txt b/Documentation/sh/new-machine.txt
index 73988e0d112b..5482bf5d005b 100644
--- a/Documentation/sh/new-machine.txt
+++ b/Documentation/sh/new-machine.txt
@@ -17,7 +17,7 @@ of the board-specific code (with the exception of stboards) ended up
17in arch/sh/kernel/ directly, with board-specific headers ending up in 17in arch/sh/kernel/ directly, with board-specific headers ending up in
18include/asm-sh/. For the new kernel, things are broken out by board type, 18include/asm-sh/. For the new kernel, things are broken out by board type,
19companion chip type, and CPU type. Looking at a tree view of this directory 19companion chip type, and CPU type. Looking at a tree view of this directory
20heirarchy looks like the following: 20hierarchy looks like the following:
21 21
22Board-specific code: 22Board-specific code:
23 23
@@ -108,7 +108,7 @@ overloading), and you can feel free to name the directory after the family
108member itself. 108member itself.
109 109
110There are a few things that each board is required to have, both in the 110There are a few things that each board is required to have, both in the
111arch/sh/boards and the include/asm-sh/ heirarchy. In order to better 111arch/sh/boards and the include/asm-sh/ hierarchy. In order to better
112explain this, we use some examples for adding an imaginary board. For 112explain this, we use some examples for adding an imaginary board. For
113setup code, we're required at the very least to provide definitions for 113setup code, we're required at the very least to provide definitions for
114get_system_type() and platform_setup(). For our imaginary board, this 114get_system_type() and platform_setup(). For our imaginary board, this
diff --git a/Documentation/sony-laptop.txt b/Documentation/sony-laptop.txt
new file mode 100644
index 000000000000..dfd26df056f4
--- /dev/null
+++ b/Documentation/sony-laptop.txt
@@ -0,0 +1,106 @@
1Sony Notebook Control Driver (SNC) Readme
2-----------------------------------------
3 Copyright (C) 2004- 2005 Stelian Pop <stelian@popies.net>
4 Copyright (C) 2007 Mattia Dongili <malattia@linux.it>
5
6This mini-driver drives the SNC device present in the ACPI BIOS of
7the Sony Vaio laptops.
8
9It gives access to some extra laptop functionalities. In its current
10form, this driver let the user set or query the screen brightness
11through the backlight subsystem and remove/apply power to some devices.
12
13Backlight control:
14------------------
15If your laptop model supports it, you will find sysfs files in the
16/sys/class/backlight/sony/
17directory. You will be able to query and set the current screen
18brightness:
19 brightness get/set screen brightness (an iteger
20 between 0 and 7)
21 actual_brightness reading from this file will query the HW
22 to get real brightness value
23 max_brightness the maximum brightness value
24
25
26Platform specific:
27------------------
28Loading the sony-laptop module will create a
29/sys/devices/platform/sony-laptop/
30directory populated with some files.
31
32You then read/write integer values from/to those files by using
33standard UNIX tools.
34
35The files are:
36 brightness_default screen brightness which will be set
37 when the laptop will be rebooted
38 cdpower power on/off the internal CD drive
39 audiopower power on/off the internal sound card
40 lanpower power on/off the internal ethernet card
41 (only in debug mode)
42
43Note that some files may be missing if they are not supported
44by your particular laptop model.
45
46Example usage:
47 # echo "1" > /sys/devices/platform/sony-laptop/brightness_default
48sets the lowest screen brightness for the next and later reboots,
49 # echo "8" > /sys/devices/platform/sony-laptop/brightness_default
50sets the highest screen brightness for the next and later reboots,
51 # cat /sys/devices/platform/sony-laptop/brightness_default
52retrieves the value.
53
54 # echo "0" > /sys/devices/platform/sony-laptop/audiopower
55powers off the sound card,
56 # echo "1" > /sys/devices/platform/sony-laptop/audiopower
57powers on the sound card.
58
59Development:
60------------
61
62If you want to help with the development of this driver (and
63you are not afraid of any side effects doing strange things with
64your ACPI BIOS could have on your laptop), load the driver and
65pass the option 'debug=1'.
66
67REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS.
68
69In your kernel logs you will find the list of all ACPI methods
70the SNC device has on your laptop. You can see the GCDP/GCDP methods
71used to pwer on/off the CD drive, but there are others.
72
73I HAVE NO IDEA WHAT THOSE METHODS DO.
74
75The sony-laptop driver creates, for some of those methods (the most
76current ones found on several Vaio models), an entry under
77/sys/devices/platform/sony-laptop, just like the 'cdpower' one.
78You can create other entries corresponding to your own laptop methods by
79further editing the source (see the 'sony_acpi_values' table, and add a new
80entry to this table with your get/set method names using the
81HANDLE_NAMES macro).
82
83Your mission, should you accept it, is to try finding out what
84those entries are for, by reading/writing random values from/to those
85files and find out what is the impact on your laptop.
86
87Should you find anything interesting, please report it back to me,
88I will not disavow all knowledge of your actions :)
89
90Bugs/Limitations:
91-----------------
92
93* This driver is not based on official documentation from Sony
94 (because there is none), so there is no guarantee this driver
95 will work at all, or do the right thing. Although this hasn't
96 happened to me, this driver could do very bad things to your
97 laptop, including permanent damage.
98
99* The sony-laptop and sonypi drivers do not interact at all. In the
100 future, sonypi could use sony-laptop to do (part of) its business.
101
102* spicctrl, which is the userspace tool used to communicate with the
103 sonypi driver (through /dev/sonypi) does not try to use the
104 sony-laptop driver. In the future, spicctrl could try sonypi first,
105 and if it isn't present, try sony-laptop instead.
106
diff --git a/Documentation/video4linux/bttv/Insmod-options b/Documentation/video4linux/bttv/Insmod-options
index bb7c2cac7917..5ef75787f83a 100644
--- a/Documentation/video4linux/bttv/Insmod-options
+++ b/Documentation/video4linux/bttv/Insmod-options
@@ -57,7 +57,7 @@ bttv.o
57 i2c_udelay= Allow reduce I2C speed. Default is 5 usecs 57 i2c_udelay= Allow reduce I2C speed. Default is 5 usecs
58 (meaning 66,67 Kbps). The default is the 58 (meaning 66,67 Kbps). The default is the
59 maximum supported speed by kernel bitbang 59 maximum supported speed by kernel bitbang
60 algoritm. You may use lower numbers, if I2C 60 algorithm. You may use lower numbers, if I2C
61 messages are lost (16 is known to work on 61 messages are lost (16 is known to work on
62 all supported cards). 62 all supported cards).
63 63