diff options
90 files changed, 304 insertions, 314 deletions
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 | ||
67 | Device Enumeration | 67 | Device Enumeration |
68 | ~~~~~~~~~~~~~~~~~~ | 68 | ~~~~~~~~~~~~~~~~~~ |
69 | As a rule, platform specific (and often board-specific) setup code wil | 69 | As a rule, platform specific (and often board-specific) setup code will |
70 | register platform devices: | 70 | register 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 | ||
109 | These are catenated, so name/id "serial"/0 indicates bus_id "serial.0", and | 109 | These 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 |
111 | named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id) | 111 | named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id) |
112 | and use the platform_driver called "my_rtc". | 112 | and use the platform_driver called "my_rtc". |
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 | ||
67 | Legacy I/O port and ISA memory resources are also provided in sysfs if the | 67 | Legacy I/O port and ISA memory resources are also provided in sysfs if the |
68 | underlying platform supports them. They're located in the PCI class heirarchy, | 68 | underlying platform supports them. They're located in the PCI class hierarchy, |
69 | e.g. | 69 | e.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. |
753 | 7) Finally, the architecture specific part does any required post processing | 753 | 7) 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 35470de14a95..c479d30eeaa3 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -864,7 +864,14 @@ and is between 256 and 4096 characters. It is defined in the file | |||
864 | Format: <1-256> | 864 | Format: <1-256> |
865 | 865 | ||
866 | maxcpus= [SMP] Maximum number of processors that an SMP kernel | 866 | maxcpus= [SMP] Maximum number of processors that an SMP kernel |
867 | 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. | ||
868 | 875 | ||
869 | 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 |
870 | equal to this physical address is ignored. | 877 | equal to this physical address is ignored. |
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 | |||
17 | in arch/sh/kernel/ directly, with board-specific headers ending up in | 17 | in arch/sh/kernel/ directly, with board-specific headers ending up in |
18 | include/asm-sh/. For the new kernel, things are broken out by board type, | 18 | include/asm-sh/. For the new kernel, things are broken out by board type, |
19 | companion chip type, and CPU type. Looking at a tree view of this directory | 19 | companion chip type, and CPU type. Looking at a tree view of this directory |
20 | heirarchy looks like the following: | 20 | hierarchy looks like the following: |
21 | 21 | ||
22 | Board-specific code: | 22 | Board-specific code: |
23 | 23 | ||
@@ -108,7 +108,7 @@ overloading), and you can feel free to name the directory after the family | |||
108 | member itself. | 108 | member itself. |
109 | 109 | ||
110 | There are a few things that each board is required to have, both in the | 110 | There are a few things that each board is required to have, both in the |
111 | arch/sh/boards and the include/asm-sh/ heirarchy. In order to better | 111 | arch/sh/boards and the include/asm-sh/ hierarchy. In order to better |
112 | explain this, we use some examples for adding an imaginary board. For | 112 | explain this, we use some examples for adding an imaginary board. For |
113 | setup code, we're required at the very least to provide definitions for | 113 | setup code, we're required at the very least to provide definitions for |
114 | get_system_type() and platform_setup(). For our imaginary board, this | 114 | get_system_type() and platform_setup(). For our imaginary board, this |
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 | ||
@@ -24,7 +24,7 @@ ON WHAT HARDWARE DOES IT RUN? | |||
24 | today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and | 24 | today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and |
25 | UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell, | 25 | UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell, |
26 | IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS, | 26 | IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS, |
27 | Cris, Xtensa, AVR32 and Renesas M32R architectures. | 27 | Xtensa, AVR32 and Renesas M32R architectures. |
28 | 28 | ||
29 | Linux is easily portable to most general-purpose 32- or 64-bit architectures | 29 | Linux is easily portable to most general-purpose 32- or 64-bit architectures |
30 | as long as they have a paged memory management unit (PMMU) and a port of the | 30 | as long as they have a paged memory management unit (PMMU) and a port of the |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 8bf97e0eacdb..4409561ea32c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -427,7 +427,7 @@ source arch/arm/mm/Kconfig | |||
427 | 427 | ||
428 | config IWMMXT | 428 | config IWMMXT |
429 | bool "Enable iWMMXt support" | 429 | bool "Enable iWMMXt support" |
430 | depends CPU_XSCALE || CPU_XSC3 | 430 | depends on CPU_XSCALE || CPU_XSC3 |
431 | default y if PXA27x | 431 | default y if PXA27x |
432 | help | 432 | help |
433 | Enable support for iWMMXt context switching at run time if | 433 | Enable support for iWMMXt context switching at run time if |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 4b277199d0e8..e684e9b38216 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -525,7 +525,7 @@ config CPU_BIG_ENDIAN | |||
525 | of your chipset/board/processor. | 525 | of your chipset/board/processor. |
526 | 526 | ||
527 | config CPU_HIGH_VECTOR | 527 | config CPU_HIGH_VECTOR |
528 | depends !MMU && CPU_CP15 && !CPU_ARM740T | 528 | depends on !MMU && CPU_CP15 && !CPU_ARM740T |
529 | bool "Select the High exception vector" | 529 | bool "Select the High exception vector" |
530 | default n | 530 | default n |
531 | help | 531 | help |
diff --git a/arch/cris/arch-v10/drivers/pcf8563.c b/arch/cris/arch-v10/drivers/pcf8563.c index 107796e50149..d47cfbf98d6e 100644 --- a/arch/cris/arch-v10/drivers/pcf8563.c +++ b/arch/cris/arch-v10/drivers/pcf8563.c | |||
@@ -311,7 +311,7 @@ pcf8563_register(void) | |||
311 | { | 311 | { |
312 | pcf8563_init(); | 312 | pcf8563_init(); |
313 | if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { | 313 | if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { |
314 | printk(KERN_INFO "%s: Unable to get major numer %d for RTC device.\n", | 314 | printk(KERN_INFO "%s: Unable to get major number %d for RTC device.\n", |
315 | PCF8563_NAME, PCF8563_MAJOR); | 315 | PCF8563_NAME, PCF8563_MAJOR); |
316 | return -1; | 316 | return -1; |
317 | } | 317 | } |
diff --git a/arch/cris/arch-v32/drivers/pcf8563.c b/arch/cris/arch-v32/drivers/pcf8563.c index 544ab0179411..24b919b3821a 100644 --- a/arch/cris/arch-v32/drivers/pcf8563.c +++ b/arch/cris/arch-v32/drivers/pcf8563.c | |||
@@ -171,7 +171,7 @@ pcf8563_init(void) | |||
171 | goto err; | 171 | goto err; |
172 | 172 | ||
173 | if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { | 173 | if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { |
174 | printk(KERN_INFO "%s: Unable to get major numer %d for RTC device.\n", | 174 | printk(KERN_INFO "%s: Unable to get major number %d for RTC device.\n", |
175 | PCF8563_NAME, PCF8563_MAJOR); | 175 | PCF8563_NAME, PCF8563_MAJOR); |
176 | return -1; | 176 | return -1; |
177 | } | 177 | } |
diff --git a/arch/i386/boot/compressed/relocs.c b/arch/i386/boot/compressed/relocs.c index 881951ca03e1..ce4fda261aaf 100644 --- a/arch/i386/boot/compressed/relocs.c +++ b/arch/i386/boot/compressed/relocs.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <endian.h> | 11 | #include <endian.h> |
12 | 12 | ||
13 | #define MAX_SHDRS 100 | 13 | #define MAX_SHDRS 100 |
14 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) | ||
14 | static Elf32_Ehdr ehdr; | 15 | static Elf32_Ehdr ehdr; |
15 | static Elf32_Shdr shdr[MAX_SHDRS]; | 16 | static Elf32_Shdr shdr[MAX_SHDRS]; |
16 | static Elf32_Sym *symtab[MAX_SHDRS]; | 17 | static Elf32_Sym *symtab[MAX_SHDRS]; |
@@ -71,7 +72,7 @@ static const char *sym_type(unsigned type) | |||
71 | #undef SYM_TYPE | 72 | #undef SYM_TYPE |
72 | }; | 73 | }; |
73 | const char *name = "unknown sym type name"; | 74 | const char *name = "unknown sym type name"; |
74 | if (type < sizeof(type_name)/sizeof(type_name[0])) { | 75 | if (type < ARRAY_SIZE(type_name)) { |
75 | name = type_name[type]; | 76 | name = type_name[type]; |
76 | } | 77 | } |
77 | return name; | 78 | return name; |
@@ -87,7 +88,7 @@ static const char *sym_bind(unsigned bind) | |||
87 | #undef SYM_BIND | 88 | #undef SYM_BIND |
88 | }; | 89 | }; |
89 | const char *name = "unknown sym bind name"; | 90 | const char *name = "unknown sym bind name"; |
90 | if (bind < sizeof(bind_name)/sizeof(bind_name[0])) { | 91 | if (bind < ARRAY_SIZE(bind_name)) { |
91 | name = bind_name[bind]; | 92 | name = bind_name[bind]; |
92 | } | 93 | } |
93 | return name; | 94 | return name; |
@@ -104,7 +105,7 @@ static const char *sym_visibility(unsigned visibility) | |||
104 | #undef SYM_VISIBILITY | 105 | #undef SYM_VISIBILITY |
105 | }; | 106 | }; |
106 | const char *name = "unknown sym visibility name"; | 107 | const char *name = "unknown sym visibility name"; |
107 | if (visibility < sizeof(visibility_name)/sizeof(visibility_name[0])) { | 108 | if (visibility < ARRAY_SIZE(visibility_name)) { |
108 | name = visibility_name[visibility]; | 109 | name = visibility_name[visibility]; |
109 | } | 110 | } |
110 | return name; | 111 | return name; |
@@ -128,7 +129,7 @@ static const char *rel_type(unsigned type) | |||
128 | #undef REL_TYPE | 129 | #undef REL_TYPE |
129 | }; | 130 | }; |
130 | const char *name = "unknown type rel type name"; | 131 | const char *name = "unknown type rel type name"; |
131 | if (type < sizeof(type_name)/sizeof(type_name[0])) { | 132 | if (type < ARRAY_SIZE(type_name)) { |
132 | name = type_name[type]; | 133 | name = type_name[type]; |
133 | } | 134 | } |
134 | return name; | 135 | return name; |
diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c index 79cf608e14ca..45782356a618 100644 --- a/arch/i386/kernel/topology.c +++ b/arch/i386/kernel/topology.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/i386/kernel/topology.c - Populate driverfs with topology information | 2 | * arch/i386/kernel/topology.c - Populate sysfs with topology information |
3 | * | 3 | * |
4 | * Written by: Matthew Dobson, IBM Corporation | 4 | * Written by: Matthew Dobson, IBM Corporation |
5 | * Original Code: Paul Dorwin, IBM Corporation, Patrick Mochel, OSDL | 5 | * Original Code: Paul Dorwin, IBM Corporation, Patrick Mochel, OSDL |
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c index 3700eef78743..8fda7be9dd4d 100644 --- a/arch/i386/oprofile/nmi_int.c +++ b/arch/i386/oprofile/nmi_int.c | |||
@@ -63,7 +63,7 @@ static struct sys_device device_oprofile = { | |||
63 | }; | 63 | }; |
64 | 64 | ||
65 | 65 | ||
66 | static int __init init_driverfs(void) | 66 | static int __init init_sysfs(void) |
67 | { | 67 | { |
68 | int error; | 68 | int error; |
69 | if (!(error = sysdev_class_register(&oprofile_sysclass))) | 69 | if (!(error = sysdev_class_register(&oprofile_sysclass))) |
@@ -72,15 +72,15 @@ static int __init init_driverfs(void) | |||
72 | } | 72 | } |
73 | 73 | ||
74 | 74 | ||
75 | static void exit_driverfs(void) | 75 | static void exit_sysfs(void) |
76 | { | 76 | { |
77 | sysdev_unregister(&device_oprofile); | 77 | sysdev_unregister(&device_oprofile); |
78 | sysdev_class_unregister(&oprofile_sysclass); | 78 | sysdev_class_unregister(&oprofile_sysclass); |
79 | } | 79 | } |
80 | 80 | ||
81 | #else | 81 | #else |
82 | #define init_driverfs() do { } while (0) | 82 | #define init_sysfs() do { } while (0) |
83 | #define exit_driverfs() do { } while (0) | 83 | #define exit_sysfs() do { } while (0) |
84 | #endif /* CONFIG_PM */ | 84 | #endif /* CONFIG_PM */ |
85 | 85 | ||
86 | static int profile_exceptions_notify(struct notifier_block *self, | 86 | static int profile_exceptions_notify(struct notifier_block *self, |
@@ -385,7 +385,7 @@ static int __init ppro_init(char ** cpu_type) | |||
385 | return 1; | 385 | return 1; |
386 | } | 386 | } |
387 | 387 | ||
388 | /* in order to get driverfs right */ | 388 | /* in order to get sysfs right */ |
389 | static int using_nmi; | 389 | static int using_nmi; |
390 | 390 | ||
391 | int __init op_nmi_init(struct oprofile_operations *ops) | 391 | int __init op_nmi_init(struct oprofile_operations *ops) |
@@ -440,7 +440,7 @@ int __init op_nmi_init(struct oprofile_operations *ops) | |||
440 | return -ENODEV; | 440 | return -ENODEV; |
441 | } | 441 | } |
442 | 442 | ||
443 | init_driverfs(); | 443 | init_sysfs(); |
444 | using_nmi = 1; | 444 | using_nmi = 1; |
445 | ops->create_files = nmi_create_files; | 445 | ops->create_files = nmi_create_files; |
446 | ops->setup = nmi_setup; | 446 | ops->setup = nmi_setup; |
@@ -456,5 +456,5 @@ int __init op_nmi_init(struct oprofile_operations *ops) | |||
456 | void op_nmi_exit(void) | 456 | void op_nmi_exit(void) |
457 | { | 457 | { |
458 | if (using_nmi) | 458 | if (using_nmi) |
459 | exit_driverfs(); | 459 | exit_sysfs(); |
460 | } | 460 | } |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 2ecb20b551e1..9ddf896a137a 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -147,7 +147,7 @@ | |||
147 | * in UP: | 147 | * in UP: |
148 | * - we need to protect against PMU overflow interrupts (local_irq_disable) | 148 | * - we need to protect against PMU overflow interrupts (local_irq_disable) |
149 | * | 149 | * |
150 | * spin_lock_irqsave()/spin_lock_irqrestore(): | 150 | * spin_lock_irqsave()/spin_unlock_irqrestore(): |
151 | * in SMP: local_irq_disable + spin_lock | 151 | * in SMP: local_irq_disable + spin_lock |
152 | * in UP : local_irq_disable | 152 | * in UP : local_irq_disable |
153 | * | 153 | * |
diff --git a/arch/m32r/lib/usercopy.c b/arch/m32r/lib/usercopy.c index 896cef1aca5f..82abd159dbef 100644 --- a/arch/m32r/lib/usercopy.c +++ b/arch/m32r/lib/usercopy.c | |||
@@ -293,7 +293,7 @@ long strnlen_user(const char __user *s, long n) | |||
293 | : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) | 293 | : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) |
294 | : "r0", "r1", "cbit"); | 294 | : "r0", "r1", "cbit"); |
295 | 295 | ||
296 | /* NOTE: strnlen_user() algorism: | 296 | /* NOTE: strnlen_user() algorithm: |
297 | * { | 297 | * { |
298 | * char *p; | 298 | * char *p; |
299 | * for (p = s; n-- && *p != '\0'; ++p) | 299 | * for (p = s; n-- && *p != '\0'; ++p) |
@@ -369,7 +369,7 @@ long strnlen_user(const char __user *s, long n) | |||
369 | : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) | 369 | : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) |
370 | : "r0", "r1", "r2", "r3", "cbit"); | 370 | : "r0", "r1", "r2", "r3", "cbit"); |
371 | 371 | ||
372 | /* NOTE: strnlen_user() algorism: | 372 | /* NOTE: strnlen_user() algorithm: |
373 | * { | 373 | * { |
374 | * char *p; | 374 | * char *p; |
375 | * for (p = s; n-- && *p != '\0'; ++p) | 375 | * for (p = s; n-- && *p != '\0'; ++p) |
diff --git a/arch/m68knommu/platform/5307/timers.c b/arch/m68knommu/platform/5307/timers.c index 87b112b363a6..92e58070b016 100644 --- a/arch/m68knommu/platform/5307/timers.c +++ b/arch/m68knommu/platform/5307/timers.c | |||
@@ -104,7 +104,7 @@ unsigned long coldfire_timer_offset(void) | |||
104 | 104 | ||
105 | /* | 105 | /* |
106 | * Choose a reasonably fast profile timer. Make it an odd value to | 106 | * Choose a reasonably fast profile timer. Make it an odd value to |
107 | * try and get good coverage of kernal operations. | 107 | * try and get good coverage of kernel operations. |
108 | */ | 108 | */ |
109 | #define PROFILEHZ 1013 | 109 | #define PROFILEHZ 1013 |
110 | 110 | ||
diff --git a/arch/mips/kernel/machine_kexec.c b/arch/mips/kernel/machine_kexec.c index e0ad754c7edd..8f42fa85ac9e 100644 --- a/arch/mips/kernel/machine_kexec.c +++ b/arch/mips/kernel/machine_kexec.c | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <asm/cacheflush.h> | 13 | #include <asm/cacheflush.h> |
14 | #include <asm/page.h> | 14 | #include <asm/page.h> |
15 | 15 | ||
16 | const extern unsigned char relocate_new_kernel[]; | 16 | extern const unsigned char relocate_new_kernel[]; |
17 | const extern unsigned int relocate_new_kernel_size; | 17 | extern const unsigned int relocate_new_kernel_size; |
18 | 18 | ||
19 | extern unsigned long kexec_start_address; | 19 | extern unsigned long kexec_start_address; |
20 | extern unsigned long kexec_indirection_page; | 20 | extern unsigned long kexec_indirection_page; |
diff --git a/arch/parisc/kernel/topology.c b/arch/parisc/kernel/topology.c index 068b20d822e7..d71cb018a21e 100644 --- a/arch/parisc/kernel/topology.c +++ b/arch/parisc/kernel/topology.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/parisc/kernel/topology.c - Populate driverfs with topology information | 2 | * arch/parisc/kernel/topology.c - Populate sysfs with topology information |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 76b5d7ebdcc6..9d0735a54564 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
@@ -182,7 +182,7 @@ void rtas_progress(char *s, unsigned short hex) | |||
182 | char *os; | 182 | char *os; |
183 | static int display_character, set_indicator; | 183 | static int display_character, set_indicator; |
184 | static int display_width, display_lines, form_feed; | 184 | static int display_width, display_lines, form_feed; |
185 | const static int *row_width; | 185 | static const int *row_width; |
186 | static DEFINE_SPINLOCK(progress_lock); | 186 | static DEFINE_SPINLOCK(progress_lock); |
187 | static int current_line; | 187 | static int current_line; |
188 | static int pending_newline = 0; /* did last write end with unprinted newline? */ | 188 | static int pending_newline = 0; /* did last write end with unprinted newline? */ |
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 262790910ff2..e86c37c82cfd 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -154,7 +154,7 @@ EXPORT_SYMBOL_GPL(of_node_to_nid); | |||
154 | * characteristics relative to its multiple connections. We ignore | 154 | * characteristics relative to its multiple connections. We ignore |
155 | * this for now. We also assume that all cpu and memory sets have | 155 | * this for now. We also assume that all cpu and memory sets have |
156 | * their distances represented at a common level. This won't be | 156 | * their distances represented at a common level. This won't be |
157 | * true for heirarchical NUMA. | 157 | * true for hierarchical NUMA. |
158 | * | 158 | * |
159 | * In any case the ibm,associativity-reference-points should give | 159 | * In any case the ibm,associativity-reference-points should give |
160 | * the correct depth for a normal NUMA system. | 160 | * the correct depth for a normal NUMA system. |
diff --git a/arch/sh/kernel/cpu/sh2/clock-sh7619.c b/arch/sh/kernel/cpu/sh2/clock-sh7619.c index d0440b269702..d2c157917999 100644 --- a/arch/sh/kernel/cpu/sh2/clock-sh7619.c +++ b/arch/sh/kernel/cpu/sh2/clock-sh7619.c | |||
@@ -18,8 +18,8 @@ | |||
18 | #include <asm/freq.h> | 18 | #include <asm/freq.h> |
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | 20 | ||
21 | const static int pll1rate[]={1,2}; | 21 | static const int pll1rate[] = {1,2}; |
22 | const static int pfc_divisors[]={1,2,0,4}; | 22 | static const int pfc_divisors[] = {1,2,0,4}; |
23 | 23 | ||
24 | #if (CONFIG_SH_CLK_MD == 1) || (CONFIG_SH_CLK_MD == 2) | 24 | #if (CONFIG_SH_CLK_MD == 1) || (CONFIG_SH_CLK_MD == 2) |
25 | #define PLL2 (4) | 25 | #define PLL2 (4) |
diff --git a/arch/sh/kernel/cpu/sh2a/clock-sh7206.c b/arch/sh/kernel/cpu/sh2a/clock-sh7206.c index a9ad309c6a33..82d7f991ef6b 100644 --- a/arch/sh/kernel/cpu/sh2a/clock-sh7206.c +++ b/arch/sh/kernel/cpu/sh2a/clock-sh7206.c | |||
@@ -18,8 +18,8 @@ | |||
18 | #include <asm/freq.h> | 18 | #include <asm/freq.h> |
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | 20 | ||
21 | const static int pll1rate[]={1,2,3,4,6,8}; | 21 | static const int pll1rate[]={1,2,3,4,6,8}; |
22 | const static int pfc_divisors[]={1,2,3,4,6,8,12}; | 22 | static const int pfc_divisors[]={1,2,3,4,6,8,12}; |
23 | #define ifc_divisors pfc_divisors | 23 | #define ifc_divisors pfc_divisors |
24 | 24 | ||
25 | #if (CONFIG_SH_CLK_MD == 2) | 25 | #if (CONFIG_SH_CLK_MD == 2) |
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index dbfab8fc9b49..50ccc7f57cd0 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig | |||
@@ -217,7 +217,7 @@ menu "Processor type and features" | |||
217 | # Some platforms pre-zero memory, in which case the kernel doesn't need to | 217 | # Some platforms pre-zero memory, in which case the kernel doesn't need to |
218 | config ZERO_BSS | 218 | config ZERO_BSS |
219 | bool | 219 | bool |
220 | depends !V850E2_SIM85E2C | 220 | depends on !V850E2_SIM85E2C |
221 | default y | 221 | default y |
222 | 222 | ||
223 | # The crappy-ass zone allocator requires that the start of allocatable | 223 | # The crappy-ass zone allocator requires that the start of allocatable |
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index a87c51705620..c9addcfb96dc 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -418,7 +418,7 @@ static struct sysdev_class timer_sysclass = { | |||
418 | set_kset_name("timer"), | 418 | set_kset_name("timer"), |
419 | }; | 419 | }; |
420 | 420 | ||
421 | /* XXX this driverfs stuff should probably go elsewhere later -john */ | 421 | /* XXX this sysfs stuff should probably go elsewhere later -john */ |
422 | static struct sys_device device_timer = { | 422 | static struct sys_device device_timer = { |
423 | .id = 0, | 423 | .id = 0, |
424 | .cls = &timer_sysclass, | 424 | .cls = &timer_sysclass, |
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched index 903f0d3b6852..7e803fc88770 100644 --- a/block/Kconfig.iosched +++ b/block/Kconfig.iosched | |||
@@ -16,10 +16,10 @@ config IOSCHED_AS | |||
16 | tristate "Anticipatory I/O scheduler" | 16 | tristate "Anticipatory I/O scheduler" |
17 | default y | 17 | default y |
18 | ---help--- | 18 | ---help--- |
19 | The anticipatory I/O scheduler is the default disk scheduler. It is | 19 | The anticipatory I/O scheduler is generally a good choice for most |
20 | generally a good choice for most environments, but is quite large and | 20 | environments, but is quite large and complex when compared to the |
21 | complex when compared to the deadline I/O scheduler, it can also be | 21 | deadline I/O scheduler, it can also be slower in some cases |
22 | slower in some cases especially some database loads. | 22 | especially some database loads. |
23 | 23 | ||
24 | config IOSCHED_DEADLINE | 24 | config IOSCHED_DEADLINE |
25 | tristate "Deadline I/O scheduler" | 25 | tristate "Deadline I/O scheduler" |
@@ -38,6 +38,7 @@ config IOSCHED_CFQ | |||
38 | The CFQ I/O scheduler tries to distribute bandwidth equally | 38 | The CFQ I/O scheduler tries to distribute bandwidth equally |
39 | among all processes in the system. It should provide a fair | 39 | among all processes in the system. It should provide a fair |
40 | working environment, suitable for desktop systems. | 40 | working environment, suitable for desktop systems. |
41 | This is the default I/O scheduler. | ||
41 | 42 | ||
42 | choice | 43 | choice |
43 | prompt "Default I/O scheduler" | 44 | prompt "Default I/O scheduler" |
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 7fd095efaebd..fe7ef3394144 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c | |||
@@ -103,7 +103,7 @@ static SYSDEV_ATTR(crash_notes, 0400, show_crash_notes, NULL); | |||
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | /* | 105 | /* |
106 | * register_cpu - Setup a driverfs device for a CPU. | 106 | * register_cpu - Setup a sysfs device for a CPU. |
107 | * @cpu - cpu->hotpluggable field set to 1 will generate a control file in | 107 | * @cpu - cpu->hotpluggable field set to 1 will generate a control file in |
108 | * sysfs for this CPU. | 108 | * sysfs for this CPU. |
109 | * @num - CPU number to use when creating the device. | 109 | * @num - CPU number to use when creating the device. |
diff --git a/drivers/base/node.c b/drivers/base/node.c index 475e33f76e0d..cae346ef1b20 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c | |||
@@ -133,7 +133,7 @@ static SYSDEV_ATTR(distance, S_IRUGO, node_read_distance, NULL); | |||
133 | 133 | ||
134 | 134 | ||
135 | /* | 135 | /* |
136 | * register_node - Setup a driverfs device for a node. | 136 | * register_node - Setup a sysfs device for a node. |
137 | * @num - Node number to use when creating the device. | 137 | * @num - Node number to use when creating the device. |
138 | * | 138 | * |
139 | * Initialize and register the node device. | 139 | * Initialize and register the node device. |
diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c index 85c161845260..294e9cb0c449 100644 --- a/drivers/char/rio/rio_linux.c +++ b/drivers/char/rio/rio_linux.c | |||
@@ -1146,7 +1146,7 @@ static int __init rio_init(void) | |||
1146 | rio_dprintk(RIO_DEBUG_INIT, "Enabling interrupts on rio card.\n"); | 1146 | rio_dprintk(RIO_DEBUG_INIT, "Enabling interrupts on rio card.\n"); |
1147 | hp->Mode |= RIO_PCI_INT_ENABLE; | 1147 | hp->Mode |= RIO_PCI_INT_ENABLE; |
1148 | } else | 1148 | } else |
1149 | hp->Mode &= !RIO_PCI_INT_ENABLE; | 1149 | hp->Mode &= ~RIO_PCI_INT_ENABLE; |
1150 | rio_dprintk(RIO_DEBUG_INIT, "New Mode: %x\n", hp->Mode); | 1150 | rio_dprintk(RIO_DEBUG_INIT, "New Mode: %x\n", hp->Mode); |
1151 | rio_start_card_running(hp); | 1151 | rio_start_card_running(hp); |
1152 | } | 1152 | } |
diff --git a/drivers/i2c/busses/i2c-ali1535.c b/drivers/i2c/busses/i2c-ali1535.c index 6fd8ad7faa06..1e277ba5a9f3 100644 --- a/drivers/i2c/busses/i2c-ali1535.c +++ b/drivers/i2c/busses/i2c-ali1535.c | |||
@@ -494,7 +494,7 @@ static int __devinit ali1535_probe(struct pci_dev *dev, const struct pci_device_ | |||
494 | return -ENODEV; | 494 | return -ENODEV; |
495 | } | 495 | } |
496 | 496 | ||
497 | /* set up the driverfs linkage to our parent device */ | 497 | /* set up the sysfs linkage to our parent device */ |
498 | ali1535_adapter.dev.parent = &dev->dev; | 498 | ali1535_adapter.dev.parent = &dev->dev; |
499 | 499 | ||
500 | snprintf(ali1535_adapter.name, I2C_NAME_SIZE, | 500 | snprintf(ali1535_adapter.name, I2C_NAME_SIZE, |
diff --git a/drivers/i2c/busses/i2c-ali15x3.c b/drivers/i2c/busses/i2c-ali15x3.c index e4e0df106812..e47fe01bf42a 100644 --- a/drivers/i2c/busses/i2c-ali15x3.c +++ b/drivers/i2c/busses/i2c-ali15x3.c | |||
@@ -489,7 +489,7 @@ static int __devinit ali15x3_probe(struct pci_dev *dev, const struct pci_device_ | |||
489 | return -ENODEV; | 489 | return -ENODEV; |
490 | } | 490 | } |
491 | 491 | ||
492 | /* set up the driverfs linkage to our parent device */ | 492 | /* set up the sysfs linkage to our parent device */ |
493 | ali15x3_adapter.dev.parent = &dev->dev; | 493 | ali15x3_adapter.dev.parent = &dev->dev; |
494 | 494 | ||
495 | snprintf(ali15x3_adapter.name, I2C_NAME_SIZE, | 495 | snprintf(ali15x3_adapter.name, I2C_NAME_SIZE, |
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index fa6155a54cc3..7490dc1771ae 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c | |||
@@ -374,7 +374,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev, | |||
374 | dev_dbg(&pdev->dev, "SMBREV = 0x%X\n", temp); | 374 | dev_dbg(&pdev->dev, "SMBREV = 0x%X\n", temp); |
375 | dev_dbg(&pdev->dev, "AMD756_smba = 0x%X\n", amd756_ioport); | 375 | dev_dbg(&pdev->dev, "AMD756_smba = 0x%X\n", amd756_ioport); |
376 | 376 | ||
377 | /* set up the driverfs linkage to our parent device */ | 377 | /* set up the sysfs linkage to our parent device */ |
378 | amd756_smbus.dev.parent = &pdev->dev; | 378 | amd756_smbus.dev.parent = &pdev->dev; |
379 | 379 | ||
380 | sprintf(amd756_smbus.name, "SMBus %s adapter at %04x", | 380 | sprintf(amd756_smbus.name, "SMBus %s adapter at %04x", |
diff --git a/drivers/i2c/busses/i2c-amd8111.c b/drivers/i2c/busses/i2c-amd8111.c index 5bba3fb50d71..e15f9e37716a 100644 --- a/drivers/i2c/busses/i2c-amd8111.c +++ b/drivers/i2c/busses/i2c-amd8111.c | |||
@@ -371,7 +371,7 @@ static int __devinit amd8111_probe(struct pci_dev *dev, | |||
371 | smbus->adapter.algo = &smbus_algorithm; | 371 | smbus->adapter.algo = &smbus_algorithm; |
372 | smbus->adapter.algo_data = smbus; | 372 | smbus->adapter.algo_data = smbus; |
373 | 373 | ||
374 | /* set up the driverfs linkage to our parent device */ | 374 | /* set up the sysfs linkage to our parent device */ |
375 | smbus->adapter.dev.parent = &dev->dev; | 375 | smbus->adapter.dev.parent = &dev->dev; |
376 | 376 | ||
377 | pci_write_config_dword(smbus->dev, AMD_PCI_MISC, 0); | 377 | pci_write_config_dword(smbus->dev, AMD_PCI_MISC, 0); |
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 21f2671f7220..6569a36985bd 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c | |||
@@ -522,7 +522,7 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id | |||
522 | else | 522 | else |
523 | dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n"); | 523 | dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n"); |
524 | 524 | ||
525 | /* set up the driverfs linkage to our parent device */ | 525 | /* set up the sysfs linkage to our parent device */ |
526 | i801_adapter.dev.parent = &dev->dev; | 526 | i801_adapter.dev.parent = &dev->dev; |
527 | 527 | ||
528 | snprintf(i801_adapter.name, I2C_NAME_SIZE, | 528 | snprintf(i801_adapter.name, I2C_NAME_SIZE, |
diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index d888293c1a9c..21b180904085 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c | |||
@@ -425,7 +425,7 @@ static int __devinit piix4_probe(struct pci_dev *dev, | |||
425 | if (retval) | 425 | if (retval) |
426 | return retval; | 426 | return retval; |
427 | 427 | ||
428 | /* set up the driverfs linkage to our parent device */ | 428 | /* set up the sysfs linkage to our parent device */ |
429 | piix4_adapter.dev.parent = &dev->dev; | 429 | piix4_adapter.dev.parent = &dev->dev; |
430 | 430 | ||
431 | snprintf(piix4_adapter.name, I2C_NAME_SIZE, | 431 | snprintf(piix4_adapter.name, I2C_NAME_SIZE, |
diff --git a/drivers/i2c/busses/i2c-sis5595.c b/drivers/i2c/busses/i2c-sis5595.c index d333babe4ad3..a6feed449dbe 100644 --- a/drivers/i2c/busses/i2c-sis5595.c +++ b/drivers/i2c/busses/i2c-sis5595.c | |||
@@ -384,7 +384,7 @@ static int __devinit sis5595_probe(struct pci_dev *dev, const struct pci_device_ | |||
384 | return -ENODEV; | 384 | return -ENODEV; |
385 | } | 385 | } |
386 | 386 | ||
387 | /* set up the driverfs linkage to our parent device */ | 387 | /* set up the sysfs linkage to our parent device */ |
388 | sis5595_adapter.dev.parent = &dev->dev; | 388 | sis5595_adapter.dev.parent = &dev->dev; |
389 | 389 | ||
390 | sprintf(sis5595_adapter.name, "SMBus SIS5595 adapter at %04x", | 390 | sprintf(sis5595_adapter.name, "SMBus SIS5595 adapter at %04x", |
diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c index 172bacf932a6..5fd734f99ee9 100644 --- a/drivers/i2c/busses/i2c-sis630.c +++ b/drivers/i2c/busses/i2c-sis630.c | |||
@@ -477,7 +477,7 @@ static int __devinit sis630_probe(struct pci_dev *dev, const struct pci_device_i | |||
477 | return -ENODEV; | 477 | return -ENODEV; |
478 | } | 478 | } |
479 | 479 | ||
480 | /* set up the driverfs linkage to our parent device */ | 480 | /* set up the sysfs linkage to our parent device */ |
481 | sis630_adapter.dev.parent = &dev->dev; | 481 | sis630_adapter.dev.parent = &dev->dev; |
482 | 482 | ||
483 | sprintf(sis630_adapter.name, "SMBus SIS630 adapter at %04x", | 483 | sprintf(sis630_adapter.name, "SMBus SIS630 adapter at %04x", |
diff --git a/drivers/i2c/busses/i2c-sis96x.c b/drivers/i2c/busses/i2c-sis96x.c index 73dae449fb23..4157b0cd604c 100644 --- a/drivers/i2c/busses/i2c-sis96x.c +++ b/drivers/i2c/busses/i2c-sis96x.c | |||
@@ -297,7 +297,7 @@ static int __devinit sis96x_probe(struct pci_dev *dev, | |||
297 | return -EINVAL; | 297 | return -EINVAL; |
298 | } | 298 | } |
299 | 299 | ||
300 | /* set up the driverfs linkage to our parent device */ | 300 | /* set up the sysfs linkage to our parent device */ |
301 | sis96x_adapter.dev.parent = &dev->dev; | 301 | sis96x_adapter.dev.parent = &dev->dev; |
302 | 302 | ||
303 | snprintf(sis96x_adapter.name, I2C_NAME_SIZE, | 303 | snprintf(sis96x_adapter.name, I2C_NAME_SIZE, |
diff --git a/drivers/i2c/busses/i2c-via.c b/drivers/i2c/busses/i2c-via.c index bbcc62151f7c..81520868797b 100644 --- a/drivers/i2c/busses/i2c-via.c +++ b/drivers/i2c/busses/i2c-via.c | |||
@@ -138,7 +138,7 @@ static int __devinit vt586b_probe(struct pci_dev *dev, const struct pci_device_i | |||
138 | outb(inb(I2C_DIR) & ~(I2C_SDA | I2C_SCL), I2C_DIR); | 138 | outb(inb(I2C_DIR) & ~(I2C_SDA | I2C_SCL), I2C_DIR); |
139 | outb(inb(I2C_OUT) & ~(I2C_SDA | I2C_SCL), I2C_OUT); | 139 | outb(inb(I2C_OUT) & ~(I2C_SDA | I2C_SCL), I2C_OUT); |
140 | 140 | ||
141 | /* set up the driverfs linkage to our parent device */ | 141 | /* set up the sysfs linkage to our parent device */ |
142 | vt586b_adapter.dev.parent = &dev->dev; | 142 | vt586b_adapter.dev.parent = &dev->dev; |
143 | 143 | ||
144 | res = i2c_bit_add_bus(&vt586b_adapter); | 144 | res = i2c_bit_add_bus(&vt586b_adapter); |
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index 350764ece7fe..49234e32fd16 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig | |||
@@ -383,6 +383,9 @@ config BLK_DEV_OFFBOARD | |||
383 | config BLK_DEV_GENERIC | 383 | config BLK_DEV_GENERIC |
384 | tristate "Generic PCI IDE Chipset Support" | 384 | tristate "Generic PCI IDE Chipset Support" |
385 | depends on BLK_DEV_IDEPCI | 385 | depends on BLK_DEV_IDEPCI |
386 | help | ||
387 | This option provides generic support for various PCI IDE Chipsets | ||
388 | which otherwise might not be supported. | ||
386 | 389 | ||
387 | config BLK_DEV_OPTI621 | 390 | config BLK_DEV_OPTI621 |
388 | tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" | 391 | tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" |
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c index e982d60ac4b7..06fac0d21264 100644 --- a/drivers/ieee1394/ohci1394.c +++ b/drivers/ieee1394/ohci1394.c | |||
@@ -180,7 +180,7 @@ static int alloc_dma_trm_ctx(struct ti_ohci *ohci, struct dma_trm_ctx *d, | |||
180 | static void ohci1394_pci_remove(struct pci_dev *pdev); | 180 | static void ohci1394_pci_remove(struct pci_dev *pdev); |
181 | 181 | ||
182 | #ifndef __LITTLE_ENDIAN | 182 | #ifndef __LITTLE_ENDIAN |
183 | const static size_t hdr_sizes[] = { | 183 | static const size_t hdr_sizes[] = { |
184 | 3, /* TCODE_WRITEQ */ | 184 | 3, /* TCODE_WRITEQ */ |
185 | 4, /* TCODE_WRITEB */ | 185 | 4, /* TCODE_WRITEB */ |
186 | 3, /* TCODE_WRITE_RESPONSE */ | 186 | 3, /* TCODE_WRITE_RESPONSE */ |
diff --git a/drivers/infiniband/hw/ipath/ipath_iba6110.c b/drivers/infiniband/hw/ipath/ipath_iba6110.c index 7468477ba837..993482545021 100644 --- a/drivers/infiniband/hw/ipath/ipath_iba6110.c +++ b/drivers/infiniband/hw/ipath/ipath_iba6110.c | |||
@@ -1534,7 +1534,7 @@ static int ipath_ht_early_init(struct ipath_devdata *dd) | |||
1534 | * @kbase: ipath_base_info pointer | 1534 | * @kbase: ipath_base_info pointer |
1535 | * | 1535 | * |
1536 | * We set the PCIE flag because the lower bandwidth on PCIe vs | 1536 | * We set the PCIE flag because the lower bandwidth on PCIe vs |
1537 | * HyperTransport can affect some user packet algorithims. | 1537 | * HyperTransport can affect some user packet algorithms. |
1538 | */ | 1538 | */ |
1539 | static int ipath_ht_get_base_info(struct ipath_portdata *pd, void *kbase) | 1539 | static int ipath_ht_get_base_info(struct ipath_portdata *pd, void *kbase) |
1540 | { | 1540 | { |
diff --git a/drivers/infiniband/hw/ipath/ipath_iba6120.c b/drivers/infiniband/hw/ipath/ipath_iba6120.c index ae8bf9950c6d..05918e1e7c36 100644 --- a/drivers/infiniband/hw/ipath/ipath_iba6120.c +++ b/drivers/infiniband/hw/ipath/ipath_iba6120.c | |||
@@ -1293,7 +1293,7 @@ int __attribute__((weak)) ipath_unordered_wc(void) | |||
1293 | * @kbase: ipath_base_info pointer | 1293 | * @kbase: ipath_base_info pointer |
1294 | * | 1294 | * |
1295 | * We set the PCIE flag because the lower bandwidth on PCIe vs | 1295 | * We set the PCIE flag because the lower bandwidth on PCIe vs |
1296 | * HyperTransport can affect some user packet algorithims. | 1296 | * HyperTransport can affect some user packet algorithms. |
1297 | */ | 1297 | */ |
1298 | static int ipath_pe_get_base_info(struct ipath_portdata *pd, void *kbase) | 1298 | static int ipath_pe_get_base_info(struct ipath_portdata *pd, void *kbase) |
1299 | { | 1299 | { |
diff --git a/drivers/input/serio/libps2.c b/drivers/input/serio/libps2.c index b3e84d3bb7f7..10d9d74ae43a 100644 --- a/drivers/input/serio/libps2.c +++ b/drivers/input/serio/libps2.c | |||
@@ -97,7 +97,7 @@ EXPORT_SYMBOL(ps2_drain); | |||
97 | 97 | ||
98 | int ps2_is_keyboard_id(char id_byte) | 98 | int ps2_is_keyboard_id(char id_byte) |
99 | { | 99 | { |
100 | const static char keyboard_ids[] = { | 100 | static const char keyboard_ids[] = { |
101 | 0xab, /* Regular keyboards */ | 101 | 0xab, /* Regular keyboards */ |
102 | 0xac, /* NCD Sun keyboard */ | 102 | 0xac, /* NCD Sun keyboard */ |
103 | 0x2b, /* Trust keyboard, translated */ | 103 | 0x2b, /* Trust keyboard, translated */ |
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c index 4e3f127e4003..1b2df80c3bce 100644 --- a/drivers/isdn/i4l/isdn_ppp.c +++ b/drivers/isdn/i4l/isdn_ppp.c | |||
@@ -1680,7 +1680,7 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp, | |||
1680 | * - we hit a gap in the sequence, so no reassembly/processing is | 1680 | * - we hit a gap in the sequence, so no reassembly/processing is |
1681 | * possible ('start' would be set to NULL) | 1681 | * possible ('start' would be set to NULL) |
1682 | * | 1682 | * |
1683 | * algorightm for this code is derived from code in the book | 1683 | * algorithm for this code is derived from code in the book |
1684 | * 'PPP Design And Debugging' by James Carlson (Addison-Wesley) | 1684 | * 'PPP Design And Debugging' by James Carlson (Addison-Wesley) |
1685 | */ | 1685 | */ |
1686 | while (start != NULL || newfrag != NULL) { | 1686 | while (start != NULL || newfrag != NULL) { |
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c index e85972222ab4..7c42d53a1cc7 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c | |||
@@ -915,7 +915,7 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file, | |||
915 | fetunesettings.parameters.inversion = INVERSION_AUTO; | 915 | fetunesettings.parameters.inversion = INVERSION_AUTO; |
916 | } | 916 | } |
917 | if (fe->ops.info.type == FE_OFDM) { | 917 | if (fe->ops.info.type == FE_OFDM) { |
918 | /* without hierachical coding code_rate_LP is irrelevant, | 918 | /* without hierarchical coding code_rate_LP is irrelevant, |
919 | * so we tolerate the otherwise invalid FEC_NONE setting */ | 919 | * so we tolerate the otherwise invalid FEC_NONE setting */ |
920 | if (fepriv->parameters.u.ofdm.hierarchy_information == HIERARCHY_NONE && | 920 | if (fepriv->parameters.u.ofdm.hierarchy_information == HIERARCHY_NONE && |
921 | fepriv->parameters.u.ofdm.code_rate_LP == FEC_NONE) | 921 | fepriv->parameters.u.ofdm.code_rate_LP == FEC_NONE) |
diff --git a/drivers/media/dvb/frontends/dib3000mb.c b/drivers/media/dvb/frontends/dib3000mb.c index adbabfdb04a9..b6adea5ffeb8 100644 --- a/drivers/media/dvb/frontends/dib3000mb.c +++ b/drivers/media/dvb/frontends/dib3000mb.c | |||
@@ -239,7 +239,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe, | |||
239 | default: | 239 | default: |
240 | return -EINVAL; | 240 | return -EINVAL; |
241 | } | 241 | } |
242 | deb_setf("hierachy: "); | 242 | deb_setf("hierarchy: "); |
243 | switch (ofdm->hierarchy_information) { | 243 | switch (ofdm->hierarchy_information) { |
244 | case HIERARCHY_NONE: | 244 | case HIERARCHY_NONE: |
245 | deb_setf("none "); | 245 | deb_setf("none "); |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-audio.c b/drivers/media/video/pvrusb2/pvrusb2-audio.c index 9846c464ec80..122496f36845 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-audio.c +++ b/drivers/media/video/pvrusb2/pvrusb2-audio.c | |||
@@ -158,7 +158,7 @@ static unsigned int pvr2_msp3400_describe(struct pvr2_msp3400_handler *ctxt, | |||
158 | } | 158 | } |
159 | 159 | ||
160 | 160 | ||
161 | const static struct pvr2_i2c_handler_functions msp3400_funcs = { | 161 | static const struct pvr2_i2c_handler_functions msp3400_funcs = { |
162 | .detach = (void (*)(void *))pvr2_msp3400_detach, | 162 | .detach = (void (*)(void *))pvr2_msp3400_detach, |
163 | .check = (int (*)(void *))msp3400_check, | 163 | .check = (int (*)(void *))msp3400_check, |
164 | .update = (void (*)(void *))msp3400_update, | 164 | .update = (void (*)(void *))msp3400_update, |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c index 848fb233d808..8df969c4874c 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c +++ b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c | |||
@@ -226,7 +226,7 @@ static void decoder_reset(struct pvr2_v4l_cx2584x *ctxt) | |||
226 | } | 226 | } |
227 | 227 | ||
228 | 228 | ||
229 | const static struct pvr2_i2c_handler_functions hfuncs = { | 229 | static const struct pvr2_i2c_handler_functions hfuncs = { |
230 | .detach = (void (*)(void *))decoder_detach, | 230 | .detach = (void (*)(void *))decoder_detach, |
231 | .check = (int (*)(void *))decoder_check, | 231 | .check = (int (*)(void *))decoder_check, |
232 | .update = (void (*)(void *))decoder_update, | 232 | .update = (void (*)(void *))decoder_update, |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-std.c b/drivers/media/video/pvrusb2/pvrusb2-std.c index f95c598ff627..c08925557ed4 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-std.c +++ b/drivers/media/video/pvrusb2/pvrusb2-std.c | |||
@@ -78,14 +78,14 @@ struct std_name { | |||
78 | #define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM) | 78 | #define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM) |
79 | 79 | ||
80 | /* Mapping of standard bits to color system */ | 80 | /* Mapping of standard bits to color system */ |
81 | const static struct std_name std_groups[] = { | 81 | static const struct std_name std_groups[] = { |
82 | {"PAL",CSTD_PAL}, | 82 | {"PAL",CSTD_PAL}, |
83 | {"NTSC",CSTD_NTSC}, | 83 | {"NTSC",CSTD_NTSC}, |
84 | {"SECAM",CSTD_SECAM}, | 84 | {"SECAM",CSTD_SECAM}, |
85 | }; | 85 | }; |
86 | 86 | ||
87 | /* Mapping of standard bits to modulation system */ | 87 | /* Mapping of standard bits to modulation system */ |
88 | const static struct std_name std_items[] = { | 88 | static const struct std_name std_items[] = { |
89 | {"B",TSTD_B}, | 89 | {"B",TSTD_B}, |
90 | {"B1",TSTD_B1}, | 90 | {"B1",TSTD_B1}, |
91 | {"D",TSTD_D}, | 91 | {"D",TSTD_D}, |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-tuner.c b/drivers/media/video/pvrusb2/pvrusb2-tuner.c index af9f246f8d3f..bb17db3f6434 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-tuner.c +++ b/drivers/media/video/pvrusb2/pvrusb2-tuner.c | |||
@@ -80,7 +80,7 @@ static unsigned int pvr2_tuner_describe(struct pvr2_tuner_handler *ctxt,char *bu | |||
80 | } | 80 | } |
81 | 81 | ||
82 | 82 | ||
83 | const static struct pvr2_i2c_handler_functions tuner_funcs = { | 83 | static const struct pvr2_i2c_handler_functions tuner_funcs = { |
84 | .detach = (void (*)(void *))pvr2_tuner_detach, | 84 | .detach = (void (*)(void *))pvr2_tuner_detach, |
85 | .check = (int (*)(void *))tuner_check, | 85 | .check = (int (*)(void *))tuner_check, |
86 | .update = (void (*)(void *))tuner_update, | 86 | .update = (void (*)(void *))tuner_update, |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-video-v4l.c b/drivers/media/video/pvrusb2/pvrusb2-video-v4l.c index 05f2cddeb47b..2a826464911a 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-video-v4l.c +++ b/drivers/media/video/pvrusb2/pvrusb2-video-v4l.c | |||
@@ -201,7 +201,7 @@ static unsigned int decoder_describe(struct pvr2_v4l_decoder *ctxt,char *buf,uns | |||
201 | } | 201 | } |
202 | 202 | ||
203 | 203 | ||
204 | const static struct pvr2_i2c_handler_functions hfuncs = { | 204 | static const struct pvr2_i2c_handler_functions hfuncs = { |
205 | .detach = (void (*)(void *))decoder_detach, | 205 | .detach = (void (*)(void *))decoder_detach, |
206 | .check = (int (*)(void *))decoder_check, | 206 | .check = (int (*)(void *))decoder_check, |
207 | .update = (void (*)(void *))decoder_update, | 207 | .update = (void (*)(void *))decoder_update, |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-wm8775.c b/drivers/media/video/pvrusb2/pvrusb2-wm8775.c index 2413e5198e16..7794c34c355e 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-wm8775.c +++ b/drivers/media/video/pvrusb2/pvrusb2-wm8775.c | |||
@@ -126,7 +126,7 @@ static void wm8775_update(struct pvr2_v4l_wm8775 *ctxt) | |||
126 | } | 126 | } |
127 | 127 | ||
128 | 128 | ||
129 | const static struct pvr2_i2c_handler_functions hfuncs = { | 129 | static const struct pvr2_i2c_handler_functions hfuncs = { |
130 | .detach = (void (*)(void *))wm8775_detach, | 130 | .detach = (void (*)(void *))wm8775_detach, |
131 | .check = (int (*)(void *))wm8775_check, | 131 | .check = (int (*)(void *))wm8775_check, |
132 | .update = (void (*)(void *))wm8775_update, | 132 | .update = (void (*)(void *))wm8775_update, |
diff --git a/drivers/net/e1000/e1000_hw.h b/drivers/net/e1000/e1000_hw.h index d67105883341..bd000b802ee7 100644 --- a/drivers/net/e1000/e1000_hw.h +++ b/drivers/net/e1000/e1000_hw.h | |||
@@ -3253,7 +3253,7 @@ struct e1000_host_command_info { | |||
3253 | #define IFE_PMC_AUTO_MDIX 0x0080 /* 1=enable MDI/MDI-X feature, default 0=disabled */ | 3253 | #define IFE_PMC_AUTO_MDIX 0x0080 /* 1=enable MDI/MDI-X feature, default 0=disabled */ |
3254 | #define IFE_PMC_FORCE_MDIX 0x0040 /* 1=force MDIX-X, 0=force MDI */ | 3254 | #define IFE_PMC_FORCE_MDIX 0x0040 /* 1=force MDIX-X, 0=force MDI */ |
3255 | #define IFE_PMC_MDIX_STATUS 0x0020 /* 1=MDI-X, 0=MDI */ | 3255 | #define IFE_PMC_MDIX_STATUS 0x0020 /* 1=MDI-X, 0=MDI */ |
3256 | #define IFE_PMC_AUTO_MDIX_COMPLETE 0x0010 /* Resolution algorthm is completed */ | 3256 | #define IFE_PMC_AUTO_MDIX_COMPLETE 0x0010 /* Resolution algorithm is completed */ |
3257 | #define IFE_PMC_MDIX_MODE_SHIFT 6 | 3257 | #define IFE_PMC_MDIX_MODE_SHIFT 6 |
3258 | #define IFE_PHC_MDIX_RESET_ALL_MASK 0x0000 /* Disable auto MDI-X */ | 3258 | #define IFE_PHC_MDIX_RESET_ALL_MASK 0x0000 /* Disable auto MDI-X */ |
3259 | 3259 | ||
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c index 4a50fcb5ad6b..3868b8031266 100644 --- a/drivers/net/eexpress.c +++ b/drivers/net/eexpress.c | |||
@@ -714,13 +714,6 @@ static int eexp_xmit(struct sk_buff *buf, struct net_device *dev) | |||
714 | * check to make sure we've not become wedged. | 714 | * check to make sure we've not become wedged. |
715 | */ | 715 | */ |
716 | 716 | ||
717 | /* | ||
718 | * Handle an EtherExpress interrupt | ||
719 | * If we've finished initializing, start the RU and CU up. | ||
720 | * If we've already started, reap tx buffers, handle any received packets, | ||
721 | * check to make sure we've not become wedged. | ||
722 | */ | ||
723 | |||
724 | static unsigned short eexp_start_irq(struct net_device *dev, | 717 | static unsigned short eexp_start_irq(struct net_device *dev, |
725 | unsigned short status) | 718 | unsigned short status) |
726 | { | 719 | { |
diff --git a/drivers/net/hamradio/Kconfig b/drivers/net/hamradio/Kconfig index feb0ada7a025..6e90619b3b41 100644 --- a/drivers/net/hamradio/Kconfig +++ b/drivers/net/hamradio/Kconfig | |||
@@ -138,7 +138,7 @@ config BAYCOM_SER_HDX | |||
138 | ---help--- | 138 | ---help--- |
139 | This is one of two drivers for Baycom style simple amateur radio | 139 | This is one of two drivers for Baycom style simple amateur radio |
140 | modems that connect to a serial interface. The driver supports the | 140 | modems that connect to a serial interface. The driver supports the |
141 | ser12 design in full-duplex mode. This is the old driver. It is | 141 | ser12 design in half-duplex mode. This is the old driver. It is |
142 | still provided in case your serial interface chip does not work with | 142 | still provided in case your serial interface chip does not work with |
143 | the full-duplex driver. This driver is depreciated. To configure | 143 | the full-duplex driver. This driver is depreciated. To configure |
144 | the driver, use the sethdlc utility available in the standard ax25 | 144 | the driver, use the sethdlc utility available in the standard ax25 |
@@ -190,3 +190,4 @@ config YAM | |||
190 | To compile this driver as a module, choose M here: the module | 190 | To compile this driver as a module, choose M here: the module |
191 | will be called yam. | 191 | will be called yam. |
192 | 192 | ||
193 | |||
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c index 5eb81638e846..b04239792f63 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c | |||
@@ -1168,7 +1168,7 @@ wv_mmc_show(struct net_device * dev) | |||
1168 | m.mmr_unused0[6], | 1168 | m.mmr_unused0[6], |
1169 | m.mmr_unused0[7]); | 1169 | m.mmr_unused0[7]); |
1170 | #endif /* DEBUG_SHOW_UNUSED */ | 1170 | #endif /* DEBUG_SHOW_UNUSED */ |
1171 | printk(KERN_DEBUG "Encryption algorythm: %02X - Status: %02X\n", | 1171 | printk(KERN_DEBUG "Encryption algorithm: %02X - Status: %02X\n", |
1172 | m.mmr_des_avail, m.mmr_des_status); | 1172 | m.mmr_des_avail, m.mmr_des_status); |
1173 | #ifdef DEBUG_SHOW_UNUSED | 1173 | #ifdef DEBUG_SHOW_UNUSED |
1174 | printk(KERN_DEBUG "mmc_unused1[]: %02X:%02X:%02X:%02X:%02X\n", | 1174 | printk(KERN_DEBUG "mmc_unused1[]: %02X:%02X:%02X:%02X:%02X\n", |
@@ -3590,9 +3590,9 @@ wv_82593_config(struct net_device * dev) | |||
3590 | cfblk.acloc = TRUE; /* Disable source addr insertion by i82593 */ | 3590 | cfblk.acloc = TRUE; /* Disable source addr insertion by i82593 */ |
3591 | cfblk.preamb_len = 0; /* 2 bytes preamble (SFD) */ | 3591 | cfblk.preamb_len = 0; /* 2 bytes preamble (SFD) */ |
3592 | cfblk.loopback = FALSE; | 3592 | cfblk.loopback = FALSE; |
3593 | cfblk.lin_prio = 0; /* conform to 802.3 backoff algoritm */ | 3593 | cfblk.lin_prio = 0; /* conform to 802.3 backoff algorithm */ |
3594 | cfblk.exp_prio = 5; /* conform to 802.3 backoff algoritm */ | 3594 | cfblk.exp_prio = 5; /* conform to 802.3 backoff algorithm */ |
3595 | cfblk.bof_met = 1; /* conform to 802.3 backoff algoritm */ | 3595 | cfblk.bof_met = 1; /* conform to 802.3 backoff algorithm */ |
3596 | cfblk.ifrm_spc = 0x20 >> 4; /* 32 bit times interframe spacing */ | 3596 | cfblk.ifrm_spc = 0x20 >> 4; /* 32 bit times interframe spacing */ |
3597 | cfblk.slottim_low = 0x20 >> 5; /* 32 bit times slot time */ | 3597 | cfblk.slottim_low = 0x20 >> 5; /* 32 bit times slot time */ |
3598 | cfblk.slottim_hi = 0x0; | 3598 | cfblk.slottim_hi = 0x0; |
diff --git a/drivers/pci/pcie/aer/aerdrv.h b/drivers/pci/pcie/aer/aerdrv.h index 3c0a58f64dd8..bf655dbaf8e2 100644 --- a/drivers/pci/pcie/aer/aerdrv.h +++ b/drivers/pci/pcie/aer/aerdrv.h | |||
@@ -85,7 +85,7 @@ struct aer_rpc { | |||
85 | struct mutex rpc_mutex; /* | 85 | struct mutex rpc_mutex; /* |
86 | * only one thread could do | 86 | * only one thread could do |
87 | * recovery on the same | 87 | * recovery on the same |
88 | * root port hierachy | 88 | * root port hierarchy |
89 | */ | 89 | */ |
90 | wait_queue_head_t wait_release; | 90 | wait_queue_head_t wait_release; |
91 | }; | 91 | }; |
diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c index 2d7effe7990d..a1bd763b4e33 100644 --- a/drivers/pcmcia/cardbus.c +++ b/drivers/pcmcia/cardbus.c | |||
@@ -40,8 +40,6 @@ | |||
40 | 40 | ||
41 | /*====================================================================*/ | 41 | /*====================================================================*/ |
42 | 42 | ||
43 | #define FIND_FIRST_BIT(n) ((n) - ((n) & ((n)-1))) | ||
44 | |||
45 | /* Offsets in the Expansion ROM Image Header */ | 43 | /* Offsets in the Expansion ROM Image Header */ |
46 | #define ROM_SIGNATURE 0x0000 /* 2 bytes */ | 44 | #define ROM_SIGNATURE 0x0000 /* 2 bytes */ |
47 | #define ROM_DATA_PTR 0x0018 /* 2 bytes */ | 45 | #define ROM_DATA_PTR 0x0018 /* 2 bytes */ |
diff --git a/drivers/sbus/char/vfc_i2c.c b/drivers/sbus/char/vfc_i2c.c index ceec30648f4f..9efed771f6c0 100644 --- a/drivers/sbus/char/vfc_i2c.c +++ b/drivers/sbus/char/vfc_i2c.c | |||
@@ -14,7 +14,7 @@ | |||
14 | /* NOTE: It seems to me that the documentation regarding the | 14 | /* NOTE: It seems to me that the documentation regarding the |
15 | pcd8584t/pcf8584 does not show the correct way to address the i2c bus. | 15 | pcd8584t/pcf8584 does not show the correct way to address the i2c bus. |
16 | Based on the information on the I2C bus itself and the remainder of | 16 | Based on the information on the I2C bus itself and the remainder of |
17 | the Phillips docs the following algorithims apper to be correct. I am | 17 | the Phillips docs the following algorithms appear to be correct. I am |
18 | fairly certain that the flowcharts in the phillips docs are wrong. */ | 18 | fairly certain that the flowcharts in the phillips docs are wrong. */ |
19 | 19 | ||
20 | 20 | ||
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 5bf3f07870ba..4cd280e86966 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
@@ -230,6 +230,7 @@ config SCSI_SCAN_ASYNC | |||
230 | The SCSI subsystem can probe for devices while the rest of the | 230 | The SCSI subsystem can probe for devices while the rest of the |
231 | system continues booting, and even probe devices on different | 231 | system continues booting, and even probe devices on different |
232 | busses in parallel, leading to a significant speed-up. | 232 | busses in parallel, leading to a significant speed-up. |
233 | |||
233 | If you have built SCSI as modules, enabling this option can | 234 | If you have built SCSI as modules, enabling this option can |
234 | be a problem as the devices may not have been found by the | 235 | be a problem as the devices may not have been found by the |
235 | time your system expects them to have been. You can load the | 236 | time your system expects them to have been. You can load the |
@@ -237,8 +238,8 @@ config SCSI_SCAN_ASYNC | |||
237 | If you build your SCSI drivers into the kernel, then everything | 238 | If you build your SCSI drivers into the kernel, then everything |
238 | will work fine if you say Y here. | 239 | will work fine if you say Y here. |
239 | 240 | ||
240 | You can override this choice by specifying scsi_mod.scan="sync" | 241 | You can override this choice by specifying "scsi_mod.scan=sync" |
241 | or "async" on the kernel's command line. | 242 | or async on the kernel's command line. |
242 | 243 | ||
243 | menu "SCSI Transports" | 244 | menu "SCSI Transports" |
244 | depends on SCSI | 245 | depends on SCSI |
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c index 2650a5d0a161..7f4241bfb9c4 100644 --- a/drivers/scsi/a100u2w.c +++ b/drivers/scsi/a100u2w.c | |||
@@ -1067,7 +1067,7 @@ static int __devinit inia100_probe_one(struct pci_dev *pdev, | |||
1067 | goto out_disable_device; | 1067 | goto out_disable_device; |
1068 | } | 1068 | } |
1069 | 1069 | ||
1070 | /* <02> read from base address + 0x50 offset to get the bios balue. */ | 1070 | /* <02> read from base address + 0x50 offset to get the bios value. */ |
1071 | bios = ORC_RDWORD(port, 0x50); | 1071 | bios = ORC_RDWORD(port, 0x50); |
1072 | 1072 | ||
1073 | 1073 | ||
diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c index 4677152142d9..d4136524fc46 100644 --- a/drivers/scsi/arm/eesox.c +++ b/drivers/scsi/arm/eesox.c | |||
@@ -196,7 +196,7 @@ static void eesoxscsi_buffer_in(void *buf, int length, void __iomem *base) | |||
196 | const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET; | 196 | const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET; |
197 | const void __iomem *reg_dmastat = base + EESOX_DMASTAT; | 197 | const void __iomem *reg_dmastat = base + EESOX_DMASTAT; |
198 | const void __iomem *reg_dmadata = base + EESOX_DMADATA; | 198 | const void __iomem *reg_dmadata = base + EESOX_DMADATA; |
199 | const register unsigned long mask = 0xffff; | 199 | register const unsigned long mask = 0xffff; |
200 | 200 | ||
201 | do { | 201 | do { |
202 | unsigned int status; | 202 | unsigned int status; |
diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c index 9668b73872c7..a967fadb7439 100644 --- a/drivers/scsi/osst.c +++ b/drivers/scsi/osst.c | |||
@@ -5574,14 +5574,14 @@ static ssize_t osst_version_show(struct device_driver *ddd, char *buf) | |||
5574 | 5574 | ||
5575 | static DRIVER_ATTR(version, S_IRUGO, osst_version_show, NULL); | 5575 | static DRIVER_ATTR(version, S_IRUGO, osst_version_show, NULL); |
5576 | 5576 | ||
5577 | static int osst_create_driverfs_files(struct device_driver *driverfs) | 5577 | static int osst_create_sysfs_files(struct device_driver *sysfs) |
5578 | { | 5578 | { |
5579 | return driver_create_file(driverfs, &driver_attr_version); | 5579 | return driver_create_file(sysfs, &driver_attr_version); |
5580 | } | 5580 | } |
5581 | 5581 | ||
5582 | static void osst_remove_driverfs_files(struct device_driver *driverfs) | 5582 | static void osst_remove_sysfs_files(struct device_driver *sysfs) |
5583 | { | 5583 | { |
5584 | driver_remove_file(driverfs, &driver_attr_version); | 5584 | driver_remove_file(sysfs, &driver_attr_version); |
5585 | } | 5585 | } |
5586 | 5586 | ||
5587 | /* | 5587 | /* |
@@ -5953,7 +5953,7 @@ static int __init init_osst(void) | |||
5953 | if (err) | 5953 | if (err) |
5954 | goto err_out_chrdev; | 5954 | goto err_out_chrdev; |
5955 | 5955 | ||
5956 | err = osst_create_driverfs_files(&osst_template.gendrv); | 5956 | err = osst_create_sysfs_files(&osst_template.gendrv); |
5957 | if (err) | 5957 | if (err) |
5958 | goto err_out_scsidrv; | 5958 | goto err_out_scsidrv; |
5959 | 5959 | ||
@@ -5973,7 +5973,7 @@ static void __exit exit_osst (void) | |||
5973 | int i; | 5973 | int i; |
5974 | struct osst_tape * STp; | 5974 | struct osst_tape * STp; |
5975 | 5975 | ||
5976 | osst_remove_driverfs_files(&osst_template.gendrv); | 5976 | osst_remove_sysfs_files(&osst_template.gendrv); |
5977 | scsi_unregister_driver(&osst_template.gendrv); | 5977 | scsi_unregister_driver(&osst_template.gendrv); |
5978 | unregister_chrdev(OSST_MAJOR, "osst"); | 5978 | unregister_chrdev(OSST_MAJOR, "osst"); |
5979 | osst_sysfs_cleanup(); | 5979 | osst_sysfs_cleanup(); |
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index a43b9ec3aefd..d6fe756eb371 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -54,7 +54,7 @@ | |||
54 | #define SCSI_TIMEOUT (2*HZ) | 54 | #define SCSI_TIMEOUT (2*HZ) |
55 | 55 | ||
56 | /* | 56 | /* |
57 | * Prefix values for the SCSI id's (stored in driverfs name field) | 57 | * Prefix values for the SCSI id's (stored in sysfs name field) |
58 | */ | 58 | */ |
59 | #define SCSI_UID_SER_NUM 'S' | 59 | #define SCSI_UID_SER_NUM 'S' |
60 | #define SCSI_UID_UNKNOWN 'Z' | 60 | #define SCSI_UID_UNKNOWN 'Z' |
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 0d3c10f2134c..58afdb401703 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c | |||
@@ -855,7 +855,7 @@ static FC_CLASS_DEVICE_ATTR(rport, fast_io_fail_tmo, S_IRUGO | S_IWUSR, | |||
855 | 855 | ||
856 | /* | 856 | /* |
857 | * Note: in the target show function we recognize when the remote | 857 | * Note: in the target show function we recognize when the remote |
858 | * port is in the heirarchy and do not allow the driver to get | 858 | * port is in the hierarchy and do not allow the driver to get |
859 | * involved in sysfs functions. The driver only gets involved if | 859 | * involved in sysfs functions. The driver only gets involved if |
860 | * it's the "old" style that doesn't use rports. | 860 | * it's the "old" style that doesn't use rports. |
861 | */ | 861 | */ |
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index 6d39150e205b..b2ef71a86292 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c | |||
@@ -500,7 +500,7 @@ struct sas_phy *sas_phy_alloc(struct device *parent, int number) | |||
500 | EXPORT_SYMBOL(sas_phy_alloc); | 500 | EXPORT_SYMBOL(sas_phy_alloc); |
501 | 501 | ||
502 | /** | 502 | /** |
503 | * sas_phy_add -- add a SAS PHY to the device hierachy | 503 | * sas_phy_add -- add a SAS PHY to the device hierarchy |
504 | * @phy: The PHY to be added | 504 | * @phy: The PHY to be added |
505 | * | 505 | * |
506 | * Publishes a SAS PHY to the rest of the system. | 506 | * Publishes a SAS PHY to the rest of the system. |
@@ -1265,7 +1265,7 @@ struct sas_rphy *sas_expander_alloc(struct sas_port *parent, | |||
1265 | EXPORT_SYMBOL(sas_expander_alloc); | 1265 | EXPORT_SYMBOL(sas_expander_alloc); |
1266 | 1266 | ||
1267 | /** | 1267 | /** |
1268 | * sas_rphy_add -- add a SAS remote PHY to the device hierachy | 1268 | * sas_rphy_add -- add a SAS remote PHY to the device hierarchy |
1269 | * @rphy: The remote PHY to be added | 1269 | * @rphy: The remote PHY to be added |
1270 | * | 1270 | * |
1271 | * Publishes a SAS remote PHY to the rest of the system. | 1271 | * Publishes a SAS remote PHY to the rest of the system. |
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 3d2e02381e92..98d8411bbccc 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c | |||
@@ -195,8 +195,8 @@ static int sgl_unmap_user_pages(struct scatterlist *, const unsigned int, int); | |||
195 | static int st_probe(struct device *); | 195 | static int st_probe(struct device *); |
196 | static int st_remove(struct device *); | 196 | static int st_remove(struct device *); |
197 | 197 | ||
198 | static int do_create_driverfs_files(void); | 198 | static int do_create_sysfs_files(void); |
199 | static void do_remove_driverfs_files(void); | 199 | static void do_remove_sysfs_files(void); |
200 | static int do_create_class_files(struct scsi_tape *, int, int); | 200 | static int do_create_class_files(struct scsi_tape *, int, int); |
201 | 201 | ||
202 | static struct scsi_driver st_template = { | 202 | static struct scsi_driver st_template = { |
@@ -4193,7 +4193,7 @@ static int __init init_st(void) | |||
4193 | if (err) | 4193 | if (err) |
4194 | goto err_chrdev; | 4194 | goto err_chrdev; |
4195 | 4195 | ||
4196 | err = do_create_driverfs_files(); | 4196 | err = do_create_sysfs_files(); |
4197 | if (err) | 4197 | if (err) |
4198 | goto err_scsidrv; | 4198 | goto err_scsidrv; |
4199 | 4199 | ||
@@ -4211,7 +4211,7 @@ err_class: | |||
4211 | 4211 | ||
4212 | static void __exit exit_st(void) | 4212 | static void __exit exit_st(void) |
4213 | { | 4213 | { |
4214 | do_remove_driverfs_files(); | 4214 | do_remove_sysfs_files(); |
4215 | scsi_unregister_driver(&st_template.gendrv); | 4215 | scsi_unregister_driver(&st_template.gendrv); |
4216 | unregister_chrdev_region(MKDEV(SCSI_TAPE_MAJOR, 0), | 4216 | unregister_chrdev_region(MKDEV(SCSI_TAPE_MAJOR, 0), |
4217 | ST_MAX_TAPE_ENTRIES); | 4217 | ST_MAX_TAPE_ENTRIES); |
@@ -4249,43 +4249,43 @@ static ssize_t st_version_show(struct device_driver *ddd, char *buf) | |||
4249 | } | 4249 | } |
4250 | static DRIVER_ATTR(version, S_IRUGO, st_version_show, NULL); | 4250 | static DRIVER_ATTR(version, S_IRUGO, st_version_show, NULL); |
4251 | 4251 | ||
4252 | static int do_create_driverfs_files(void) | 4252 | static int do_create_sysfs_files(void) |
4253 | { | 4253 | { |
4254 | struct device_driver *driverfs = &st_template.gendrv; | 4254 | struct device_driver *sysfs = &st_template.gendrv; |
4255 | int err; | 4255 | int err; |
4256 | 4256 | ||
4257 | err = driver_create_file(driverfs, &driver_attr_try_direct_io); | 4257 | err = driver_create_file(sysfs, &driver_attr_try_direct_io); |
4258 | if (err) | 4258 | if (err) |
4259 | return err; | 4259 | return err; |
4260 | err = driver_create_file(driverfs, &driver_attr_fixed_buffer_size); | 4260 | err = driver_create_file(sysfs, &driver_attr_fixed_buffer_size); |
4261 | if (err) | 4261 | if (err) |
4262 | goto err_try_direct_io; | 4262 | goto err_try_direct_io; |
4263 | err = driver_create_file(driverfs, &driver_attr_max_sg_segs); | 4263 | err = driver_create_file(sysfs, &driver_attr_max_sg_segs); |
4264 | if (err) | 4264 | if (err) |
4265 | goto err_attr_fixed_buf; | 4265 | goto err_attr_fixed_buf; |
4266 | err = driver_create_file(driverfs, &driver_attr_version); | 4266 | err = driver_create_file(sysfs, &driver_attr_version); |
4267 | if (err) | 4267 | if (err) |
4268 | goto err_attr_max_sg; | 4268 | goto err_attr_max_sg; |
4269 | 4269 | ||
4270 | return 0; | 4270 | return 0; |
4271 | 4271 | ||
4272 | err_attr_max_sg: | 4272 | err_attr_max_sg: |
4273 | driver_remove_file(driverfs, &driver_attr_max_sg_segs); | 4273 | driver_remove_file(sysfs, &driver_attr_max_sg_segs); |
4274 | err_attr_fixed_buf: | 4274 | err_attr_fixed_buf: |
4275 | driver_remove_file(driverfs, &driver_attr_fixed_buffer_size); | 4275 | driver_remove_file(sysfs, &driver_attr_fixed_buffer_size); |
4276 | err_try_direct_io: | 4276 | err_try_direct_io: |
4277 | driver_remove_file(driverfs, &driver_attr_try_direct_io); | 4277 | driver_remove_file(sysfs, &driver_attr_try_direct_io); |
4278 | return err; | 4278 | return err; |
4279 | } | 4279 | } |
4280 | 4280 | ||
4281 | static void do_remove_driverfs_files(void) | 4281 | static void do_remove_sysfs_files(void) |
4282 | { | 4282 | { |
4283 | struct device_driver *driverfs = &st_template.gendrv; | 4283 | struct device_driver *sysfs = &st_template.gendrv; |
4284 | 4284 | ||
4285 | driver_remove_file(driverfs, &driver_attr_version); | 4285 | driver_remove_file(sysfs, &driver_attr_version); |
4286 | driver_remove_file(driverfs, &driver_attr_max_sg_segs); | 4286 | driver_remove_file(sysfs, &driver_attr_max_sg_segs); |
4287 | driver_remove_file(driverfs, &driver_attr_fixed_buffer_size); | 4287 | driver_remove_file(sysfs, &driver_attr_fixed_buffer_size); |
4288 | driver_remove_file(driverfs, &driver_attr_try_direct_io); | 4288 | driver_remove_file(sysfs, &driver_attr_try_direct_io); |
4289 | } | 4289 | } |
4290 | 4290 | ||
4291 | 4291 | ||
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw1.h b/drivers/scsi/sym53c8xx_2/sym_fw1.h index 7b39f4a35e98..7b08d6caaa99 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw1.h +++ b/drivers/scsi/sym53c8xx_2/sym_fw1.h | |||
@@ -1020,7 +1020,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = { | |||
1020 | * It shall be a tagged command. | 1020 | * It shall be a tagged command. |
1021 | * Read SIMPLE+TAG. | 1021 | * Read SIMPLE+TAG. |
1022 | * The C code will deal with errors. | 1022 | * The C code will deal with errors. |
1023 | * Agressive optimization, is'nt it? :) | 1023 | * Aggressive optimization, isn't it? :) |
1024 | */ | 1024 | */ |
1025 | SCR_MOVE_ABS (2) ^ SCR_MSG_IN, | 1025 | SCR_MOVE_ABS (2) ^ SCR_MSG_IN, |
1026 | HADDR_1 (msgin), | 1026 | HADDR_1 (msgin), |
@@ -1044,7 +1044,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = { | |||
1044 | RADDR_1 (dsa), | 1044 | RADDR_1 (dsa), |
1045 | /* | 1045 | /* |
1046 | * The SIDL still contains the TAG value. | 1046 | * The SIDL still contains the TAG value. |
1047 | * Agressive optimization, isn't it? :):) | 1047 | * Aggressive optimization, isn't it? :):) |
1048 | */ | 1048 | */ |
1049 | SCR_REG_SFBR (sidl, SCR_SHL, 0), | 1049 | SCR_REG_SFBR (sidl, SCR_SHL, 0), |
1050 | 0, | 1050 | 0, |
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw2.h b/drivers/scsi/sym53c8xx_2/sym_fw2.h index 851f2706f220..6e5b952312e3 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw2.h +++ b/drivers/scsi/sym53c8xx_2/sym_fw2.h | |||
@@ -956,7 +956,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = { | |||
956 | * It shall be a tagged command. | 956 | * It shall be a tagged command. |
957 | * Read SIMPLE+TAG. | 957 | * Read SIMPLE+TAG. |
958 | * The C code will deal with errors. | 958 | * The C code will deal with errors. |
959 | * Agressive optimization, is'nt it? :) | 959 | * Aggressive optimization, isn't it? :) |
960 | */ | 960 | */ |
961 | SCR_MOVE_ABS (2) ^ SCR_MSG_IN, | 961 | SCR_MOVE_ABS (2) ^ SCR_MSG_IN, |
962 | HADDR_1 (msgin), | 962 | HADDR_1 (msgin), |
@@ -968,7 +968,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = { | |||
968 | offsetof(struct sym_lcb, head.itlq_tbl_sa), | 968 | offsetof(struct sym_lcb, head.itlq_tbl_sa), |
969 | /* | 969 | /* |
970 | * The SIDL still contains the TAG value. | 970 | * The SIDL still contains the TAG value. |
971 | * Agressive optimization, isn't it? :):) | 971 | * Aggressive optimization, isn't it? :):) |
972 | */ | 972 | */ |
973 | SCR_REG_SFBR (sidl, SCR_SHL, 0), | 973 | SCR_REG_SFBR (sidl, SCR_SHL, 0), |
974 | 0, | 974 | 0, |
diff --git a/drivers/usb/host/ehci-dbg.c b/drivers/usb/host/ehci-dbg.c index 246afea9e83b..43eddaecc3dd 100644 --- a/drivers/usb/host/ehci-dbg.c +++ b/drivers/usb/host/ehci-dbg.c | |||
@@ -322,7 +322,7 @@ static inline void remove_debug_files (struct ehci_hcd *bus) { } | |||
322 | 322 | ||
323 | #else | 323 | #else |
324 | 324 | ||
325 | /* troubleshooting help: expose state in driverfs */ | 325 | /* troubleshooting help: expose state in sysfs */ |
326 | 326 | ||
327 | #define speed_char(info1) ({ char tmp; \ | 327 | #define speed_char(info1) ({ char tmp; \ |
328 | switch (info1 & (3 << 12)) { \ | 328 | switch (info1 & (3 << 12)) { \ |
diff --git a/fs/cifs/README b/fs/cifs/README index 432e515431c4..080c5eba112b 100644 --- a/fs/cifs/README +++ b/fs/cifs/README | |||
@@ -1,5 +1,5 @@ | |||
1 | The CIFS VFS support for Linux supports many advanced network filesystem | 1 | The CIFS VFS support for Linux supports many advanced network filesystem |
2 | features such as heirarchical dfs like namespace, hardlinks, locking and more. | 2 | features such as hierarchical dfs like namespace, hardlinks, locking and more. |
3 | It was designed to comply with the SNIA CIFS Technical Reference (which | 3 | It was designed to comply with the SNIA CIFS Technical Reference (which |
4 | supersedes the 1992 X/Open SMB Standard) as well as to perform best practice | 4 | supersedes the 1992 X/Open SMB Standard) as well as to perform best practice |
5 | practical interoperability with Windows 2000, Windows XP, Samba and equivalent | 5 | practical interoperability with Windows 2000, Windows XP, Samba and equivalent |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index b8e91470c27f..24364106b8f9 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -2824,10 +2824,10 @@ GetExtAttrOut: | |||
2824 | 2824 | ||
2825 | 2825 | ||
2826 | /* security id for everyone */ | 2826 | /* security id for everyone */ |
2827 | const static struct cifs_sid sid_everyone = | 2827 | static const struct cifs_sid sid_everyone = |
2828 | {1, 1, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0}}; | 2828 | {1, 1, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0}}; |
2829 | /* group users */ | 2829 | /* group users */ |
2830 | const static struct cifs_sid sid_user = | 2830 | static const struct cifs_sid sid_user = |
2831 | {1, 2 , {0, 0, 0, 0, 0, 5}, {32, 545, 0, 0}}; | 2831 | {1, 2 , {0, 0, 0, 0, 0, 5}, {32, 545, 0, 0}}; |
2832 | 2832 | ||
2833 | /* Convert CIFS ACL to POSIX form */ | 2833 | /* Convert CIFS ACL to POSIX form */ |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index dc2724fa7622..7916b50f9a13 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -222,7 +222,7 @@ static int ext4_ext_space_block(struct inode *inode) | |||
222 | 222 | ||
223 | size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) | 223 | size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) |
224 | / sizeof(struct ext4_extent); | 224 | / sizeof(struct ext4_extent); |
225 | #ifdef AGRESSIVE_TEST | 225 | #ifdef AGGRESSIVE_TEST |
226 | if (size > 6) | 226 | if (size > 6) |
227 | size = 6; | 227 | size = 6; |
228 | #endif | 228 | #endif |
@@ -235,7 +235,7 @@ static int ext4_ext_space_block_idx(struct inode *inode) | |||
235 | 235 | ||
236 | size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) | 236 | size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) |
237 | / sizeof(struct ext4_extent_idx); | 237 | / sizeof(struct ext4_extent_idx); |
238 | #ifdef AGRESSIVE_TEST | 238 | #ifdef AGGRESSIVE_TEST |
239 | if (size > 5) | 239 | if (size > 5) |
240 | size = 5; | 240 | size = 5; |
241 | #endif | 241 | #endif |
@@ -249,7 +249,7 @@ static int ext4_ext_space_root(struct inode *inode) | |||
249 | size = sizeof(EXT4_I(inode)->i_data); | 249 | size = sizeof(EXT4_I(inode)->i_data); |
250 | size -= sizeof(struct ext4_extent_header); | 250 | size -= sizeof(struct ext4_extent_header); |
251 | size /= sizeof(struct ext4_extent); | 251 | size /= sizeof(struct ext4_extent); |
252 | #ifdef AGRESSIVE_TEST | 252 | #ifdef AGGRESSIVE_TEST |
253 | if (size > 3) | 253 | if (size > 3) |
254 | size = 3; | 254 | size = 3; |
255 | #endif | 255 | #endif |
@@ -263,7 +263,7 @@ static int ext4_ext_space_root_idx(struct inode *inode) | |||
263 | size = sizeof(EXT4_I(inode)->i_data); | 263 | size = sizeof(EXT4_I(inode)->i_data); |
264 | size -= sizeof(struct ext4_extent_header); | 264 | size -= sizeof(struct ext4_extent_header); |
265 | size /= sizeof(struct ext4_extent_idx); | 265 | size /= sizeof(struct ext4_extent_idx); |
266 | #ifdef AGRESSIVE_TEST | 266 | #ifdef AGGRESSIVE_TEST |
267 | if (size > 4) | 267 | if (size > 4) |
268 | size = 4; | 268 | size = 4; |
269 | #endif | 269 | #endif |
@@ -1118,7 +1118,7 @@ ext4_can_extents_be_merged(struct inode *inode, struct ext4_extent *ex1, | |||
1118 | */ | 1118 | */ |
1119 | if (le16_to_cpu(ex1->ee_len) + le16_to_cpu(ex2->ee_len) > EXT_MAX_LEN) | 1119 | if (le16_to_cpu(ex1->ee_len) + le16_to_cpu(ex2->ee_len) > EXT_MAX_LEN) |
1120 | return 0; | 1120 | return 0; |
1121 | #ifdef AGRESSIVE_TEST | 1121 | #ifdef AGGRESSIVE_TEST |
1122 | if (le16_to_cpu(ex1->ee_len) >= 4) | 1122 | if (le16_to_cpu(ex1->ee_len) >= 4) |
1123 | return 0; | 1123 | return 0; |
1124 | #endif | 1124 | #endif |
@@ -1891,8 +1891,8 @@ void ext4_ext_init(struct super_block *sb) | |||
1891 | 1891 | ||
1892 | if (test_opt(sb, EXTENTS)) { | 1892 | if (test_opt(sb, EXTENTS)) { |
1893 | printk("EXT4-fs: file extents enabled"); | 1893 | printk("EXT4-fs: file extents enabled"); |
1894 | #ifdef AGRESSIVE_TEST | 1894 | #ifdef AGGRESSIVE_TEST |
1895 | printk(", agressive tests"); | 1895 | printk(", aggressive tests"); |
1896 | #endif | 1896 | #endif |
1897 | #ifdef CHECK_BINSEARCH | 1897 | #ifdef CHECK_BINSEARCH |
1898 | printk(", check binsearch"); | 1898 | printk(", check binsearch"); |
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 50cb8daba4e5..126b1bf02c0e 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c | |||
@@ -440,7 +440,7 @@ static ctl_table nlm_sysctl_root[] = { | |||
440 | }; | 440 | }; |
441 | 441 | ||
442 | /* | 442 | /* |
443 | * Module (and driverfs) parameters. | 443 | * Module (and sysfs) parameters. |
444 | */ | 444 | */ |
445 | 445 | ||
446 | #define param_set_min_max(name, type, which_strtol, min, max) \ | 446 | #define param_set_min_max(name, type, which_strtol, min, max) \ |
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index f7fa52bb3f6b..28dd757ff67d 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c | |||
@@ -1098,7 +1098,7 @@ static int ocfs2_rename(struct inode *old_dir, | |||
1098 | BUG(); | 1098 | BUG(); |
1099 | } | 1099 | } |
1100 | 1100 | ||
1101 | /* Assume a directory heirarchy thusly: | 1101 | /* Assume a directory hierarchy thusly: |
1102 | * a/b/c | 1102 | * a/b/c |
1103 | * a/d | 1103 | * a/d |
1104 | * a,b,c, and d are all directories. | 1104 | * a,b,c, and d are all directories. |
diff --git a/include/asm-arm/uaccess.h b/include/asm-arm/uaccess.h index c92df958802e..4c1a3fa9f259 100644 --- a/include/asm-arm/uaccess.h +++ b/include/asm-arm/uaccess.h | |||
@@ -109,7 +109,7 @@ extern int __get_user_4(void *); | |||
109 | 109 | ||
110 | #define get_user(x,p) \ | 110 | #define get_user(x,p) \ |
111 | ({ \ | 111 | ({ \ |
112 | const register typeof(*(p)) __user *__p asm("r0") = (p);\ | 112 | register const typeof(*(p)) __user *__p asm("r0") = (p);\ |
113 | register unsigned long __r2 asm("r2"); \ | 113 | register unsigned long __r2 asm("r2"); \ |
114 | register int __e asm("r0"); \ | 114 | register int __e asm("r0"); \ |
115 | switch (sizeof(*(__p))) { \ | 115 | switch (sizeof(*(__p))) { \ |
@@ -143,8 +143,8 @@ extern int __put_user_8(void *, unsigned long long); | |||
143 | 143 | ||
144 | #define put_user(x,p) \ | 144 | #define put_user(x,p) \ |
145 | ({ \ | 145 | ({ \ |
146 | const register typeof(*(p)) __r2 asm("r2") = (x); \ | 146 | register const typeof(*(p)) __r2 asm("r2") = (x); \ |
147 | const register typeof(*(p)) __user *__p asm("r0") = (p);\ | 147 | register const typeof(*(p)) __user *__p asm("r0") = (p);\ |
148 | register int __e asm("r0"); \ | 148 | register int __e asm("r0"); \ |
149 | switch (sizeof(*(__p))) { \ | 149 | switch (sizeof(*(__p))) { \ |
150 | case 1: \ | 150 | case 1: \ |
diff --git a/include/asm-arm26/uaccess.h b/include/asm-arm26/uaccess.h index 3f2dd1093e58..d64ed84cb2d3 100644 --- a/include/asm-arm26/uaccess.h +++ b/include/asm-arm26/uaccess.h | |||
@@ -74,7 +74,7 @@ extern int __get_user_bad(void); | |||
74 | 74 | ||
75 | #define get_user(x,p) \ | 75 | #define get_user(x,p) \ |
76 | ({ \ | 76 | ({ \ |
77 | const register typeof(*(p)) *__p asm("r0") = (p); \ | 77 | register const typeof(*(p)) *__p asm("r0") = (p); \ |
78 | register typeof(*(p)) __r1 asm("r1"); \ | 78 | register typeof(*(p)) __r1 asm("r1"); \ |
79 | register int __e asm("r0"); \ | 79 | register int __e asm("r0"); \ |
80 | switch (sizeof(*(p))) { \ | 80 | switch (sizeof(*(p))) { \ |
@@ -139,8 +139,8 @@ extern int __put_user_bad(void); | |||
139 | 139 | ||
140 | #define put_user(x,p) \ | 140 | #define put_user(x,p) \ |
141 | ({ \ | 141 | ({ \ |
142 | const register typeof(*(p)) __r1 asm("r1") = (x); \ | 142 | register const typeof(*(p)) __r1 asm("r1") = (x); \ |
143 | const register typeof(*(p)) *__p asm("r0") = (p); \ | 143 | register const typeof(*(p)) *__p asm("r0") = (p); \ |
144 | register int __e asm("r0"); \ | 144 | register int __e asm("r0"); \ |
145 | switch (sizeof(*(__p))) { \ | 145 | switch (sizeof(*(__p))) { \ |
146 | case 1: \ | 146 | case 1: \ |
@@ -170,8 +170,8 @@ extern int __put_user_bad(void); | |||
170 | 170 | ||
171 | #define put_user(x,p) \ | 171 | #define put_user(x,p) \ |
172 | ({ \ | 172 | ({ \ |
173 | const register typeof(*(p)) __r1 asm("r1") = (x); \ | 173 | register const typeof(*(p)) __r1 asm("r1") = (x); \ |
174 | const register typeof(*(p)) *__p asm("r0") = (p); \ | 174 | register const typeof(*(p)) *__p asm("r0") = (p); \ |
175 | register int __e asm("r0"); \ | 175 | register int __e asm("r0"); \ |
176 | switch (sizeof(*(p))) { \ | 176 | switch (sizeof(*(p))) { \ |
177 | case 1: \ | 177 | case 1: \ |
diff --git a/include/asm-ia64/kexec.h b/include/asm-ia64/kexec.h index 01c36b004747..f2ad469a6ddf 100644 --- a/include/asm-ia64/kexec.h +++ b/include/asm-ia64/kexec.h | |||
@@ -23,7 +23,7 @@ | |||
23 | 23 | ||
24 | extern struct kimage *ia64_kimage; | 24 | extern struct kimage *ia64_kimage; |
25 | DECLARE_PER_CPU(u64, ia64_mca_pal_base); | 25 | DECLARE_PER_CPU(u64, ia64_mca_pal_base); |
26 | const extern unsigned int relocate_new_kernel_size; | 26 | extern const unsigned int relocate_new_kernel_size; |
27 | extern void relocate_new_kernel(unsigned long, unsigned long, | 27 | extern void relocate_new_kernel(unsigned long, unsigned long, |
28 | struct ia64_boot_param *, unsigned long); | 28 | struct ia64_boot_param *, unsigned long); |
29 | static inline void | 29 | static inline void |
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index bc768153f3c9..e43021a99a20 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h | |||
@@ -32,7 +32,7 @@ | |||
32 | #define PAL_CACHE_FLUSH 1 /* flush i/d cache */ | 32 | #define PAL_CACHE_FLUSH 1 /* flush i/d cache */ |
33 | #define PAL_CACHE_INFO 2 /* get detailed i/d cache info */ | 33 | #define PAL_CACHE_INFO 2 /* get detailed i/d cache info */ |
34 | #define PAL_CACHE_INIT 3 /* initialize i/d cache */ | 34 | #define PAL_CACHE_INIT 3 /* initialize i/d cache */ |
35 | #define PAL_CACHE_SUMMARY 4 /* get summary of cache heirarchy */ | 35 | #define PAL_CACHE_SUMMARY 4 /* get summary of cache hierarchy */ |
36 | #define PAL_MEM_ATTRIB 5 /* list supported memory attributes */ | 36 | #define PAL_MEM_ATTRIB 5 /* list supported memory attributes */ |
37 | #define PAL_PTCE_INFO 6 /* purge TLB info */ | 37 | #define PAL_PTCE_INFO 6 /* purge TLB info */ |
38 | #define PAL_VM_INFO 7 /* return supported virtual memory features */ | 38 | #define PAL_VM_INFO 7 /* return supported virtual memory features */ |
@@ -113,14 +113,14 @@ typedef s64 pal_status_t; | |||
113 | */ | 113 | */ |
114 | #define PAL_STATUS_REQUIRES_MEMORY (-9) /* Call requires PAL memory buffer */ | 114 | #define PAL_STATUS_REQUIRES_MEMORY (-9) /* Call requires PAL memory buffer */ |
115 | 115 | ||
116 | /* Processor cache level in the heirarchy */ | 116 | /* Processor cache level in the hierarchy */ |
117 | typedef u64 pal_cache_level_t; | 117 | typedef u64 pal_cache_level_t; |
118 | #define PAL_CACHE_LEVEL_L0 0 /* L0 */ | 118 | #define PAL_CACHE_LEVEL_L0 0 /* L0 */ |
119 | #define PAL_CACHE_LEVEL_L1 1 /* L1 */ | 119 | #define PAL_CACHE_LEVEL_L1 1 /* L1 */ |
120 | #define PAL_CACHE_LEVEL_L2 2 /* L2 */ | 120 | #define PAL_CACHE_LEVEL_L2 2 /* L2 */ |
121 | 121 | ||
122 | 122 | ||
123 | /* Processor cache type at a particular level in the heirarchy */ | 123 | /* Processor cache type at a particular level in the hierarchy */ |
124 | 124 | ||
125 | typedef u64 pal_cache_type_t; | 125 | typedef u64 pal_cache_type_t; |
126 | #define PAL_CACHE_TYPE_INSTRUCTION 1 /* Instruction cache */ | 126 | #define PAL_CACHE_TYPE_INSTRUCTION 1 /* Instruction cache */ |
@@ -272,14 +272,14 @@ typedef struct pal_cache_protection_info_s { | |||
272 | #define PAL_CACHE_PROT_METHOD_ECC 3 /* ECC protection */ | 272 | #define PAL_CACHE_PROT_METHOD_ECC 3 /* ECC protection */ |
273 | 273 | ||
274 | 274 | ||
275 | /* Processor cache line identification in the heirarchy */ | 275 | /* Processor cache line identification in the hierarchy */ |
276 | typedef union pal_cache_line_id_u { | 276 | typedef union pal_cache_line_id_u { |
277 | u64 pclid_data; | 277 | u64 pclid_data; |
278 | struct { | 278 | struct { |
279 | u64 cache_type : 8, /* 7-0 cache type */ | 279 | u64 cache_type : 8, /* 7-0 cache type */ |
280 | level : 8, /* 15-8 level of the | 280 | level : 8, /* 15-8 level of the |
281 | * cache in the | 281 | * cache in the |
282 | * heirarchy. | 282 | * hierarchy. |
283 | */ | 283 | */ |
284 | way : 8, /* 23-16 way in the set | 284 | way : 8, /* 23-16 way in the set |
285 | */ | 285 | */ |
@@ -292,7 +292,7 @@ typedef union pal_cache_line_id_u { | |||
292 | u64 cache_type : 8, /* 7-0 cache type */ | 292 | u64 cache_type : 8, /* 7-0 cache type */ |
293 | level : 8, /* 15-8 level of the | 293 | level : 8, /* 15-8 level of the |
294 | * cache in the | 294 | * cache in the |
295 | * heirarchy. | 295 | * hierarchy. |
296 | */ | 296 | */ |
297 | way : 8, /* 23-16 way in the set | 297 | way : 8, /* 23-16 way in the set |
298 | */ | 298 | */ |
@@ -978,7 +978,7 @@ ia64_pal_cache_read (pal_cache_line_id_u_t line_id, u64 physical_addr) | |||
978 | return iprv.status; | 978 | return iprv.status; |
979 | } | 979 | } |
980 | 980 | ||
981 | /* Return summary information about the heirarchy of caches controlled by the processor */ | 981 | /* Return summary information about the hierarchy of caches controlled by the processor */ |
982 | static inline s64 | 982 | static inline s64 |
983 | ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches) | 983 | ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches) |
984 | { | 984 | { |
diff --git a/include/linux/device.h b/include/linux/device.h index d5b1b7b3558e..d1a3a27c3988 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -102,7 +102,7 @@ extern int bus_unregister_notifier(struct bus_type *bus, | |||
102 | #define BUS_NOTIFY_UNBIND_DRIVER 0x00000004 /* driver about to be | 102 | #define BUS_NOTIFY_UNBIND_DRIVER 0x00000004 /* driver about to be |
103 | unbound */ | 103 | unbound */ |
104 | 104 | ||
105 | /* driverfs interface for exporting bus attributes */ | 105 | /* sysfs interface for exporting bus attributes */ |
106 | 106 | ||
107 | struct bus_attribute { | 107 | struct bus_attribute { |
108 | struct attribute attr; | 108 | struct attribute attr; |
@@ -147,7 +147,7 @@ extern void put_driver(struct device_driver * drv); | |||
147 | extern struct device_driver *driver_find(const char *name, struct bus_type *bus); | 147 | extern struct device_driver *driver_find(const char *name, struct bus_type *bus); |
148 | extern int driver_probe_done(void); | 148 | extern int driver_probe_done(void); |
149 | 149 | ||
150 | /* driverfs interface for exporting driver attributes */ | 150 | /* sysfs interface for exporting driver attributes */ |
151 | 151 | ||
152 | struct driver_attribute { | 152 | struct driver_attribute { |
153 | struct attribute attr; | 153 | struct attribute attr; |
diff --git a/include/linux/ext4_fs_extents.h b/include/linux/ext4_fs_extents.h index a41cc24568ca..7eb1d73fc5d1 100644 --- a/include/linux/ext4_fs_extents.h +++ b/include/linux/ext4_fs_extents.h | |||
@@ -22,12 +22,12 @@ | |||
22 | #include <linux/ext4_fs.h> | 22 | #include <linux/ext4_fs.h> |
23 | 23 | ||
24 | /* | 24 | /* |
25 | * With AGRESSIVE_TEST defined, the capacity of index/leaf blocks | 25 | * With AGGRESSIVE_TEST defined, the capacity of index/leaf blocks |
26 | * becomes very small, so index split, in-depth growing and | 26 | * becomes very small, so index split, in-depth growing and |
27 | * other hard changes happen much more often. | 27 | * other hard changes happen much more often. |
28 | * This is for debug purposes only. | 28 | * This is for debug purposes only. |
29 | */ | 29 | */ |
30 | #define AGRESSIVE_TEST_ | 30 | #define AGGRESSIVE_TEST_ |
31 | 31 | ||
32 | /* | 32 | /* |
33 | * With EXTENTS_STATS defined, the number of blocks and extents | 33 | * With EXTENTS_STATS defined, the number of blocks and extents |
diff --git a/include/linux/log2.h b/include/linux/log2.h index 99922bedfcc9..57e641e19a81 100644 --- a/include/linux/log2.h +++ b/include/linux/log2.h | |||
@@ -152,7 +152,7 @@ unsigned long __roundup_pow_of_two(unsigned long n) | |||
152 | * roundup_pow_of_two - round the given value up to nearest power of two | 152 | * roundup_pow_of_two - round the given value up to nearest power of two |
153 | * @n - parameter | 153 | * @n - parameter |
154 | * | 154 | * |
155 | * round the given balue up to the nearest power of two | 155 | * round the given value up to the nearest power of two |
156 | * - the result is undefined when n == 0 | 156 | * - the result is undefined when n == 0 |
157 | * - this can be used to initialise global variables from constant data | 157 | * - this can be used to initialise global variables from constant data |
158 | */ | 158 | */ |
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index b26b2e5fedc7..c83588c8d08b 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h | |||
@@ -59,7 +59,7 @@ struct kparam_array | |||
59 | }; | 59 | }; |
60 | 60 | ||
61 | /* This is the fundamental function for registering boot/module | 61 | /* This is the fundamental function for registering boot/module |
62 | parameters. perm sets the visibility in driverfs: 000 means it's | 62 | parameters. perm sets the visibility in sysfs: 000 means it's |
63 | not there, read bits mean it's readable, write bits mean it's | 63 | not there, read bits mean it's readable, write bits mean it's |
64 | writable. */ | 64 | writable. */ |
65 | #define __module_param_call(prefix, name, set, get, arg, perm) \ | 65 | #define __module_param_call(prefix, name, set, get, arg, perm) \ |
diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h index 6b0648cfdffc..52c9eb9b6df2 100644 --- a/include/linux/seqlock.h +++ b/include/linux/seqlock.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __LINUX_SEQLOCK_H | 2 | #define __LINUX_SEQLOCK_H |
3 | /* | 3 | /* |
4 | * Reader/writer consistent mechanism without starving writers. This type of | 4 | * Reader/writer consistent mechanism without starving writers. This type of |
5 | * lock for data where the reader wants a consitent set of information | 5 | * lock for data where the reader wants a consistent set of information |
6 | * and is willing to retry if the information changes. Readers never | 6 | * and is willing to retry if the information changes. Readers never |
7 | * block but they may have to retry if a writer is in | 7 | * block but they may have to retry if a writer is in |
8 | * progress. Writers do not wait for readers. | 8 | * progress. Writers do not wait for readers. |
diff --git a/kernel/printk.c b/kernel/printk.c index 0c151877ff71..4b47e59248df 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -54,7 +54,7 @@ int console_printk[4] = { | |||
54 | }; | 54 | }; |
55 | 55 | ||
56 | /* | 56 | /* |
57 | * Low lever drivers may need that to know if they can schedule in | 57 | * Low level drivers may need that to know if they can schedule in |
58 | * their unblank() callback or not. So let's export it. | 58 | * their unblank() callback or not. So let's export it. |
59 | */ | 59 | */ |
60 | int oops_in_progress; | 60 | int oops_in_progress; |
diff --git a/lib/textsearch.c b/lib/textsearch.c index 9e2a002c5b54..88c98a2ec8d9 100644 --- a/lib/textsearch.c +++ b/lib/textsearch.c | |||
@@ -40,7 +40,7 @@ | |||
40 | * configuration according to the specified parameters. | 40 | * configuration according to the specified parameters. |
41 | * (3) User starts the search(es) by calling _find() or _next() to | 41 | * (3) User starts the search(es) by calling _find() or _next() to |
42 | * fetch subsequent occurrences. A state variable is provided | 42 | * fetch subsequent occurrences. A state variable is provided |
43 | * to the algorihtm to store persistent variables. | 43 | * to the algorithm to store persistent variables. |
44 | * (4) Core eventually resets the search offset and forwards the find() | 44 | * (4) Core eventually resets the search offset and forwards the find() |
45 | * request to the algorithm. | 45 | * request to the algorithm. |
46 | * (5) Algorithm calls get_next_block() provided by the user continously | 46 | * (5) Algorithm calls get_next_block() provided by the user continously |
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig index 503e7059e312..91f3a5cdbcf8 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig | |||
@@ -9,7 +9,7 @@ config IP_MULTICAST | |||
9 | intend to participate in the MBONE, a high bandwidth network on top | 9 | intend to participate in the MBONE, a high bandwidth network on top |
10 | of the Internet which carries audio and video broadcasts. More | 10 | of the Internet which carries audio and video broadcasts. More |
11 | information about the MBONE is on the WWW at | 11 | information about the MBONE is on the WWW at |
12 | <http://www-itg.lbl.gov/mbone/>. Information about the multicast | 12 | <http://www.savetz.com/mbone/>. Information about the multicast |
13 | capabilities of the various network cards is contained in | 13 | capabilities of the various network cards is contained in |
14 | <file:Documentation/networking/multicast.txt>. For most people, it's | 14 | <file:Documentation/networking/multicast.txt>. For most people, it's |
15 | safe to say N. | 15 | safe to say N. |
diff --git a/net/ipv4/tcp_cong.c b/net/ipv4/tcp_cong.c index c1b34f1edb32..5c8caf4a1244 100644 --- a/net/ipv4/tcp_cong.c +++ b/net/ipv4/tcp_cong.c | |||
@@ -29,7 +29,7 @@ static struct tcp_congestion_ops *tcp_ca_find(const char *name) | |||
29 | } | 29 | } |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Attach new congestion control algorthim to the list | 32 | * Attach new congestion control algorithm to the list |
33 | * of available options. | 33 | * of available options. |
34 | */ | 34 | */ |
35 | int tcp_register_congestion_control(struct tcp_congestion_ops *ca) | 35 | int tcp_register_congestion_control(struct tcp_congestion_ops *ca) |