Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial

* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
  Documentation/kernel-docs.txt update.
  arch/cris: typo in KERN_INFO
  Storage class should be before const qualifier
  kernel/printk.c: comment fix
  update I/O sched Kconfig help texts - CFQ is now default, not AS.
  Remove duplicate listing of Cris arch from README
  kbuild: more doc. cleanups
  doc: make doc. for maxcpus= more visible
  drivers/net/eexpress.c: remove duplicate comment
  add a help text for BLK_DEV_GENERIC
  correct a dead URL in the IP_MULTICAST help text
  fix the BAYCOM_SER_HDX help text
  fix SCSI_SCAN_ASYNC help text
  trivial documentation patch for platform.txt
  Fix typos concerning hierarchy
  Fix comment typo "spin_lock_irqrestore".
  Fix misspellings of "agressive".
  drivers/scsi/a100u2w.c: trivial typo patch
  Correct trivial typo in log2.h.
  Remove useless FIND_FIRST_BIT() macro from cardbus.c.
  ...
This commit is contained in:
Linus Torvalds 2007-02-19 13:29:02 -08:00
commit 874ff01bd9
90 changed files with 304 additions and 314 deletions

View File

@ -66,7 +66,7 @@ runtime memory footprint:
Device Enumeration Device Enumeration
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
As a rule, platform specific (and often board-specific) setup code wil As a rule, platform specific (and often board-specific) setup code will
register platform devices: register platform devices:
int platform_device_register(struct platform_device *pdev); int platform_device_register(struct platform_device *pdev);
@ -106,7 +106,7 @@ It's built from two components:
* platform_device.id ... the device instance number, or else "-1" * platform_device.id ... the device instance number, or else "-1"
to indicate there's only one. to indicate there's only one.
These are catenated, so name/id "serial"/0 indicates bus_id "serial.0", and These are concatenated, so name/id "serial"/0 indicates bus_id "serial.0", and
"serial/3" indicates bus_id "serial.3"; both would use the platform_driver "serial/3" indicates bus_id "serial.3"; both would use the platform_driver
named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id) named "serial". While "my_rtc"/-1 would be bus_id "my_rtc" (no instance id)
and use the platform_driver called "my_rtc". and use the platform_driver called "my_rtc".

View File

@ -65,7 +65,7 @@ Accessing legacy resources through sysfs
---------------------------------------- ----------------------------------------
Legacy I/O port and ISA memory resources are also provided in sysfs if the Legacy I/O port and ISA memory resources are also provided in sysfs if the
underlying platform supports them. They're located in the PCI class heirarchy, underlying platform supports them. They're located in the PCI class hierarchy,
e.g. e.g.
/sys/class/pci_bus/0000:17/ /sys/class/pci_bus/0000:17/

View File

@ -34,7 +34,7 @@ This document describes the Linux kernel Makefiles.
--- 6.1 Set variables to tweak the build to the architecture --- 6.1 Set variables to tweak the build to the architecture
--- 6.2 Add prerequisites to archprepare: --- 6.2 Add prerequisites to archprepare:
--- 6.3 List directories to visit when descending --- 6.3 List directories to visit when descending
--- 6.4 Architecture specific boot images --- 6.4 Architecture-specific boot images
--- 6.5 Building non-kbuild targets --- 6.5 Building non-kbuild targets
--- 6.6 Commands useful for building a boot image --- 6.6 Commands useful for building a boot image
--- 6.7 Custom kbuild commands --- 6.7 Custom kbuild commands
@ -124,7 +124,7 @@ more details, with real examples.
Example: Example:
obj-y += foo.o obj-y += foo.o
This tell kbuild that there is one object in that directory, named This tells kbuild that there is one object in that directory, named
foo.o. foo.o will be built from foo.c or foo.S. foo.o. foo.o will be built from foo.c or foo.S.
If foo.o shall be built as a module, the variable obj-m is used. If foo.o shall be built as a module, the variable obj-m is used.
@ -353,7 +353,7 @@ more details, with real examples.
Special rules are used when the kbuild infrastructure does Special rules are used when the kbuild infrastructure does
not provide the required support. A typical example is not provide the required support. A typical example is
header files generated during the build process. header files generated during the build process.
Another example are the architecture specific Makefiles which Another example are the architecture-specific Makefiles which
need special rules to prepare boot images etc. need special rules to prepare boot images etc.
Special rules are written as normal Make rules. Special rules are written as normal Make rules.
@ -416,7 +416,7 @@ more details, with real examples.
#arch/i386/kernel/Makefile #arch/i386/kernel/Makefile
vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv) vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv)
In the above example vsyscall-flags will be assigned the option In the above example, vsyscall-flags will be assigned the option
-Wl$(comma)--hash-style=sysv if it is supported by $(CC). -Wl$(comma)--hash-style=sysv if it is supported by $(CC).
The second argument is optional, and if supplied will be used The second argument is optional, and if supplied will be used
if first argument is not supported. if first argument is not supported.
@ -434,7 +434,7 @@ more details, with real examples.
#arch/i386/Makefile #arch/i386/Makefile
cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586) cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586)
In the above example cflags-y will be assigned the option In the above example, cflags-y will be assigned the option
-march=pentium-mmx if supported by $(CC), otherwise -march=i586. -march=pentium-mmx if supported by $(CC), otherwise -march=i586.
The second argument to cc-option is optional, and if omitted, The second argument to cc-option is optional, and if omitted,
cflags-y will be assigned no value if first option is not supported. 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):
located at the root of the obj tree. located at the root of the obj tree.
The very first objects linked are listed in head-y, assigned by The very first objects linked are listed in head-y, assigned by
arch/$(ARCH)/Makefile. arch/$(ARCH)/Makefile.
7) Finally, the architecture specific part does any required post processing 7) Finally, the architecture-specific part does any required post processing
and builds the final bootimage. and builds the final bootimage.
- This includes building boot records - This includes building boot records
- Preparing initrd images and thelike - Preparing initrd images and the like
--- 6.1 Set variables to tweak the build to the architecture --- 6.1 Set variables to tweak the build to the architecture
@ -880,7 +880,7 @@ When kbuild executes, the following steps are followed (roughly):
$(head-y) lists objects to be linked first in vmlinux. $(head-y) lists objects to be linked first in vmlinux.
$(libs-y) lists directories where a lib.a archive can be located. $(libs-y) lists directories where a lib.a archive can be located.
The rest lists directories where a built-in.o object file can be The rest list directories where a built-in.o object file can be
located. located.
$(init-y) objects will be located after $(head-y). $(init-y) objects will be located after $(head-y).
@ -888,7 +888,7 @@ When kbuild executes, the following steps are followed (roughly):
$(core-y), $(libs-y), $(drivers-y) and $(net-y). $(core-y), $(libs-y), $(drivers-y) and $(net-y).
The top level Makefile defines values for all generic directories, The top level Makefile defines values for all generic directories,
and arch/$(ARCH)/Makefile only adds architecture specific directories. and arch/$(ARCH)/Makefile only adds architecture-specific directories.
Example: Example:
#arch/sparc64/Makefile #arch/sparc64/Makefile
@ -897,7 +897,7 @@ When kbuild executes, the following steps are followed (roughly):
drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/
--- 6.4 Architecture specific boot images --- 6.4 Architecture-specific boot images
An arch Makefile specifies goals that take the vmlinux file, compress An arch Makefile specifies goals that take the vmlinux file, compress
it, wrap it in bootstrapping code, and copy the resulting files it, wrap it in bootstrapping code, and copy the resulting files
@ -924,7 +924,7 @@ When kbuild executes, the following steps are followed (roughly):
"$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke "$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke
make in a subdirectory. make in a subdirectory.
There are no rules for naming architecture specific targets, There are no rules for naming architecture-specific targets,
but executing "make help" will list all relevant targets. but executing "make help" will list all relevant targets.
To support this, $(archhelp) must be defined. To support this, $(archhelp) must be defined.
@ -982,7 +982,7 @@ When kbuild executes, the following steps are followed (roughly):
$(call if_changed,ld/objcopy/gzip) $(call if_changed,ld/objcopy/gzip)
When the rule is evaluated, it is checked to see if any files When the rule is evaluated, it is checked to see if any files
needs an update, or the command line has changed since the last need an update, or the command line has changed since the last
invocation. The latter will force a rebuild if any options invocation. The latter will force a rebuild if any options
to the executable have changed. to the executable have changed.
Any target that utilises if_changed must be listed in $(targets), Any target that utilises if_changed must be listed in $(targets),
@ -1089,7 +1089,7 @@ When kbuild executes, the following steps are followed (roughly):
assignment. assignment.
The kbuild infrastructure for *lds file are used in several The kbuild infrastructure for *lds file are used in several
architecture specific files. architecture-specific files.
=== 7 Kbuild Variables === 7 Kbuild Variables
@ -1133,7 +1133,7 @@ The top Makefile exports the following variables:
This variable defines a place for the arch Makefiles to install This variable defines a place for the arch Makefiles to install
the resident kernel image and System.map file. the resident kernel image and System.map file.
Use this for architecture specific install targets. Use this for architecture-specific install targets.
INSTALL_MOD_PATH, MODLIB INSTALL_MOD_PATH, MODLIB

View File

@ -1,10 +1,10 @@
Index of Documentation for People Interested in Writing and/or Index of Documentation for People Interested in Writing and/or
Understanding the Linux Kernel. Understanding the Linux Kernel.
Juan-Mariano de Goyeneche <jmseyas@dit.upm.es> Juan-Mariano de Goyeneche <jmseyas@dit.upm.es>
/* /*
* The latest version of this document may be found at: * The latest version of this document may be found at:
* http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html * http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
@ -61,18 +61,18 @@
13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The 13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The
Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU
General Public License, Glossary". In short: a must have. General Public License, Glossary". In short: a must have.
* Title: "The Linux Kernel Hackers' Guide" * Title: "Linux Device Drivers, 2nd Edition"
Author: Michael K.Johnson and others. Author: Alessandro Rubini and Jonathan Corbet.
URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html URL: http://www.xml.com/ldd/chapter/book/index.html
Keywords: everything! Keywords: device drivers, modules, debugging, memory, hardware,
Description: No more Postscript book-like version. Only HTML now. interrupt handling, char drivers, block drivers, kmod, mmap, DMA,
Many people have contributed. The interface is similar to web buses.
available mailing lists archives. You can find some articles and Description: O'Reilly's popular book, now also on-line under the
then some mails asking questions about them and/or complementing GNU Free Documentation License.
previous contributions. A little bit anarchic in this aspect, but Notes: You can also buy it in paper-form from O'Reilly. See below
with some valuable information in some cases. under BOOKS (Not on-line).
* Title: "Conceptual Architecture of the Linux Kernel" * Title: "Conceptual Architecture of the Linux Kernel"
Author: Ivan T. Bowman. Author: Ivan T. Bowman.
URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html
@ -81,17 +81,17 @@
Description: Conceptual software arquitecture of the Linux kernel, Description: Conceptual software arquitecture of the Linux kernel,
automatically extracted from the source code. Very detailed. Good automatically extracted from the source code. Very detailed. Good
figures. Gives good overall kernel understanding. figures. Gives good overall kernel understanding.
* Title: "Concrete Architecture of the Linux Kernel" * Title: "Concrete Architecture of the Linux Kernel"
Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan. Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html
Keywords: concrete arquitecture, extracted design, reverse Keywords: concrete architecture, extracted design, reverse
engineering, system structure, dependencies. engineering, system structure, dependencies.
Description: Concrete arquitecture of the Linux kernel, Description: Concrete architecture of the Linux kernel,
automatically extracted from the source code. Very detailed. Good automatically extracted from the source code. Very detailed. Good
figures. Gives good overall kernel understanding. This papers figures. Gives good overall kernel understanding. This papers
focus on lower details than its predecessor (files, variables...). focus on lower details than its predecessor (files, variables...).
* Title: "Linux as a Case Study: Its Extracted Software * Title: "Linux as a Case Study: Its Extracted Software
Architecture" Architecture"
Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster. Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
@ -101,7 +101,7 @@
Description: Paper appeared at ICSE'99, Los Angeles, May 16-22, Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
1999. A mixture of the previous two documents from the same 1999. A mixture of the previous two documents from the same
author. author.
* Title: "Overview of the Virtual File System" * Title: "Overview of the Virtual File System"
Author: Richard Gooch. Author: Richard Gooch.
URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt
@ -111,20 +111,20 @@
What is it, how it works, operations taken when opening a file or What is it, how it works, operations taken when opening a file or
mounting a file system and description of important data mounting a file system and description of important data
structures explaining the purpose of each of their entries. structures explaining the purpose of each of their entries.
* Title: "The Linux RAID-1, 4, 5 Code" * Title: "The Linux RAID-1, 4, 5 Code"
Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza. Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
URL: http://www2.linuxjournal.com/lj-issues/issue44/2391.html URL: http://www.linuxjournal.com/article.php?sid=2391
Keywords: RAID, MD driver. Keywords: RAID, MD driver.
Description: Linux Journal Kernel Korner article. Here is it's Description: Linux Journal Kernel Korner article. Here is it's
abstract: "A description of the implementation of the RAID-1, abstract: "A description of the implementation of the RAID-1,
RAID-4 and RAID-5 personalities of the MD device driver in the RAID-4 and RAID-5 personalities of the MD device driver in the
Linux kernel, providing users with high performance and reliable, Linux kernel, providing users with high performance and reliable,
secondary-storage capability using software". secondary-storage capability using software".
* Title: "Dynamic Kernels: Modularized Device Drivers" * Title: "Dynamic Kernels: Modularized Device Drivers"
Author: Alessandro Rubini. Author: Alessandro Rubini.
URL: http://www2.linuxjournal.com/lj-issues/issue23/1219.html URL: http://www.linuxjournal.com/article.php?sid=1219
Keywords: device driver, module, loading/unloading modules, Keywords: device driver, module, loading/unloading modules,
allocating resources. allocating resources.
Description: Linux Journal Kernel Korner article. Here is it's Description: Linux Journal Kernel Korner article. Here is it's
@ -134,10 +134,10 @@
loadable modules. This installment presents an introduction to the loadable modules. This installment presents an introduction to the
topic, preparing the reader to understand next month's topic, preparing the reader to understand next month's
installment". installment".
* Title: "Dynamic Kernels: Discovery" * Title: "Dynamic Kernels: Discovery"
Author: Alessandro Rubini. Author: Alessandro Rubini.
URL: http://www2.linuxjournal.com/lj-issues/issue24/1220.html URL: http://www.linuxjournal.com/article.php?sid=1220
Keywords: character driver, init_module, clean_up module, Keywords: character driver, init_module, clean_up module,
autodetection, mayor number, minor number, file operations, autodetection, mayor number, minor number, file operations,
open(), close(). open(), close().
@ -146,20 +146,20 @@
the actual code to create custom module implementing a character the actual code to create custom module implementing a character
device driver. It describes the code for module initialization and device driver. It describes the code for module initialization and
cleanup, as well as the open() and close() system calls". cleanup, as well as the open() and close() system calls".
* Title: "The Devil's in the Details" * Title: "The Devil's in the Details"
Author: Georg v. Zezschwitz and Alessandro Rubini. Author: Georg v. Zezschwitz and Alessandro Rubini.
URL: http://www2.linuxjournal.com/lj-issues/issue25/1221.html URL: http://www.linuxjournal.com/article.php?sid=1221
Keywords: read(), write(), select(), ioctl(), blocking/non Keywords: read(), write(), select(), ioctl(), blocking/non
blocking mode, interrupt handler. blocking mode, interrupt handler.
Description: Linux Journal Kernel Korner article. Here is it's Description: Linux Journal Kernel Korner article. Here is it's
abstract: "This article, the third of four on writing character abstract: "This article, the third of four on writing character
device drivers, introduces concepts of reading, writing, and using device drivers, introduces concepts of reading, writing, and using
ioctl-calls". ioctl-calls".
* Title: "Dissecting Interrupts and Browsing DMA" * Title: "Dissecting Interrupts and Browsing DMA"
Author: Alessandro Rubini and Georg v. Zezschwitz. Author: Alessandro Rubini and Georg v. Zezschwitz.
URL: http://www2.linuxjournal.com/lj-issues/issue26/1222.html URL: http://www.linuxjournal.com/article.php?sid=1222
Keywords: interrupts, irqs, DMA, bottom halves, task queues. Keywords: interrupts, irqs, DMA, bottom halves, task queues.
Description: Linux Journal Kernel Korner article. Here is it's Description: Linux Journal Kernel Korner article. Here is it's
abstract: "This is the fourth in a series of articles about abstract: "This is the fourth in a series of articles about
@ -170,10 +170,10 @@
writing, and several different facilities have been provided for writing, and several different facilities have been provided for
different situations. We also investigate the complex topic of different situations. We also investigate the complex topic of
DMA". DMA".
* Title: "Device Drivers Concluded" * Title: "Device Drivers Concluded"
Author: Georg v. Zezschwitz. Author: Georg v. Zezschwitz.
URL: http://www2.linuxjournal.com/lj-issues/issue28/1287.html URL: http://www.linuxjournal.com/article.php?sid=1287
Keywords: address spaces, pages, pagination, page management, Keywords: address spaces, pages, pagination, page management,
demand loading, swapping, memory protection, memory mapping, mmap, demand loading, swapping, memory protection, memory mapping, mmap,
virtual memory areas (VMAs), vremap, PCI. virtual memory areas (VMAs), vremap, PCI.
@ -182,10 +182,10 @@
five articles about character device drivers. In this final five articles about character device drivers. In this final
section, Georg deals with memory mapping devices, beginning with section, Georg deals with memory mapping devices, beginning with
an overall description of the Linux memory management concepts". an overall description of the Linux memory management concepts".
* Title: "Network Buffers And Memory Management" * Title: "Network Buffers And Memory Management"
Author: Alan Cox. Author: Alan Cox.
URL: http://www2.linuxjournal.com/lj-issues/issue30/1312.html URL: http://www.linuxjournal.com/article.php?sid=1312
Keywords: sk_buffs, network devices, protocol/link layer Keywords: sk_buffs, network devices, protocol/link layer
variables, network devices flags, transmit, receive, variables, network devices flags, transmit, receive,
configuration, multicast. configuration, multicast.
@ -214,28 +214,26 @@
of the Coda filesystem. This version document is meant to describe of the Coda filesystem. This version document is meant to describe
the current interface (version 1.0) as well as improvements we the current interface (version 1.0) as well as improvements we
envisage". envisage".
* Title: "Programming PCI-Devices under Linux" * Title: "Programming PCI-Devices under Linux"
Author: Claus Schroeter. Author: Claus Schroeter.
URL: URL:
ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps.gz
.gz
Keywords: PCI, device, busmastering. Keywords: PCI, device, busmastering.
Description: 6 pages tutorial on PCI programming under Linux. Description: 6 pages tutorial on PCI programming under Linux.
Gives the basic concepts on the architecture of the PCI subsystem, Gives the basic concepts on the architecture of the PCI subsystem,
as long as basic functions and macros to read/write the devices as long as basic functions and macros to read/write the devices
and perform busmastering. and perform busmastering.
* Title: "Writing Character Device Driver for Linux" * Title: "Writing Character Device Driver for Linux"
Author: R. Baruch and C. Schroeter. Author: R. Baruch and C. Schroeter.
URL: URL:
ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers.ps.gz
.ps.gz
Keywords: character device drivers, I/O, signals, DMA, accessing Keywords: character device drivers, I/O, signals, DMA, accessing
ports in user space, kernel environment. ports in user space, kernel environment.
Description: 68 pages paper on writing character drivers. A little Description: 68 pages paper on writing character drivers. A little
bit old (1.993, 1.994) although still useful. bit old (1.993, 1.994) although still useful.
* Title: "Design and Implementation of the Second Extended * Title: "Design and Implementation of the Second Extended
Filesystem" Filesystem"
Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
@ -249,14 +247,14 @@
e2fsck's passes description... A must read! e2fsck's passes description... A must read!
Notes: This paper was first published in the Proceedings of the Notes: This paper was first published in the Proceedings of the
First Dutch International Symposium on Linux, ISBN 90-367-0385-9. First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
* Title: "Analysis of the Ext2fs structure" * Title: "Analysis of the Ext2fs structure"
Author: Louis-Dominique Dubeau. Author: Louis-Dominique Dubeau.
URL: http://step.polymtl.ca/~ldd/ext2fs/ext2fs_toc.html URL: http://www.nondot.org/sabre/os/files/FileSystems/ext2fs/
Keywords: ext2, filesystem, ext2fs. Keywords: ext2, filesystem, ext2fs.
Description: Description of ext2's blocks, directories, inodes, Description: Description of ext2's blocks, directories, inodes,
bitmaps, invariants... bitmaps, invariants...
* Title: "Journaling the Linux ext2fs Filesystem" * Title: "Journaling the Linux ext2fs Filesystem"
Author: Stephen C. Tweedie. Author: Stephen C. Tweedie.
URL: URL:
@ -265,7 +263,7 @@
Description: Excellent 8-pages paper explaining the journaling Description: Excellent 8-pages paper explaining the journaling
capabilities added to ext2 by the author, showing different capabilities added to ext2 by the author, showing different
problems faced and the alternatives chosen. problems faced and the alternatives chosen.
* Title: "Kernel API changes from 2.0 to 2.2" * Title: "Kernel API changes from 2.0 to 2.2"
Author: Richard Gooch. Author: Richard Gooch.
URL: URL:
@ -273,7 +271,7 @@
Keywords: 2.2, changes. Keywords: 2.2, changes.
Description: Kernel functions/structures/variables which changed Description: Kernel functions/structures/variables which changed
from 2.0.x to 2.2.x. from 2.0.x to 2.2.x.
* Title: "Kernel API changes from 2.2 to 2.4" * Title: "Kernel API changes from 2.2 to 2.4"
Author: Richard Gooch. Author: Richard Gooch.
URL: URL:
@ -345,17 +343,7 @@
Notes: Beware: the main page states: "This document may not be Notes: Beware: the main page states: "This document may not be
published, printed or used in excerpts without explicit permission published, printed or used in excerpts without explicit permission
of the author". Fortunately, it may still be read... of the author". Fortunately, it may still be read...
* Title: "Tour Of the Linux Kernel Source"
Author: Vijo Cherian.
URL: http://www.geocities.com/vijoc/tolks/tolks.html
Keywords: .
Description: A classic of this page! Was lost for a while and is
back again. Thanks Vijo! TOLKS: the name says it all. A tour of
the sources, describing directories, files, variables, data
structures... It covers general stuff, device drivers,
filesystems, IPC and Networking Code.
* Title: "Linux Kernel Mailing List Glossary" * Title: "Linux Kernel Mailing List Glossary"
Author: various Author: various
URL: http://kernelnewbies.org/glossary/ URL: http://kernelnewbies.org/glossary/
@ -377,7 +365,17 @@
kernels, but most of it applies to 2.2 too; 2.0 is slightly kernels, but most of it applies to 2.2 too; 2.0 is slightly
different". Freely redistributable under the conditions of the GNU different". Freely redistributable under the conditions of the GNU
General Public License. General Public License.
* Title: "Global spinlock list and usage"
Author: Rick Lindsley.
URL: http://lse.sourceforge.net/lockhier/global-spin-lock
Keywords: spinlock.
Description: This is an attempt to document both the existence and
usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive
list of spinlocks showing when they are used, which functions
access them, how each lock is acquired, under what conditions it
is held, whether interrupts can occur or not while it is held...
* Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New * Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New
Features " Features "
Author: Alan Cox. Author: Alan Cox.
@ -385,70 +383,70 @@
Keywords: ports, porting. Keywords: ports, porting.
Description: Article from Linux Magazine on porting from 2.0 to Description: Article from Linux Magazine on porting from 2.0 to
2.2 kernels. 2.2 kernels.
* Title: "Porting Device Drivers To Linux 2.2: part II" * Title: "Porting Device Drivers To Linux 2.2: part II"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-06/gear_01.html URL: http://www.linux-mag.com/1999-06/gear_01.html
Keywords: ports, porting. Keywords: ports, porting.
Description: Second part on porting from 2.0 to 2.2 kernels. Description: Second part on porting from 2.0 to 2.2 kernels.
* Title: "How To Make Sure Your Driver Will Work On The Power * Title: "How To Make Sure Your Driver Will Work On The Power
Macintosh" Macintosh"
Author: Paul Mackerras. Author: Paul Mackerras.
URL: http://www.linux-mag.com/1999-07/gear_01.html URL: http://www.linux-mag.com/1999-07/gear_01.html
Keywords: Mac, Power Macintosh, porting, drivers, compatibility. Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
Description: The title says it all. Description: The title says it all.
* Title: "An Introduction to SCSI Drivers" * Title: "An Introduction to SCSI Drivers"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-08/gear_01.html URL: http://www.linux-mag.com/1999-08/gear_01.html
Keywords: SCSI, device, driver. Keywords: SCSI, device, driver.
Description: The title says it all. Description: The title says it all.
* Title: "Advanced SCSI Drivers And Other Tales" * Title: "Advanced SCSI Drivers And Other Tales"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-09/gear_01.html URL: http://www.linux-mag.com/1999-09/gear_01.html
Keywords: SCSI, device, driver, advanced. Keywords: SCSI, device, driver, advanced.
Description: The title says it all. Description: The title says it all.
* Title: "Writing Linux Mouse Drivers" * Title: "Writing Linux Mouse Drivers"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-10/gear_01.html URL: http://www.linux-mag.com/1999-10/gear_01.html
Keywords: mouse, driver, gpm. Keywords: mouse, driver, gpm.
Description: The title says it all. Description: The title says it all.
* Title: "More on Mouse Drivers" * Title: "More on Mouse Drivers"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-11/gear_01.html URL: http://www.linux-mag.com/1999-11/gear_01.html
Keywords: mouse, driver, gpm, races, asynchronous I/O. Keywords: mouse, driver, gpm, races, asynchronous I/O.
Description: The title still says it all. Description: The title still says it all.
* Title: "Writing Video4linux Radio Driver" * Title: "Writing Video4linux Radio Driver"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/1999-12/gear_01.html URL: http://www.linux-mag.com/1999-12/gear_01.html
Keywords: video4linux, driver, radio, radio devices. Keywords: video4linux, driver, radio, radio devices.
Description: The title says it all. Description: The title says it all.
* Title: "Video4linux Drivers, Part 1: Video-Capture Device" * Title: "Video4linux Drivers, Part 1: Video-Capture Device"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/2000-01/gear_01.html URL: http://www.linux-mag.com/2000-01/gear_01.html
Keywords: video4linux, driver, video capture, capture devices, Keywords: video4linux, driver, video capture, capture devices,
camera driver. camera driver.
Description: The title says it all. Description: The title says it all.
* Title: "Video4linux Drivers, Part 2: Video-capture Devices" * Title: "Video4linux Drivers, Part 2: Video-capture Devices"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/2000-02/gear_01.html URL: http://www.linux-mag.com/2000-02/gear_01.html
Keywords: video4linux, driver, video capture, capture devices, Keywords: video4linux, driver, video capture, capture devices,
camera driver, control, query capabilities, capability, facility. camera driver, control, query capabilities, capability, facility.
Description: The title says it all. Description: The title says it all.
* Title: "PCI Management in Linux 2.2" * Title: "PCI Management in Linux 2.2"
Author: Alan Cox. Author: Alan Cox.
URL: http://www.linux-mag.com/2000-03/gear_01.html URL: http://www.linux-mag.com/2000-03/gear_01.html
Keywords: PCI, bus, bus-mastering. Keywords: PCI, bus, bus-mastering.
Description: The title says it all. Description: The title says it all.
* Title: "Linux 2.4 Kernel Internals" * Title: "Linux 2.4 Kernel Internals"
Author: Tigran Aivazian and Christoph Hellwig. Author: Tigran Aivazian and Christoph Hellwig.
URL: http://www.moses.uklinux.net/patches/lki.html URL: http://www.moses.uklinux.net/patches/lki.html
@ -456,13 +454,11 @@
Description: A little book used for a short training course. Description: A little book used for a short training course.
Covers building the kernel image, booting (including SMP bootup), Covers building the kernel image, booting (including SMP bootup),
process management, VFS and more. process management, VFS and more.
* Title: "Linux IP Networking. A Guide to the Implementation and * Title: "Linux IP Networking. A Guide to the Implementation and
Modification of the Linux Protocol Stack." Modification of the Linux Protocol Stack."
Author: Glenn Herrin. Author: Glenn Herrin.
URL: URL: http://www.cs.unh.edu/cnrg/gherrin
http://kernelnewbies.org/documents/ipnetworking/linuxipnetworking.
html
Keywords: network, networking, protocol, IP, UDP, TCP, connection, Keywords: network, networking, protocol, IP, UDP, TCP, connection,
socket, receiving, transmitting, forwarding, routing, packets, socket, receiving, transmitting, forwarding, routing, packets,
modules, /proc, sk_buff, FIB, tags. modules, /proc, sk_buff, FIB, tags.
@ -495,7 +491,7 @@
drivers for the Linux PCMCIA Card Services interface. It also drivers for the Linux PCMCIA Card Services interface. It also
describes how to write user-mode utilities for communicating with describes how to write user-mode utilities for communicating with
Card Services. Card Services.
* Title: "The Linux Kernel NFSD Implementation" * Title: "The Linux Kernel NFSD Implementation"
Author: Neil Brown. Author: Neil Brown.
URL: URL:
@ -591,47 +587,22 @@
Pages: 520. Pages: 520.
ISBN: 2-212-08932-5 ISBN: 2-212-08932-5
Notes: French. Notes: French.
* Title: "The Linux Kernel Book"
Author: Remy Card, Eric Dumas, Franck Mevel.
Publisher: John Wiley & Sons.
Date: 1998.
ISBN: 0-471-98141-9
Notes: English translation.
* Title: "Linux 2.0"
Author: Remy Card, Eric Dumas, Franck Mevel.
Publisher: Gestión 2000.
Date: 1997.
Pages: 501.
ISBN: 8-480-88208-5
Notes: Spanish translation.
* Title: "Unix internals -- the new frontiers" * Title: "Unix internals -- the new frontiers"
Author: Uresh Vahalia. Author: Uresh Vahalia.
Publisher: Prentice Hall. Publisher: Prentice Hall.
Date: 1996. Date: 1996.
Pages: 600. Pages: 600.
ISBN: 0-13-101908-2 ISBN: 0-13-101908-2
* Title: "Linux Core Kernel Commentary. Guide to Insider's Knowledge * Title: "The Design and Implementation of the 4.4 BSD UNIX
on the Core Kernel of the Linux Code" Operating System"
Author: Scott Maxwell. Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
Publisher: Coriolis. John S. Quarterman.
Date: 1999. Publisher: Addison-Wesley.
Pages: 592. Date: 1996.
ISBN: 1-57610-469-9 ISBN: 0-201-54979-4
Notes: CD-ROM included. Line by line commentary of the kernel
code.
* Title: "Linux IP Stacks Commentary"
Author: Stephen Satchell and HBJ Clifford.
Publisher: Coriolis.
Date: 2000.
Pages: ???.
ISBN: 1-57610-470-2
Notes: Line by line source code commentary book.
* Title: "Programming for the real world - POSIX.4" * Title: "Programming for the real world - POSIX.4"
Author: Bill O. Gallmeister. Author: Bill O. Gallmeister.
Publisher: O'Reilly & Associates, Inc.. Publisher: O'Reilly & Associates, Inc..
@ -640,18 +611,32 @@
ISBN: I-56592-074-0 ISBN: I-56592-074-0
Notes: Though not being directly about Linux, Linux aims to be Notes: Though not being directly about Linux, Linux aims to be
POSIX. Good reference. POSIX. Good reference.
* Title: "Understanding the Linux Kernel" * Title: "UNIX Systems for Modern Architectures: Symmetric
Author: Daniel P. Bovet and Marco Cesati. Multiprocesssing and Caching for Kernel Programmers"
Publisher: O'Reilly & Associates, Inc.. Author: Curt Schimmel.
Date: 2000. Publisher: Addison Wesley.
Pages: 702. Date: June, 1994.
ISBN: 0-596-00002-2 Pages: 432.
Notes: Further information in ISBN: 0-201-63338-8
http://www.oreilly.com/catalog/linuxkernel/
* Title: "The Design and Implementation of the 4.3 BSD UNIX
Operating System"
Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J.
Karels, John S. Quarterman.
Publisher: Addison-Wesley.
Date: 1989 (reprinted with corrections on October, 1990).
ISBN: 0-201-06196-1
* Title: "The Design of the UNIX Operating System"
Author: Maurice J. Bach.
Publisher: Prentice Hall.
Date: 1986.
Pages: 471.
ISBN: 0-13-201757-1
MISCELLANEOUS: MISCELLANEOUS:
* Name: linux/Documentation * Name: linux/Documentation
Author: Many. Author: Many.
URL: Just look inside your kernel sources. URL: Just look inside your kernel sources.
@ -660,7 +645,7 @@
inside the Documentation directory. Some pages from this document inside the Documentation directory. Some pages from this document
(including this document itself) have been moved there, and might (including this document itself) have been moved there, and might
be more up to date than the web version. be more up to date than the web version.
* Name: "Linux Source Driver" * Name: "Linux Source Driver"
URL: http://lsd.linux.cz URL: http://lsd.linux.cz
Keywords: Browsing source code. Keywords: Browsing source code.
@ -671,7 +656,7 @@
you can search Linux kernel (fulltext, macros, types, functions you can search Linux kernel (fulltext, macros, types, functions
and variables) and LSD can generate patches for you on the fly and variables) and LSD can generate patches for you on the fly
(files, directories or kernel)". (files, directories or kernel)".
* Name: "Linux Kernel Source Reference" * Name: "Linux Kernel Source Reference"
Author: Thomas Graichen. Author: Thomas Graichen.
URL: http://innominate.org/~graichen/projects/lksr/ URL: http://innominate.org/~graichen/projects/lksr/
@ -681,27 +666,27 @@
sources of any version starting from 1.0 up to the (daily updated) sources of any version starting from 1.0 up to the (daily updated)
current version available. Also you can check the differences current version available. Also you can check the differences
between two versions of a file". between two versions of a file".
* Name: "Cross-Referencing Linux" * Name: "Cross-Referencing Linux"
URL: http://lxr.linux.no/source/ URL: http://lxr.linux.no/source/
Keywords: Browsing source code. Keywords: Browsing source code.
Description: Another web-based Linux kernel source code browser. Description: Another web-based Linux kernel source code browser.
Lots of cross references to variables and functions. You can see Lots of cross references to variables and functions. You can see
where they are defined and where they are used. where they are defined and where they are used.
* Name: "Linux Weekly News" * Name: "Linux Weekly News"
URL: http://lwn.net URL: http://lwn.net
Keywords: latest kernel news. Keywords: latest kernel news.
Description: The title says it all. There's a fixed kernel section Description: The title says it all. There's a fixed kernel section
summarizing developers' work, bug fixes, new features and versions summarizing developers' work, bug fixes, new features and versions
produced during the week. Published every Thursday. produced during the week. Published every Thursday.
* Name: "Kernel Traffic" * Name: "Kernel Traffic"
URL: http://www.kerneltraffic.org/kernel-traffic/ URL: http://kt.zork.net/kernel-traffic/
Keywords: linux-kernel mailing list, weekly kernel news. Keywords: linux-kernel mailing list, weekly kernel news.
Description: Weekly newsletter covering the most relevant Description: Weekly newsletter covering the most relevant
discussions of the linux-kernel mailing list. discussions of the linux-kernel mailing list.
* Name: "CuTTiNG.eDGe.LiNuX" * Name: "CuTTiNG.eDGe.LiNuX"
URL: http://edge.kernelnotes.org URL: http://edge.kernelnotes.org
Keywords: changelist. Keywords: changelist.
@ -709,7 +694,7 @@
release. What's new, what's better, what's changed. Myrdraal reads release. What's new, what's better, what's changed. Myrdraal reads
the patches and describes them. Pointers to the patches are there, the patches and describes them. Pointers to the patches are there,
too. too.
* Name: "New linux-kernel Mailing List FAQ" * Name: "New linux-kernel Mailing List FAQ"
URL: http://www.tux.org/lkml/ URL: http://www.tux.org/lkml/
Keywords: linux-kernel mailing list FAQ. Keywords: linux-kernel mailing list FAQ.
@ -719,7 +704,7 @@
it. Read it to see how to join the mailing list. Dozens of it. Read it to see how to join the mailing list. Dozens of
interesting questions regarding the list, Linux, developers (who interesting questions regarding the list, Linux, developers (who
is ...?), terms (what is...?) are answered here too. Just read it. is ...?), terms (what is...?) are answered here too. Just read it.
* Name: "Linux Virtual File System" * Name: "Linux Virtual File System"
Author: Peter J. Braam. Author: Peter J. Braam.
URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/ URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/
@ -727,10 +712,10 @@
Description: Set of slides, presumably from a presentation on the Description: Set of slides, presumably from a presentation on the
Linux VFS layer. Covers version 2.1.x, with dentries and the Linux VFS layer. Covers version 2.1.x, with dentries and the
dcache. dcache.
* Name: "Gary's Encyclopedia - The Linux Kernel" * Name: "Gary's Encyclopedia - The Linux Kernel"
Author: Gary (I suppose...). Author: Gary (I suppose...).
URL: http://members.aa.net/~swear/pedia/kernel.html URL: http://www.lisoleg.net/cgi-bin/lisoleg.pl?view=kernel.htm
Keywords: links, not found here?. Keywords: links, not found here?.
Description: Gary's Encyclopedia exists to allow the rapid finding Description: Gary's Encyclopedia exists to allow the rapid finding
of documentation and other information of interest to GNU/Linux of documentation and other information of interest to GNU/Linux
@ -738,7 +723,7 @@
categories. This link is for kernel-specific links, documents, categories. This link is for kernel-specific links, documents,
sites... Look there if you could not find here what you were sites... Look there if you could not find here what you were
looking for. looking for.
* Name: "The home page of Linux-MM" * Name: "The home page of Linux-MM"
Author: The Linux-MM team. Author: The Linux-MM team.
URL: http://linux-mm.org/ URL: http://linux-mm.org/
@ -747,7 +732,7 @@
Description: Site devoted to Linux Memory Management development. Description: Site devoted to Linux Memory Management development.
Memory related patches, HOWTOs, links, mm developers... Don't miss Memory related patches, HOWTOs, links, mm developers... Don't miss
it if you are interested in memory management development! it if you are interested in memory management development!
* Name: "Kernel Newbies IRC Channel" * Name: "Kernel Newbies IRC Channel"
URL: http://www.kernelnewbies.org URL: http://www.kernelnewbies.org
Keywords: IRC, newbies, channel, asking doubts. Keywords: IRC, newbies, channel, asking doubts.

View File

@ -864,7 +864,14 @@ and is between 256 and 4096 characters. It is defined in the file
Format: <1-256> Format: <1-256>
maxcpus= [SMP] Maximum number of processors that an SMP kernel maxcpus= [SMP] Maximum number of processors that an SMP kernel
should make use of should make use of.
Using "nosmp" or "maxcpus=0" will disable SMP
entirely (the MPS table probe still happens, though).
A command-line option of "maxcpus=<NUM>", where <NUM>
is an integer greater than 0, limits the maximum number
of CPUs activated in SMP mode to <NUM>.
Using "maxcpus=1" on an SMP kernel is the trivial
case of an SMP kernel with only one CPU.
max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or
equal to this physical address is ignored. equal to this physical address is ignored.

View File

@ -17,7 +17,7 @@ of the board-specific code (with the exception of stboards) ended up
in arch/sh/kernel/ directly, with board-specific headers ending up in in arch/sh/kernel/ directly, with board-specific headers ending up in
include/asm-sh/. For the new kernel, things are broken out by board type, include/asm-sh/. For the new kernel, things are broken out by board type,
companion chip type, and CPU type. Looking at a tree view of this directory companion chip type, and CPU type. Looking at a tree view of this directory
heirarchy looks like the following: hierarchy looks like the following:
Board-specific code: Board-specific code:
@ -108,7 +108,7 @@ overloading), and you can feel free to name the directory after the family
member itself. member itself.
There are a few things that each board is required to have, both in the There are a few things that each board is required to have, both in the
arch/sh/boards and the include/asm-sh/ heirarchy. In order to better arch/sh/boards and the include/asm-sh/ hierarchy. In order to better
explain this, we use some examples for adding an imaginary board. For explain this, we use some examples for adding an imaginary board. For
setup code, we're required at the very least to provide definitions for setup code, we're required at the very least to provide definitions for
get_system_type() and platform_setup(). For our imaginary board, this get_system_type() and platform_setup(). For our imaginary board, this

View File

@ -57,7 +57,7 @@ bttv.o
i2c_udelay= Allow reduce I2C speed. Default is 5 usecs i2c_udelay= Allow reduce I2C speed. Default is 5 usecs
(meaning 66,67 Kbps). The default is the (meaning 66,67 Kbps). The default is the
maximum supported speed by kernel bitbang maximum supported speed by kernel bitbang
algoritm. You may use lower numbers, if I2C algorithm. You may use lower numbers, if I2C
messages are lost (16 is known to work on messages are lost (16 is known to work on
all supported cards). all supported cards).

2
README
View File

@ -24,7 +24,7 @@ ON WHAT HARDWARE DOES IT RUN?
today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and
UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell, UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell,
IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS,
Cris, Xtensa, AVR32 and Renesas M32R architectures. Xtensa, AVR32 and Renesas M32R architectures.
Linux is easily portable to most general-purpose 32- or 64-bit architectures Linux is easily portable to most general-purpose 32- or 64-bit architectures
as long as they have a paged memory management unit (PMMU) and a port of the as long as they have a paged memory management unit (PMMU) and a port of the

View File

@ -427,7 +427,7 @@ source arch/arm/mm/Kconfig
config IWMMXT config IWMMXT
bool "Enable iWMMXt support" bool "Enable iWMMXt support"
depends CPU_XSCALE || CPU_XSC3 depends on CPU_XSCALE || CPU_XSC3
default y if PXA27x default y if PXA27x
help help
Enable support for iWMMXt context switching at run time if Enable support for iWMMXt context switching at run time if

View File

@ -525,7 +525,7 @@ config CPU_BIG_ENDIAN
of your chipset/board/processor. of your chipset/board/processor.
config CPU_HIGH_VECTOR config CPU_HIGH_VECTOR
depends !MMU && CPU_CP15 && !CPU_ARM740T depends on !MMU && CPU_CP15 && !CPU_ARM740T
bool "Select the High exception vector" bool "Select the High exception vector"
default n default n
help help

View File

@ -311,7 +311,7 @@ pcf8563_register(void)
{ {
pcf8563_init(); pcf8563_init();
if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) {
printk(KERN_INFO "%s: Unable to get major numer %d for RTC device.\n", printk(KERN_INFO "%s: Unable to get major number %d for RTC device.\n",
PCF8563_NAME, PCF8563_MAJOR); PCF8563_NAME, PCF8563_MAJOR);
return -1; return -1;
} }

View File

@ -171,7 +171,7 @@ pcf8563_init(void)
goto err; goto err;
if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) { if (register_chrdev(PCF8563_MAJOR, DEVICE_NAME, &pcf8563_fops) < 0) {
printk(KERN_INFO "%s: Unable to get major numer %d for RTC device.\n", printk(KERN_INFO "%s: Unable to get major number %d for RTC device.\n",
PCF8563_NAME, PCF8563_MAJOR); PCF8563_NAME, PCF8563_MAJOR);
return -1; return -1;
} }

View File

@ -11,6 +11,7 @@
#include <endian.h> #include <endian.h>
#define MAX_SHDRS 100 #define MAX_SHDRS 100
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
static Elf32_Ehdr ehdr; static Elf32_Ehdr ehdr;
static Elf32_Shdr shdr[MAX_SHDRS]; static Elf32_Shdr shdr[MAX_SHDRS];
static Elf32_Sym *symtab[MAX_SHDRS]; static Elf32_Sym *symtab[MAX_SHDRS];
@ -71,7 +72,7 @@ static const char *sym_type(unsigned type)
#undef SYM_TYPE #undef SYM_TYPE
}; };
const char *name = "unknown sym type name"; const char *name = "unknown sym type name";
if (type < sizeof(type_name)/sizeof(type_name[0])) { if (type < ARRAY_SIZE(type_name)) {
name = type_name[type]; name = type_name[type];
} }
return name; return name;
@ -87,7 +88,7 @@ static const char *sym_bind(unsigned bind)
#undef SYM_BIND #undef SYM_BIND
}; };
const char *name = "unknown sym bind name"; const char *name = "unknown sym bind name";
if (bind < sizeof(bind_name)/sizeof(bind_name[0])) { if (bind < ARRAY_SIZE(bind_name)) {
name = bind_name[bind]; name = bind_name[bind];
} }
return name; return name;
@ -104,7 +105,7 @@ static const char *sym_visibility(unsigned visibility)
#undef SYM_VISIBILITY #undef SYM_VISIBILITY
}; };
const char *name = "unknown sym visibility name"; const char *name = "unknown sym visibility name";
if (visibility < sizeof(visibility_name)/sizeof(visibility_name[0])) { if (visibility < ARRAY_SIZE(visibility_name)) {
name = visibility_name[visibility]; name = visibility_name[visibility];
} }
return name; return name;
@ -128,7 +129,7 @@ static const char *rel_type(unsigned type)
#undef REL_TYPE #undef REL_TYPE
}; };
const char *name = "unknown type rel type name"; const char *name = "unknown type rel type name";
if (type < sizeof(type_name)/sizeof(type_name[0])) { if (type < ARRAY_SIZE(type_name)) {
name = type_name[type]; name = type_name[type];
} }
return name; return name;

View File

@ -1,5 +1,5 @@
/* /*
* arch/i386/kernel/topology.c - Populate driverfs with topology information * arch/i386/kernel/topology.c - Populate sysfs with topology information
* *
* Written by: Matthew Dobson, IBM Corporation * Written by: Matthew Dobson, IBM Corporation
* Original Code: Paul Dorwin, IBM Corporation, Patrick Mochel, OSDL * Original Code: Paul Dorwin, IBM Corporation, Patrick Mochel, OSDL

View File

@ -63,7 +63,7 @@ static struct sys_device device_oprofile = {
}; };
static int __init init_driverfs(void) static int __init init_sysfs(void)
{ {
int error; int error;
if (!(error = sysdev_class_register(&oprofile_sysclass))) if (!(error = sysdev_class_register(&oprofile_sysclass)))
@ -72,15 +72,15 @@ static int __init init_driverfs(void)
} }
static void exit_driverfs(void) static void exit_sysfs(void)
{ {
sysdev_unregister(&device_oprofile); sysdev_unregister(&device_oprofile);
sysdev_class_unregister(&oprofile_sysclass); sysdev_class_unregister(&oprofile_sysclass);
} }
#else #else
#define init_driverfs() do { } while (0) #define init_sysfs() do { } while (0)
#define exit_driverfs() do { } while (0) #define exit_sysfs() do { } while (0)
#endif /* CONFIG_PM */ #endif /* CONFIG_PM */
static int profile_exceptions_notify(struct notifier_block *self, static int profile_exceptions_notify(struct notifier_block *self,
@ -385,7 +385,7 @@ static int __init ppro_init(char ** cpu_type)
return 1; return 1;
} }
/* in order to get driverfs right */ /* in order to get sysfs right */
static int using_nmi; static int using_nmi;
int __init op_nmi_init(struct oprofile_operations *ops) int __init op_nmi_init(struct oprofile_operations *ops)
@ -440,7 +440,7 @@ int __init op_nmi_init(struct oprofile_operations *ops)
return -ENODEV; return -ENODEV;
} }
init_driverfs(); init_sysfs();
using_nmi = 1; using_nmi = 1;
ops->create_files = nmi_create_files; ops->create_files = nmi_create_files;
ops->setup = nmi_setup; ops->setup = nmi_setup;
@ -456,5 +456,5 @@ int __init op_nmi_init(struct oprofile_operations *ops)
void op_nmi_exit(void) void op_nmi_exit(void)
{ {
if (using_nmi) if (using_nmi)
exit_driverfs(); exit_sysfs();
} }

View File

@ -147,7 +147,7 @@
* in UP: * in UP:
* - we need to protect against PMU overflow interrupts (local_irq_disable) * - we need to protect against PMU overflow interrupts (local_irq_disable)
* *
* spin_lock_irqsave()/spin_lock_irqrestore(): * spin_lock_irqsave()/spin_unlock_irqrestore():
* in SMP: local_irq_disable + spin_lock * in SMP: local_irq_disable + spin_lock
* in UP : local_irq_disable * in UP : local_irq_disable
* *

View File

@ -293,7 +293,7 @@ long strnlen_user(const char __user *s, long n)
: "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101)
: "r0", "r1", "cbit"); : "r0", "r1", "cbit");
/* NOTE: strnlen_user() algorism: /* NOTE: strnlen_user() algorithm:
* { * {
* char *p; * char *p;
* for (p = s; n-- && *p != '\0'; ++p) * for (p = s; n-- && *p != '\0'; ++p)
@ -369,7 +369,7 @@ long strnlen_user(const char __user *s, long n)
: "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101) : "0" (n), "1" (s), "r" (n & 3), "r" (mask), "r"(0x01010101)
: "r0", "r1", "r2", "r3", "cbit"); : "r0", "r1", "r2", "r3", "cbit");
/* NOTE: strnlen_user() algorism: /* NOTE: strnlen_user() algorithm:
* { * {
* char *p; * char *p;
* for (p = s; n-- && *p != '\0'; ++p) * for (p = s; n-- && *p != '\0'; ++p)

View File

@ -104,7 +104,7 @@ unsigned long coldfire_timer_offset(void)
/* /*
* Choose a reasonably fast profile timer. Make it an odd value to * Choose a reasonably fast profile timer. Make it an odd value to
* try and get good coverage of kernal operations. * try and get good coverage of kernel operations.
*/ */
#define PROFILEHZ 1013 #define PROFILEHZ 1013

View File

@ -13,8 +13,8 @@
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/page.h> #include <asm/page.h>
const extern unsigned char relocate_new_kernel[]; extern const unsigned char relocate_new_kernel[];
const extern unsigned int relocate_new_kernel_size; extern const unsigned int relocate_new_kernel_size;
extern unsigned long kexec_start_address; extern unsigned long kexec_start_address;
extern unsigned long kexec_indirection_page; extern unsigned long kexec_indirection_page;

View File

@ -1,5 +1,5 @@
/* /*
* arch/parisc/kernel/topology.c - Populate driverfs with topology information * arch/parisc/kernel/topology.c - Populate sysfs with topology information
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -182,7 +182,7 @@ void rtas_progress(char *s, unsigned short hex)
char *os; char *os;
static int display_character, set_indicator; static int display_character, set_indicator;
static int display_width, display_lines, form_feed; static int display_width, display_lines, form_feed;
const static int *row_width; static const int *row_width;
static DEFINE_SPINLOCK(progress_lock); static DEFINE_SPINLOCK(progress_lock);
static int current_line; static int current_line;
static int pending_newline = 0; /* did last write end with unprinted newline? */ static int pending_newline = 0; /* did last write end with unprinted newline? */

View File

@ -154,7 +154,7 @@ EXPORT_SYMBOL_GPL(of_node_to_nid);
* characteristics relative to its multiple connections. We ignore * characteristics relative to its multiple connections. We ignore
* this for now. We also assume that all cpu and memory sets have * this for now. We also assume that all cpu and memory sets have
* their distances represented at a common level. This won't be * their distances represented at a common level. This won't be
* true for heirarchical NUMA. * true for hierarchical NUMA.
* *
* In any case the ibm,associativity-reference-points should give * In any case the ibm,associativity-reference-points should give
* the correct depth for a normal NUMA system. * the correct depth for a normal NUMA system.

View File

@ -18,8 +18,8 @@
#include <asm/freq.h> #include <asm/freq.h>
#include <asm/io.h> #include <asm/io.h>
const static int pll1rate[]={1,2}; static const int pll1rate[] = {1,2};
const static int pfc_divisors[]={1,2,0,4}; static const int pfc_divisors[] = {1,2,0,4};
#if (CONFIG_SH_CLK_MD == 1) || (CONFIG_SH_CLK_MD == 2) #if (CONFIG_SH_CLK_MD == 1) || (CONFIG_SH_CLK_MD == 2)
#define PLL2 (4) #define PLL2 (4)

View File

@ -18,8 +18,8 @@
#include <asm/freq.h> #include <asm/freq.h>
#include <asm/io.h> #include <asm/io.h>
const static int pll1rate[]={1,2,3,4,6,8}; static const int pll1rate[]={1,2,3,4,6,8};
const static int pfc_divisors[]={1,2,3,4,6,8,12}; static const int pfc_divisors[]={1,2,3,4,6,8,12};
#define ifc_divisors pfc_divisors #define ifc_divisors pfc_divisors
#if (CONFIG_SH_CLK_MD == 2) #if (CONFIG_SH_CLK_MD == 2)

View File

@ -217,7 +217,7 @@ menu "Processor type and features"
# Some platforms pre-zero memory, in which case the kernel doesn't need to # Some platforms pre-zero memory, in which case the kernel doesn't need to
config ZERO_BSS config ZERO_BSS
bool bool
depends !V850E2_SIM85E2C depends on !V850E2_SIM85E2C
default y default y
# The crappy-ass zone allocator requires that the start of allocatable # The crappy-ass zone allocator requires that the start of allocatable

View File

@ -418,7 +418,7 @@ static struct sysdev_class timer_sysclass = {
set_kset_name("timer"), set_kset_name("timer"),
}; };
/* XXX this driverfs stuff should probably go elsewhere later -john */ /* XXX this sysfs stuff should probably go elsewhere later -john */
static struct sys_device device_timer = { static struct sys_device device_timer = {
.id = 0, .id = 0,
.cls = &timer_sysclass, .cls = &timer_sysclass,

View File

@ -16,10 +16,10 @@ config IOSCHED_AS
tristate "Anticipatory I/O scheduler" tristate "Anticipatory I/O scheduler"
default y default y
---help--- ---help---
The anticipatory I/O scheduler is the default disk scheduler. It is The anticipatory I/O scheduler is generally a good choice for most
generally a good choice for most environments, but is quite large and environments, but is quite large and complex when compared to the
complex when compared to the deadline I/O scheduler, it can also be deadline I/O scheduler, it can also be slower in some cases
slower in some cases especially some database loads. especially some database loads.
config IOSCHED_DEADLINE config IOSCHED_DEADLINE
tristate "Deadline I/O scheduler" tristate "Deadline I/O scheduler"
@ -38,6 +38,7 @@ config IOSCHED_CFQ
The CFQ I/O scheduler tries to distribute bandwidth equally The CFQ I/O scheduler tries to distribute bandwidth equally
among all processes in the system. It should provide a fair among all processes in the system. It should provide a fair
working environment, suitable for desktop systems. working environment, suitable for desktop systems.
This is the default I/O scheduler.
choice choice
prompt "Default I/O scheduler" prompt "Default I/O scheduler"

View File

@ -103,7 +103,7 @@ static SYSDEV_ATTR(crash_notes, 0400, show_crash_notes, NULL);
#endif #endif
/* /*
* register_cpu - Setup a driverfs device for a CPU. * register_cpu - Setup a sysfs device for a CPU.
* @cpu - cpu->hotpluggable field set to 1 will generate a control file in * @cpu - cpu->hotpluggable field set to 1 will generate a control file in
* sysfs for this CPU. * sysfs for this CPU.
* @num - CPU number to use when creating the device. * @num - CPU number to use when creating the device.

View File

@ -133,7 +133,7 @@ static SYSDEV_ATTR(distance, S_IRUGO, node_read_distance, NULL);
/* /*
* register_node - Setup a driverfs device for a node. * register_node - Setup a sysfs device for a node.
* @num - Node number to use when creating the device. * @num - Node number to use when creating the device.
* *
* Initialize and register the node device. * Initialize and register the node device.

View File

@ -1146,7 +1146,7 @@ static int __init rio_init(void)
rio_dprintk(RIO_DEBUG_INIT, "Enabling interrupts on rio card.\n"); rio_dprintk(RIO_DEBUG_INIT, "Enabling interrupts on rio card.\n");
hp->Mode |= RIO_PCI_INT_ENABLE; hp->Mode |= RIO_PCI_INT_ENABLE;
} else } else
hp->Mode &= !RIO_PCI_INT_ENABLE; hp->Mode &= ~RIO_PCI_INT_ENABLE;
rio_dprintk(RIO_DEBUG_INIT, "New Mode: %x\n", hp->Mode); rio_dprintk(RIO_DEBUG_INIT, "New Mode: %x\n", hp->Mode);
rio_start_card_running(hp); rio_start_card_running(hp);
} }

View File

@ -494,7 +494,7 @@ static int __devinit ali1535_probe(struct pci_dev *dev, const struct pci_device_
return -ENODEV; return -ENODEV;
} }
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
ali1535_adapter.dev.parent = &dev->dev; ali1535_adapter.dev.parent = &dev->dev;
snprintf(ali1535_adapter.name, I2C_NAME_SIZE, snprintf(ali1535_adapter.name, I2C_NAME_SIZE,

View File

@ -489,7 +489,7 @@ static int __devinit ali15x3_probe(struct pci_dev *dev, const struct pci_device_
return -ENODEV; return -ENODEV;
} }
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
ali15x3_adapter.dev.parent = &dev->dev; ali15x3_adapter.dev.parent = &dev->dev;
snprintf(ali15x3_adapter.name, I2C_NAME_SIZE, snprintf(ali15x3_adapter.name, I2C_NAME_SIZE,

View File

@ -374,7 +374,7 @@ static int __devinit amd756_probe(struct pci_dev *pdev,
dev_dbg(&pdev->dev, "SMBREV = 0x%X\n", temp); dev_dbg(&pdev->dev, "SMBREV = 0x%X\n", temp);
dev_dbg(&pdev->dev, "AMD756_smba = 0x%X\n", amd756_ioport); dev_dbg(&pdev->dev, "AMD756_smba = 0x%X\n", amd756_ioport);
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
amd756_smbus.dev.parent = &pdev->dev; amd756_smbus.dev.parent = &pdev->dev;
sprintf(amd756_smbus.name, "SMBus %s adapter at %04x", sprintf(amd756_smbus.name, "SMBus %s adapter at %04x",

View File

@ -371,7 +371,7 @@ static int __devinit amd8111_probe(struct pci_dev *dev,
smbus->adapter.algo = &smbus_algorithm; smbus->adapter.algo = &smbus_algorithm;
smbus->adapter.algo_data = smbus; smbus->adapter.algo_data = smbus;
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
smbus->adapter.dev.parent = &dev->dev; smbus->adapter.dev.parent = &dev->dev;
pci_write_config_dword(smbus->dev, AMD_PCI_MISC, 0); pci_write_config_dword(smbus->dev, AMD_PCI_MISC, 0);

View File

@ -522,7 +522,7 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id
else else
dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n"); dev_dbg(&dev->dev, "SMBus using PCI Interrupt\n");
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
i801_adapter.dev.parent = &dev->dev; i801_adapter.dev.parent = &dev->dev;
snprintf(i801_adapter.name, I2C_NAME_SIZE, snprintf(i801_adapter.name, I2C_NAME_SIZE,

View File

@ -425,7 +425,7 @@ static int __devinit piix4_probe(struct pci_dev *dev,
if (retval) if (retval)
return retval; return retval;
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
piix4_adapter.dev.parent = &dev->dev; piix4_adapter.dev.parent = &dev->dev;
snprintf(piix4_adapter.name, I2C_NAME_SIZE, snprintf(piix4_adapter.name, I2C_NAME_SIZE,

View File

@ -384,7 +384,7 @@ static int __devinit sis5595_probe(struct pci_dev *dev, const struct pci_device_
return -ENODEV; return -ENODEV;
} }
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
sis5595_adapter.dev.parent = &dev->dev; sis5595_adapter.dev.parent = &dev->dev;
sprintf(sis5595_adapter.name, "SMBus SIS5595 adapter at %04x", sprintf(sis5595_adapter.name, "SMBus SIS5595 adapter at %04x",

View File

@ -477,7 +477,7 @@ static int __devinit sis630_probe(struct pci_dev *dev, const struct pci_device_i
return -ENODEV; return -ENODEV;
} }
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
sis630_adapter.dev.parent = &dev->dev; sis630_adapter.dev.parent = &dev->dev;
sprintf(sis630_adapter.name, "SMBus SIS630 adapter at %04x", sprintf(sis630_adapter.name, "SMBus SIS630 adapter at %04x",

View File

@ -297,7 +297,7 @@ static int __devinit sis96x_probe(struct pci_dev *dev,
return -EINVAL; return -EINVAL;
} }
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
sis96x_adapter.dev.parent = &dev->dev; sis96x_adapter.dev.parent = &dev->dev;
snprintf(sis96x_adapter.name, I2C_NAME_SIZE, snprintf(sis96x_adapter.name, I2C_NAME_SIZE,

View File

@ -138,7 +138,7 @@ static int __devinit vt586b_probe(struct pci_dev *dev, const struct pci_device_i
outb(inb(I2C_DIR) & ~(I2C_SDA | I2C_SCL), I2C_DIR); outb(inb(I2C_DIR) & ~(I2C_SDA | I2C_SCL), I2C_DIR);
outb(inb(I2C_OUT) & ~(I2C_SDA | I2C_SCL), I2C_OUT); outb(inb(I2C_OUT) & ~(I2C_SDA | I2C_SCL), I2C_OUT);
/* set up the driverfs linkage to our parent device */ /* set up the sysfs linkage to our parent device */
vt586b_adapter.dev.parent = &dev->dev; vt586b_adapter.dev.parent = &dev->dev;
res = i2c_bit_add_bus(&vt586b_adapter); res = i2c_bit_add_bus(&vt586b_adapter);

View File

@ -383,6 +383,9 @@ config BLK_DEV_OFFBOARD
config BLK_DEV_GENERIC config BLK_DEV_GENERIC
tristate "Generic PCI IDE Chipset Support" tristate "Generic PCI IDE Chipset Support"
depends on BLK_DEV_IDEPCI depends on BLK_DEV_IDEPCI
help
This option provides generic support for various PCI IDE Chipsets
which otherwise might not be supported.
config BLK_DEV_OPTI621 config BLK_DEV_OPTI621
tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"

View File

@ -180,7 +180,7 @@ static int alloc_dma_trm_ctx(struct ti_ohci *ohci, struct dma_trm_ctx *d,
static void ohci1394_pci_remove(struct pci_dev *pdev); static void ohci1394_pci_remove(struct pci_dev *pdev);
#ifndef __LITTLE_ENDIAN #ifndef __LITTLE_ENDIAN
const static size_t hdr_sizes[] = { static const size_t hdr_sizes[] = {
3, /* TCODE_WRITEQ */ 3, /* TCODE_WRITEQ */
4, /* TCODE_WRITEB */ 4, /* TCODE_WRITEB */
3, /* TCODE_WRITE_RESPONSE */ 3, /* TCODE_WRITE_RESPONSE */

View File

@ -1534,7 +1534,7 @@ static int ipath_ht_early_init(struct ipath_devdata *dd)
* @kbase: ipath_base_info pointer * @kbase: ipath_base_info pointer
* *
* We set the PCIE flag because the lower bandwidth on PCIe vs * We set the PCIE flag because the lower bandwidth on PCIe vs
* HyperTransport can affect some user packet algorithims. * HyperTransport can affect some user packet algorithms.
*/ */
static int ipath_ht_get_base_info(struct ipath_portdata *pd, void *kbase) static int ipath_ht_get_base_info(struct ipath_portdata *pd, void *kbase)
{ {

View File

@ -1293,7 +1293,7 @@ int __attribute__((weak)) ipath_unordered_wc(void)
* @kbase: ipath_base_info pointer * @kbase: ipath_base_info pointer
* *
* We set the PCIE flag because the lower bandwidth on PCIe vs * We set the PCIE flag because the lower bandwidth on PCIe vs
* HyperTransport can affect some user packet algorithims. * HyperTransport can affect some user packet algorithms.
*/ */
static int ipath_pe_get_base_info(struct ipath_portdata *pd, void *kbase) static int ipath_pe_get_base_info(struct ipath_portdata *pd, void *kbase)
{ {

View File

@ -97,7 +97,7 @@ EXPORT_SYMBOL(ps2_drain);
int ps2_is_keyboard_id(char id_byte) int ps2_is_keyboard_id(char id_byte)
{ {
const static char keyboard_ids[] = { static const char keyboard_ids[] = {
0xab, /* Regular keyboards */ 0xab, /* Regular keyboards */
0xac, /* NCD Sun keyboard */ 0xac, /* NCD Sun keyboard */
0x2b, /* Trust keyboard, translated */ 0x2b, /* Trust keyboard, translated */

View File

@ -1680,7 +1680,7 @@ static void isdn_ppp_mp_receive(isdn_net_dev * net_dev, isdn_net_local * lp,
* - we hit a gap in the sequence, so no reassembly/processing is * - we hit a gap in the sequence, so no reassembly/processing is
* possible ('start' would be set to NULL) * possible ('start' would be set to NULL)
* *
* algorightm for this code is derived from code in the book * algorithm for this code is derived from code in the book
* 'PPP Design And Debugging' by James Carlson (Addison-Wesley) * 'PPP Design And Debugging' by James Carlson (Addison-Wesley)
*/ */
while (start != NULL || newfrag != NULL) { while (start != NULL || newfrag != NULL) {

View File

@ -915,7 +915,7 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
fetunesettings.parameters.inversion = INVERSION_AUTO; fetunesettings.parameters.inversion = INVERSION_AUTO;
} }
if (fe->ops.info.type == FE_OFDM) { if (fe->ops.info.type == FE_OFDM) {
/* without hierachical coding code_rate_LP is irrelevant, /* without hierarchical coding code_rate_LP is irrelevant,
* so we tolerate the otherwise invalid FEC_NONE setting */ * so we tolerate the otherwise invalid FEC_NONE setting */
if (fepriv->parameters.u.ofdm.hierarchy_information == HIERARCHY_NONE && if (fepriv->parameters.u.ofdm.hierarchy_information == HIERARCHY_NONE &&
fepriv->parameters.u.ofdm.code_rate_LP == FEC_NONE) fepriv->parameters.u.ofdm.code_rate_LP == FEC_NONE)

View File

@ -239,7 +239,7 @@ static int dib3000mb_set_frontend(struct dvb_frontend* fe,
default: default:
return -EINVAL; return -EINVAL;
} }
deb_setf("hierachy: "); deb_setf("hierarchy: ");
switch (ofdm->hierarchy_information) { switch (ofdm->hierarchy_information) {
case HIERARCHY_NONE: case HIERARCHY_NONE:
deb_setf("none "); deb_setf("none ");

View File

@ -158,7 +158,7 @@ static unsigned int pvr2_msp3400_describe(struct pvr2_msp3400_handler *ctxt,
} }
const static struct pvr2_i2c_handler_functions msp3400_funcs = { static const struct pvr2_i2c_handler_functions msp3400_funcs = {
.detach = (void (*)(void *))pvr2_msp3400_detach, .detach = (void (*)(void *))pvr2_msp3400_detach,
.check = (int (*)(void *))msp3400_check, .check = (int (*)(void *))msp3400_check,
.update = (void (*)(void *))msp3400_update, .update = (void (*)(void *))msp3400_update,

View File

@ -226,7 +226,7 @@ static void decoder_reset(struct pvr2_v4l_cx2584x *ctxt)
} }
const static struct pvr2_i2c_handler_functions hfuncs = { static const struct pvr2_i2c_handler_functions hfuncs = {
.detach = (void (*)(void *))decoder_detach, .detach = (void (*)(void *))decoder_detach,
.check = (int (*)(void *))decoder_check, .check = (int (*)(void *))decoder_check,
.update = (void (*)(void *))decoder_update, .update = (void (*)(void *))decoder_update,

View File

@ -78,14 +78,14 @@ struct std_name {
#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM) #define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM)
/* Mapping of standard bits to color system */ /* Mapping of standard bits to color system */
const static struct std_name std_groups[] = { static const struct std_name std_groups[] = {
{"PAL",CSTD_PAL}, {"PAL",CSTD_PAL},
{"NTSC",CSTD_NTSC}, {"NTSC",CSTD_NTSC},
{"SECAM",CSTD_SECAM}, {"SECAM",CSTD_SECAM},
}; };
/* Mapping of standard bits to modulation system */ /* Mapping of standard bits to modulation system */
const static struct std_name std_items[] = { static const struct std_name std_items[] = {
{"B",TSTD_B}, {"B",TSTD_B},
{"B1",TSTD_B1}, {"B1",TSTD_B1},
{"D",TSTD_D}, {"D",TSTD_D},

View File

@ -80,7 +80,7 @@ static unsigned int pvr2_tuner_describe(struct pvr2_tuner_handler *ctxt,char *bu
} }
const static struct pvr2_i2c_handler_functions tuner_funcs = { static const struct pvr2_i2c_handler_functions tuner_funcs = {
.detach = (void (*)(void *))pvr2_tuner_detach, .detach = (void (*)(void *))pvr2_tuner_detach,
.check = (int (*)(void *))tuner_check, .check = (int (*)(void *))tuner_check,
.update = (void (*)(void *))tuner_update, .update = (void (*)(void *))tuner_update,

View File

@ -201,7 +201,7 @@ static unsigned int decoder_describe(struct pvr2_v4l_decoder *ctxt,char *buf,uns
} }
const static struct pvr2_i2c_handler_functions hfuncs = { static const struct pvr2_i2c_handler_functions hfuncs = {
.detach = (void (*)(void *))decoder_detach, .detach = (void (*)(void *))decoder_detach,
.check = (int (*)(void *))decoder_check, .check = (int (*)(void *))decoder_check,
.update = (void (*)(void *))decoder_update, .update = (void (*)(void *))decoder_update,

View File

@ -126,7 +126,7 @@ static void wm8775_update(struct pvr2_v4l_wm8775 *ctxt)
} }
const static struct pvr2_i2c_handler_functions hfuncs = { static const struct pvr2_i2c_handler_functions hfuncs = {
.detach = (void (*)(void *))wm8775_detach, .detach = (void (*)(void *))wm8775_detach,
.check = (int (*)(void *))wm8775_check, .check = (int (*)(void *))wm8775_check,
.update = (void (*)(void *))wm8775_update, .update = (void (*)(void *))wm8775_update,

View File

@ -3253,7 +3253,7 @@ struct e1000_host_command_info {
#define IFE_PMC_AUTO_MDIX 0x0080 /* 1=enable MDI/MDI-X feature, default 0=disabled */ #define IFE_PMC_AUTO_MDIX 0x0080 /* 1=enable MDI/MDI-X feature, default 0=disabled */
#define IFE_PMC_FORCE_MDIX 0x0040 /* 1=force MDIX-X, 0=force MDI */ #define IFE_PMC_FORCE_MDIX 0x0040 /* 1=force MDIX-X, 0=force MDI */
#define IFE_PMC_MDIX_STATUS 0x0020 /* 1=MDI-X, 0=MDI */ #define IFE_PMC_MDIX_STATUS 0x0020 /* 1=MDI-X, 0=MDI */
#define IFE_PMC_AUTO_MDIX_COMPLETE 0x0010 /* Resolution algorthm is completed */ #define IFE_PMC_AUTO_MDIX_COMPLETE 0x0010 /* Resolution algorithm is completed */
#define IFE_PMC_MDIX_MODE_SHIFT 6 #define IFE_PMC_MDIX_MODE_SHIFT 6
#define IFE_PHC_MDIX_RESET_ALL_MASK 0x0000 /* Disable auto MDI-X */ #define IFE_PHC_MDIX_RESET_ALL_MASK 0x0000 /* Disable auto MDI-X */

View File

@ -707,13 +707,6 @@ static int eexp_xmit(struct sk_buff *buf, struct net_device *dev)
return 0; return 0;
} }
/*
* Handle an EtherExpress interrupt
* If we've finished initializing, start the RU and CU up.
* If we've already started, reap tx buffers, handle any received packets,
* check to make sure we've not become wedged.
*/
/* /*
* Handle an EtherExpress interrupt * Handle an EtherExpress interrupt
* If we've finished initializing, start the RU and CU up. * If we've finished initializing, start the RU and CU up.

View File

@ -138,7 +138,7 @@ config BAYCOM_SER_HDX
---help--- ---help---
This is one of two drivers for Baycom style simple amateur radio This is one of two drivers for Baycom style simple amateur radio
modems that connect to a serial interface. The driver supports the modems that connect to a serial interface. The driver supports the
ser12 design in full-duplex mode. This is the old driver. It is ser12 design in half-duplex mode. This is the old driver. It is
still provided in case your serial interface chip does not work with still provided in case your serial interface chip does not work with
the full-duplex driver. This driver is depreciated. To configure the full-duplex driver. This driver is depreciated. To configure
the driver, use the sethdlc utility available in the standard ax25 the driver, use the sethdlc utility available in the standard ax25
@ -190,3 +190,4 @@ config YAM
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called yam. will be called yam.

View File

@ -1168,7 +1168,7 @@ wv_mmc_show(struct net_device * dev)
m.mmr_unused0[6], m.mmr_unused0[6],
m.mmr_unused0[7]); m.mmr_unused0[7]);
#endif /* DEBUG_SHOW_UNUSED */ #endif /* DEBUG_SHOW_UNUSED */
printk(KERN_DEBUG "Encryption algorythm: %02X - Status: %02X\n", printk(KERN_DEBUG "Encryption algorithm: %02X - Status: %02X\n",
m.mmr_des_avail, m.mmr_des_status); m.mmr_des_avail, m.mmr_des_status);
#ifdef DEBUG_SHOW_UNUSED #ifdef DEBUG_SHOW_UNUSED
printk(KERN_DEBUG "mmc_unused1[]: %02X:%02X:%02X:%02X:%02X\n", printk(KERN_DEBUG "mmc_unused1[]: %02X:%02X:%02X:%02X:%02X\n",
@ -3590,9 +3590,9 @@ wv_82593_config(struct net_device * dev)
cfblk.acloc = TRUE; /* Disable source addr insertion by i82593 */ cfblk.acloc = TRUE; /* Disable source addr insertion by i82593 */
cfblk.preamb_len = 0; /* 2 bytes preamble (SFD) */ cfblk.preamb_len = 0; /* 2 bytes preamble (SFD) */
cfblk.loopback = FALSE; cfblk.loopback = FALSE;
cfblk.lin_prio = 0; /* conform to 802.3 backoff algoritm */ cfblk.lin_prio = 0; /* conform to 802.3 backoff algorithm */
cfblk.exp_prio = 5; /* conform to 802.3 backoff algoritm */ cfblk.exp_prio = 5; /* conform to 802.3 backoff algorithm */
cfblk.bof_met = 1; /* conform to 802.3 backoff algoritm */ cfblk.bof_met = 1; /* conform to 802.3 backoff algorithm */
cfblk.ifrm_spc = 0x20 >> 4; /* 32 bit times interframe spacing */ cfblk.ifrm_spc = 0x20 >> 4; /* 32 bit times interframe spacing */
cfblk.slottim_low = 0x20 >> 5; /* 32 bit times slot time */ cfblk.slottim_low = 0x20 >> 5; /* 32 bit times slot time */
cfblk.slottim_hi = 0x0; cfblk.slottim_hi = 0x0;

View File

@ -85,7 +85,7 @@ struct aer_rpc {
struct mutex rpc_mutex; /* struct mutex rpc_mutex; /*
* only one thread could do * only one thread could do
* recovery on the same * recovery on the same
* root port hierachy * root port hierarchy
*/ */
wait_queue_head_t wait_release; wait_queue_head_t wait_release;
}; };

View File

@ -40,8 +40,6 @@
/*====================================================================*/ /*====================================================================*/
#define FIND_FIRST_BIT(n) ((n) - ((n) & ((n)-1)))
/* Offsets in the Expansion ROM Image Header */ /* Offsets in the Expansion ROM Image Header */
#define ROM_SIGNATURE 0x0000 /* 2 bytes */ #define ROM_SIGNATURE 0x0000 /* 2 bytes */
#define ROM_DATA_PTR 0x0018 /* 2 bytes */ #define ROM_DATA_PTR 0x0018 /* 2 bytes */

View File

@ -14,7 +14,7 @@
/* NOTE: It seems to me that the documentation regarding the /* NOTE: It seems to me that the documentation regarding the
pcd8584t/pcf8584 does not show the correct way to address the i2c bus. pcd8584t/pcf8584 does not show the correct way to address the i2c bus.
Based on the information on the I2C bus itself and the remainder of Based on the information on the I2C bus itself and the remainder of
the Phillips docs the following algorithims apper to be correct. I am the Phillips docs the following algorithms appear to be correct. I am
fairly certain that the flowcharts in the phillips docs are wrong. */ fairly certain that the flowcharts in the phillips docs are wrong. */

View File

@ -230,6 +230,7 @@ config SCSI_SCAN_ASYNC
The SCSI subsystem can probe for devices while the rest of the The SCSI subsystem can probe for devices while the rest of the
system continues booting, and even probe devices on different system continues booting, and even probe devices on different
busses in parallel, leading to a significant speed-up. busses in parallel, leading to a significant speed-up.
If you have built SCSI as modules, enabling this option can If you have built SCSI as modules, enabling this option can
be a problem as the devices may not have been found by the be a problem as the devices may not have been found by the
time your system expects them to have been. You can load the time your system expects them to have been. You can load the
@ -237,8 +238,8 @@ config SCSI_SCAN_ASYNC
If you build your SCSI drivers into the kernel, then everything If you build your SCSI drivers into the kernel, then everything
will work fine if you say Y here. will work fine if you say Y here.
You can override this choice by specifying scsi_mod.scan="sync" You can override this choice by specifying "scsi_mod.scan=sync"
or "async" on the kernel's command line. or async on the kernel's command line.
menu "SCSI Transports" menu "SCSI Transports"
depends on SCSI depends on SCSI

View File

@ -1067,7 +1067,7 @@ static int __devinit inia100_probe_one(struct pci_dev *pdev,
goto out_disable_device; goto out_disable_device;
} }
/* <02> read from base address + 0x50 offset to get the bios balue. */ /* <02> read from base address + 0x50 offset to get the bios value. */
bios = ORC_RDWORD(port, 0x50); bios = ORC_RDWORD(port, 0x50);

View File

@ -196,7 +196,7 @@ static void eesoxscsi_buffer_in(void *buf, int length, void __iomem *base)
const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET; const void __iomem *reg_fas = base + EESOX_FAS216_OFFSET;
const void __iomem *reg_dmastat = base + EESOX_DMASTAT; const void __iomem *reg_dmastat = base + EESOX_DMASTAT;
const void __iomem *reg_dmadata = base + EESOX_DMADATA; const void __iomem *reg_dmadata = base + EESOX_DMADATA;
const register unsigned long mask = 0xffff; register const unsigned long mask = 0xffff;
do { do {
unsigned int status; unsigned int status;

View File

@ -5574,14 +5574,14 @@ static ssize_t osst_version_show(struct device_driver *ddd, char *buf)
static DRIVER_ATTR(version, S_IRUGO, osst_version_show, NULL); static DRIVER_ATTR(version, S_IRUGO, osst_version_show, NULL);
static int osst_create_driverfs_files(struct device_driver *driverfs) static int osst_create_sysfs_files(struct device_driver *sysfs)
{ {
return driver_create_file(driverfs, &driver_attr_version); return driver_create_file(sysfs, &driver_attr_version);
} }
static void osst_remove_driverfs_files(struct device_driver *driverfs) static void osst_remove_sysfs_files(struct device_driver *sysfs)
{ {
driver_remove_file(driverfs, &driver_attr_version); driver_remove_file(sysfs, &driver_attr_version);
} }
/* /*
@ -5953,7 +5953,7 @@ static int __init init_osst(void)
if (err) if (err)
goto err_out_chrdev; goto err_out_chrdev;
err = osst_create_driverfs_files(&osst_template.gendrv); err = osst_create_sysfs_files(&osst_template.gendrv);
if (err) if (err)
goto err_out_scsidrv; goto err_out_scsidrv;
@ -5973,7 +5973,7 @@ static void __exit exit_osst (void)
int i; int i;
struct osst_tape * STp; struct osst_tape * STp;
osst_remove_driverfs_files(&osst_template.gendrv); osst_remove_sysfs_files(&osst_template.gendrv);
scsi_unregister_driver(&osst_template.gendrv); scsi_unregister_driver(&osst_template.gendrv);
unregister_chrdev(OSST_MAJOR, "osst"); unregister_chrdev(OSST_MAJOR, "osst");
osst_sysfs_cleanup(); osst_sysfs_cleanup();

View File

@ -54,7 +54,7 @@
#define SCSI_TIMEOUT (2*HZ) #define SCSI_TIMEOUT (2*HZ)
/* /*
* Prefix values for the SCSI id's (stored in driverfs name field) * Prefix values for the SCSI id's (stored in sysfs name field)
*/ */
#define SCSI_UID_SER_NUM 'S' #define SCSI_UID_SER_NUM 'S'
#define SCSI_UID_UNKNOWN 'Z' #define SCSI_UID_UNKNOWN 'Z'

View File

@ -855,7 +855,7 @@ static FC_CLASS_DEVICE_ATTR(rport, fast_io_fail_tmo, S_IRUGO | S_IWUSR,
/* /*
* Note: in the target show function we recognize when the remote * Note: in the target show function we recognize when the remote
* port is in the heirarchy and do not allow the driver to get * port is in the hierarchy and do not allow the driver to get
* involved in sysfs functions. The driver only gets involved if * involved in sysfs functions. The driver only gets involved if
* it's the "old" style that doesn't use rports. * it's the "old" style that doesn't use rports.
*/ */

View File

@ -500,7 +500,7 @@ struct sas_phy *sas_phy_alloc(struct device *parent, int number)
EXPORT_SYMBOL(sas_phy_alloc); EXPORT_SYMBOL(sas_phy_alloc);
/** /**
* sas_phy_add -- add a SAS PHY to the device hierachy * sas_phy_add -- add a SAS PHY to the device hierarchy
* @phy: The PHY to be added * @phy: The PHY to be added
* *
* Publishes a SAS PHY to the rest of the system. * Publishes a SAS PHY to the rest of the system.
@ -1265,7 +1265,7 @@ struct sas_rphy *sas_expander_alloc(struct sas_port *parent,
EXPORT_SYMBOL(sas_expander_alloc); EXPORT_SYMBOL(sas_expander_alloc);
/** /**
* sas_rphy_add -- add a SAS remote PHY to the device hierachy * sas_rphy_add -- add a SAS remote PHY to the device hierarchy
* @rphy: The remote PHY to be added * @rphy: The remote PHY to be added
* *
* Publishes a SAS remote PHY to the rest of the system. * Publishes a SAS remote PHY to the rest of the system.

View File

@ -195,8 +195,8 @@ static int sgl_unmap_user_pages(struct scatterlist *, const unsigned int, int);
static int st_probe(struct device *); static int st_probe(struct device *);
static int st_remove(struct device *); static int st_remove(struct device *);
static int do_create_driverfs_files(void); static int do_create_sysfs_files(void);
static void do_remove_driverfs_files(void); static void do_remove_sysfs_files(void);
static int do_create_class_files(struct scsi_tape *, int, int); static int do_create_class_files(struct scsi_tape *, int, int);
static struct scsi_driver st_template = { static struct scsi_driver st_template = {
@ -4193,7 +4193,7 @@ static int __init init_st(void)
if (err) if (err)
goto err_chrdev; goto err_chrdev;
err = do_create_driverfs_files(); err = do_create_sysfs_files();
if (err) if (err)
goto err_scsidrv; goto err_scsidrv;
@ -4211,7 +4211,7 @@ err_class:
static void __exit exit_st(void) static void __exit exit_st(void)
{ {
do_remove_driverfs_files(); do_remove_sysfs_files();
scsi_unregister_driver(&st_template.gendrv); scsi_unregister_driver(&st_template.gendrv);
unregister_chrdev_region(MKDEV(SCSI_TAPE_MAJOR, 0), unregister_chrdev_region(MKDEV(SCSI_TAPE_MAJOR, 0),
ST_MAX_TAPE_ENTRIES); ST_MAX_TAPE_ENTRIES);
@ -4249,43 +4249,43 @@ static ssize_t st_version_show(struct device_driver *ddd, char *buf)
} }
static DRIVER_ATTR(version, S_IRUGO, st_version_show, NULL); static DRIVER_ATTR(version, S_IRUGO, st_version_show, NULL);
static int do_create_driverfs_files(void) static int do_create_sysfs_files(void)
{ {
struct device_driver *driverfs = &st_template.gendrv; struct device_driver *sysfs = &st_template.gendrv;
int err; int err;
err = driver_create_file(driverfs, &driver_attr_try_direct_io); err = driver_create_file(sysfs, &driver_attr_try_direct_io);
if (err) if (err)
return err; return err;
err = driver_create_file(driverfs, &driver_attr_fixed_buffer_size); err = driver_create_file(sysfs, &driver_attr_fixed_buffer_size);
if (err) if (err)
goto err_try_direct_io; goto err_try_direct_io;
err = driver_create_file(driverfs, &driver_attr_max_sg_segs); err = driver_create_file(sysfs, &driver_attr_max_sg_segs);
if (err) if (err)
goto err_attr_fixed_buf; goto err_attr_fixed_buf;
err = driver_create_file(driverfs, &driver_attr_version); err = driver_create_file(sysfs, &driver_attr_version);
if (err) if (err)
goto err_attr_max_sg; goto err_attr_max_sg;
return 0; return 0;
err_attr_max_sg: err_attr_max_sg:
driver_remove_file(driverfs, &driver_attr_max_sg_segs); driver_remove_file(sysfs, &driver_attr_max_sg_segs);
err_attr_fixed_buf: err_attr_fixed_buf:
driver_remove_file(driverfs, &driver_attr_fixed_buffer_size); driver_remove_file(sysfs, &driver_attr_fixed_buffer_size);
err_try_direct_io: err_try_direct_io:
driver_remove_file(driverfs, &driver_attr_try_direct_io); driver_remove_file(sysfs, &driver_attr_try_direct_io);
return err; return err;
} }
static void do_remove_driverfs_files(void) static void do_remove_sysfs_files(void)
{ {
struct device_driver *driverfs = &st_template.gendrv; struct device_driver *sysfs = &st_template.gendrv;
driver_remove_file(driverfs, &driver_attr_version); driver_remove_file(sysfs, &driver_attr_version);
driver_remove_file(driverfs, &driver_attr_max_sg_segs); driver_remove_file(sysfs, &driver_attr_max_sg_segs);
driver_remove_file(driverfs, &driver_attr_fixed_buffer_size); driver_remove_file(sysfs, &driver_attr_fixed_buffer_size);
driver_remove_file(driverfs, &driver_attr_try_direct_io); driver_remove_file(sysfs, &driver_attr_try_direct_io);
} }

View File

@ -1020,7 +1020,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
* It shall be a tagged command. * It shall be a tagged command.
* Read SIMPLE+TAG. * Read SIMPLE+TAG.
* The C code will deal with errors. * The C code will deal with errors.
* Agressive optimization, is'nt it? :) * Aggressive optimization, isn't it? :)
*/ */
SCR_MOVE_ABS (2) ^ SCR_MSG_IN, SCR_MOVE_ABS (2) ^ SCR_MSG_IN,
HADDR_1 (msgin), HADDR_1 (msgin),
@ -1044,7 +1044,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
RADDR_1 (dsa), RADDR_1 (dsa),
/* /*
* The SIDL still contains the TAG value. * The SIDL still contains the TAG value.
* Agressive optimization, isn't it? :):) * Aggressive optimization, isn't it? :):)
*/ */
SCR_REG_SFBR (sidl, SCR_SHL, 0), SCR_REG_SFBR (sidl, SCR_SHL, 0),
0, 0,

View File

@ -956,7 +956,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
* It shall be a tagged command. * It shall be a tagged command.
* Read SIMPLE+TAG. * Read SIMPLE+TAG.
* The C code will deal with errors. * The C code will deal with errors.
* Agressive optimization, is'nt it? :) * Aggressive optimization, isn't it? :)
*/ */
SCR_MOVE_ABS (2) ^ SCR_MSG_IN, SCR_MOVE_ABS (2) ^ SCR_MSG_IN,
HADDR_1 (msgin), HADDR_1 (msgin),
@ -968,7 +968,7 @@ static struct SYM_FWA_SCR SYM_FWA_SCR = {
offsetof(struct sym_lcb, head.itlq_tbl_sa), offsetof(struct sym_lcb, head.itlq_tbl_sa),
/* /*
* The SIDL still contains the TAG value. * The SIDL still contains the TAG value.
* Agressive optimization, isn't it? :):) * Aggressive optimization, isn't it? :):)
*/ */
SCR_REG_SFBR (sidl, SCR_SHL, 0), SCR_REG_SFBR (sidl, SCR_SHL, 0),
0, 0,

View File

@ -322,7 +322,7 @@ static inline void remove_debug_files (struct ehci_hcd *bus) { }
#else #else
/* troubleshooting help: expose state in driverfs */ /* troubleshooting help: expose state in sysfs */
#define speed_char(info1) ({ char tmp; \ #define speed_char(info1) ({ char tmp; \
switch (info1 & (3 << 12)) { \ switch (info1 & (3 << 12)) { \

View File

@ -1,5 +1,5 @@
The CIFS VFS support for Linux supports many advanced network filesystem The CIFS VFS support for Linux supports many advanced network filesystem
features such as heirarchical dfs like namespace, hardlinks, locking and more. features such as hierarchical dfs like namespace, hardlinks, locking and more.
It was designed to comply with the SNIA CIFS Technical Reference (which It was designed to comply with the SNIA CIFS Technical Reference (which
supersedes the 1992 X/Open SMB Standard) as well as to perform best practice supersedes the 1992 X/Open SMB Standard) as well as to perform best practice
practical interoperability with Windows 2000, Windows XP, Samba and equivalent practical interoperability with Windows 2000, Windows XP, Samba and equivalent

View File

@ -2824,10 +2824,10 @@ GetExtAttrOut:
/* security id for everyone */ /* security id for everyone */
const static struct cifs_sid sid_everyone = static const struct cifs_sid sid_everyone =
{1, 1, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0}}; {1, 1, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0}};
/* group users */ /* group users */
const static struct cifs_sid sid_user = static const struct cifs_sid sid_user =
{1, 2 , {0, 0, 0, 0, 0, 5}, {32, 545, 0, 0}}; {1, 2 , {0, 0, 0, 0, 0, 5}, {32, 545, 0, 0}};
/* Convert CIFS ACL to POSIX form */ /* Convert CIFS ACL to POSIX form */

View File

@ -222,7 +222,7 @@ static int ext4_ext_space_block(struct inode *inode)
size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header))
/ sizeof(struct ext4_extent); / sizeof(struct ext4_extent);
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
if (size > 6) if (size > 6)
size = 6; size = 6;
#endif #endif
@ -235,7 +235,7 @@ static int ext4_ext_space_block_idx(struct inode *inode)
size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) size = (inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header))
/ sizeof(struct ext4_extent_idx); / sizeof(struct ext4_extent_idx);
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
if (size > 5) if (size > 5)
size = 5; size = 5;
#endif #endif
@ -249,7 +249,7 @@ static int ext4_ext_space_root(struct inode *inode)
size = sizeof(EXT4_I(inode)->i_data); size = sizeof(EXT4_I(inode)->i_data);
size -= sizeof(struct ext4_extent_header); size -= sizeof(struct ext4_extent_header);
size /= sizeof(struct ext4_extent); size /= sizeof(struct ext4_extent);
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
if (size > 3) if (size > 3)
size = 3; size = 3;
#endif #endif
@ -263,7 +263,7 @@ static int ext4_ext_space_root_idx(struct inode *inode)
size = sizeof(EXT4_I(inode)->i_data); size = sizeof(EXT4_I(inode)->i_data);
size -= sizeof(struct ext4_extent_header); size -= sizeof(struct ext4_extent_header);
size /= sizeof(struct ext4_extent_idx); size /= sizeof(struct ext4_extent_idx);
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
if (size > 4) if (size > 4)
size = 4; size = 4;
#endif #endif
@ -1118,7 +1118,7 @@ ext4_can_extents_be_merged(struct inode *inode, struct ext4_extent *ex1,
*/ */
if (le16_to_cpu(ex1->ee_len) + le16_to_cpu(ex2->ee_len) > EXT_MAX_LEN) if (le16_to_cpu(ex1->ee_len) + le16_to_cpu(ex2->ee_len) > EXT_MAX_LEN)
return 0; return 0;
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
if (le16_to_cpu(ex1->ee_len) >= 4) if (le16_to_cpu(ex1->ee_len) >= 4)
return 0; return 0;
#endif #endif
@ -1891,8 +1891,8 @@ void ext4_ext_init(struct super_block *sb)
if (test_opt(sb, EXTENTS)) { if (test_opt(sb, EXTENTS)) {
printk("EXT4-fs: file extents enabled"); printk("EXT4-fs: file extents enabled");
#ifdef AGRESSIVE_TEST #ifdef AGGRESSIVE_TEST
printk(", agressive tests"); printk(", aggressive tests");
#endif #endif
#ifdef CHECK_BINSEARCH #ifdef CHECK_BINSEARCH
printk(", check binsearch"); printk(", check binsearch");

View File

@ -440,7 +440,7 @@ static ctl_table nlm_sysctl_root[] = {
}; };
/* /*
* Module (and driverfs) parameters. * Module (and sysfs) parameters.
*/ */
#define param_set_min_max(name, type, which_strtol, min, max) \ #define param_set_min_max(name, type, which_strtol, min, max) \

View File

@ -1098,7 +1098,7 @@ static int ocfs2_rename(struct inode *old_dir,
BUG(); BUG();
} }
/* Assume a directory heirarchy thusly: /* Assume a directory hierarchy thusly:
* a/b/c * a/b/c
* a/d * a/d
* a,b,c, and d are all directories. * a,b,c, and d are all directories.

View File

@ -109,7 +109,7 @@ extern int __get_user_4(void *);
#define get_user(x,p) \ #define get_user(x,p) \
({ \ ({ \
const register typeof(*(p)) __user *__p asm("r0") = (p);\ register const typeof(*(p)) __user *__p asm("r0") = (p);\
register unsigned long __r2 asm("r2"); \ register unsigned long __r2 asm("r2"); \
register int __e asm("r0"); \ register int __e asm("r0"); \
switch (sizeof(*(__p))) { \ switch (sizeof(*(__p))) { \
@ -143,8 +143,8 @@ extern int __put_user_8(void *, unsigned long long);
#define put_user(x,p) \ #define put_user(x,p) \
({ \ ({ \
const register typeof(*(p)) __r2 asm("r2") = (x); \ register const typeof(*(p)) __r2 asm("r2") = (x); \
const register typeof(*(p)) __user *__p asm("r0") = (p);\ register const typeof(*(p)) __user *__p asm("r0") = (p);\
register int __e asm("r0"); \ register int __e asm("r0"); \
switch (sizeof(*(__p))) { \ switch (sizeof(*(__p))) { \
case 1: \ case 1: \

View File

@ -74,7 +74,7 @@ extern int __get_user_bad(void);
#define get_user(x,p) \ #define get_user(x,p) \
({ \ ({ \
const register typeof(*(p)) *__p asm("r0") = (p); \ register const typeof(*(p)) *__p asm("r0") = (p); \
register typeof(*(p)) __r1 asm("r1"); \ register typeof(*(p)) __r1 asm("r1"); \
register int __e asm("r0"); \ register int __e asm("r0"); \
switch (sizeof(*(p))) { \ switch (sizeof(*(p))) { \
@ -139,8 +139,8 @@ extern int __put_user_bad(void);
#define put_user(x,p) \ #define put_user(x,p) \
({ \ ({ \
const register typeof(*(p)) __r1 asm("r1") = (x); \ register const typeof(*(p)) __r1 asm("r1") = (x); \
const register typeof(*(p)) *__p asm("r0") = (p); \ register const typeof(*(p)) *__p asm("r0") = (p); \
register int __e asm("r0"); \ register int __e asm("r0"); \
switch (sizeof(*(__p))) { \ switch (sizeof(*(__p))) { \
case 1: \ case 1: \
@ -170,8 +170,8 @@ extern int __put_user_bad(void);
#define put_user(x,p) \ #define put_user(x,p) \
({ \ ({ \
const register typeof(*(p)) __r1 asm("r1") = (x); \ register const typeof(*(p)) __r1 asm("r1") = (x); \
const register typeof(*(p)) *__p asm("r0") = (p); \ register const typeof(*(p)) *__p asm("r0") = (p); \
register int __e asm("r0"); \ register int __e asm("r0"); \
switch (sizeof(*(p))) { \ switch (sizeof(*(p))) { \
case 1: \ case 1: \

View File

@ -23,7 +23,7 @@
extern struct kimage *ia64_kimage; extern struct kimage *ia64_kimage;
DECLARE_PER_CPU(u64, ia64_mca_pal_base); DECLARE_PER_CPU(u64, ia64_mca_pal_base);
const extern unsigned int relocate_new_kernel_size; extern const unsigned int relocate_new_kernel_size;
extern void relocate_new_kernel(unsigned long, unsigned long, extern void relocate_new_kernel(unsigned long, unsigned long,
struct ia64_boot_param *, unsigned long); struct ia64_boot_param *, unsigned long);
static inline void static inline void

View File

@ -32,7 +32,7 @@
#define PAL_CACHE_FLUSH 1 /* flush i/d cache */ #define PAL_CACHE_FLUSH 1 /* flush i/d cache */
#define PAL_CACHE_INFO 2 /* get detailed i/d cache info */ #define PAL_CACHE_INFO 2 /* get detailed i/d cache info */
#define PAL_CACHE_INIT 3 /* initialize i/d cache */ #define PAL_CACHE_INIT 3 /* initialize i/d cache */
#define PAL_CACHE_SUMMARY 4 /* get summary of cache heirarchy */ #define PAL_CACHE_SUMMARY 4 /* get summary of cache hierarchy */
#define PAL_MEM_ATTRIB 5 /* list supported memory attributes */ #define PAL_MEM_ATTRIB 5 /* list supported memory attributes */
#define PAL_PTCE_INFO 6 /* purge TLB info */ #define PAL_PTCE_INFO 6 /* purge TLB info */
#define PAL_VM_INFO 7 /* return supported virtual memory features */ #define PAL_VM_INFO 7 /* return supported virtual memory features */
@ -113,14 +113,14 @@ typedef s64 pal_status_t;
*/ */
#define PAL_STATUS_REQUIRES_MEMORY (-9) /* Call requires PAL memory buffer */ #define PAL_STATUS_REQUIRES_MEMORY (-9) /* Call requires PAL memory buffer */
/* Processor cache level in the heirarchy */ /* Processor cache level in the hierarchy */
typedef u64 pal_cache_level_t; typedef u64 pal_cache_level_t;
#define PAL_CACHE_LEVEL_L0 0 /* L0 */ #define PAL_CACHE_LEVEL_L0 0 /* L0 */
#define PAL_CACHE_LEVEL_L1 1 /* L1 */ #define PAL_CACHE_LEVEL_L1 1 /* L1 */
#define PAL_CACHE_LEVEL_L2 2 /* L2 */ #define PAL_CACHE_LEVEL_L2 2 /* L2 */
/* Processor cache type at a particular level in the heirarchy */ /* Processor cache type at a particular level in the hierarchy */
typedef u64 pal_cache_type_t; typedef u64 pal_cache_type_t;
#define PAL_CACHE_TYPE_INSTRUCTION 1 /* Instruction cache */ #define PAL_CACHE_TYPE_INSTRUCTION 1 /* Instruction cache */
@ -272,14 +272,14 @@ typedef struct pal_cache_protection_info_s {
#define PAL_CACHE_PROT_METHOD_ECC 3 /* ECC protection */ #define PAL_CACHE_PROT_METHOD_ECC 3 /* ECC protection */
/* Processor cache line identification in the heirarchy */ /* Processor cache line identification in the hierarchy */
typedef union pal_cache_line_id_u { typedef union pal_cache_line_id_u {
u64 pclid_data; u64 pclid_data;
struct { struct {
u64 cache_type : 8, /* 7-0 cache type */ u64 cache_type : 8, /* 7-0 cache type */
level : 8, /* 15-8 level of the level : 8, /* 15-8 level of the
* cache in the * cache in the
* heirarchy. * hierarchy.
*/ */
way : 8, /* 23-16 way in the set way : 8, /* 23-16 way in the set
*/ */
@ -292,7 +292,7 @@ typedef union pal_cache_line_id_u {
u64 cache_type : 8, /* 7-0 cache type */ u64 cache_type : 8, /* 7-0 cache type */
level : 8, /* 15-8 level of the level : 8, /* 15-8 level of the
* cache in the * cache in the
* heirarchy. * hierarchy.
*/ */
way : 8, /* 23-16 way in the set way : 8, /* 23-16 way in the set
*/ */
@ -978,7 +978,7 @@ ia64_pal_cache_read (pal_cache_line_id_u_t line_id, u64 physical_addr)
return iprv.status; return iprv.status;
} }
/* Return summary information about the heirarchy of caches controlled by the processor */ /* Return summary information about the hierarchy of caches controlled by the processor */
static inline s64 static inline s64
ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches) ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches)
{ {

View File

@ -102,7 +102,7 @@ extern int bus_unregister_notifier(struct bus_type *bus,
#define BUS_NOTIFY_UNBIND_DRIVER 0x00000004 /* driver about to be #define BUS_NOTIFY_UNBIND_DRIVER 0x00000004 /* driver about to be
unbound */ unbound */
/* driverfs interface for exporting bus attributes */ /* sysfs interface for exporting bus attributes */
struct bus_attribute { struct bus_attribute {
struct attribute attr; struct attribute attr;
@ -147,7 +147,7 @@ extern void put_driver(struct device_driver * drv);
extern struct device_driver *driver_find(const char *name, struct bus_type *bus); extern struct device_driver *driver_find(const char *name, struct bus_type *bus);
extern int driver_probe_done(void); extern int driver_probe_done(void);
/* driverfs interface for exporting driver attributes */ /* sysfs interface for exporting driver attributes */
struct driver_attribute { struct driver_attribute {
struct attribute attr; struct attribute attr;

View File

@ -22,12 +22,12 @@
#include <linux/ext4_fs.h> #include <linux/ext4_fs.h>
/* /*
* With AGRESSIVE_TEST defined, the capacity of index/leaf blocks * With AGGRESSIVE_TEST defined, the capacity of index/leaf blocks
* becomes very small, so index split, in-depth growing and * becomes very small, so index split, in-depth growing and
* other hard changes happen much more often. * other hard changes happen much more often.
* This is for debug purposes only. * This is for debug purposes only.
*/ */
#define AGRESSIVE_TEST_ #define AGGRESSIVE_TEST_
/* /*
* With EXTENTS_STATS defined, the number of blocks and extents * With EXTENTS_STATS defined, the number of blocks and extents

View File

@ -152,7 +152,7 @@ unsigned long __roundup_pow_of_two(unsigned long n)
* roundup_pow_of_two - round the given value up to nearest power of two * roundup_pow_of_two - round the given value up to nearest power of two
* @n - parameter * @n - parameter
* *
* round the given balue up to the nearest power of two * round the given value up to the nearest power of two
* - the result is undefined when n == 0 * - the result is undefined when n == 0
* - this can be used to initialise global variables from constant data * - this can be used to initialise global variables from constant data
*/ */

View File

@ -59,7 +59,7 @@ struct kparam_array
}; };
/* This is the fundamental function for registering boot/module /* This is the fundamental function for registering boot/module
parameters. perm sets the visibility in driverfs: 000 means it's parameters. perm sets the visibility in sysfs: 000 means it's
not there, read bits mean it's readable, write bits mean it's not there, read bits mean it's readable, write bits mean it's
writable. */ writable. */
#define __module_param_call(prefix, name, set, get, arg, perm) \ #define __module_param_call(prefix, name, set, get, arg, perm) \

View File

@ -2,7 +2,7 @@
#define __LINUX_SEQLOCK_H #define __LINUX_SEQLOCK_H
/* /*
* Reader/writer consistent mechanism without starving writers. This type of * Reader/writer consistent mechanism without starving writers. This type of
* lock for data where the reader wants a consitent set of information * lock for data where the reader wants a consistent set of information
* and is willing to retry if the information changes. Readers never * and is willing to retry if the information changes. Readers never
* block but they may have to retry if a writer is in * block but they may have to retry if a writer is in
* progress. Writers do not wait for readers. * progress. Writers do not wait for readers.

View File

@ -54,7 +54,7 @@ int console_printk[4] = {
}; };
/* /*
* Low lever drivers may need that to know if they can schedule in * Low level drivers may need that to know if they can schedule in
* their unblank() callback or not. So let's export it. * their unblank() callback or not. So let's export it.
*/ */
int oops_in_progress; int oops_in_progress;

View File

@ -40,7 +40,7 @@
* configuration according to the specified parameters. * configuration according to the specified parameters.
* (3) User starts the search(es) by calling _find() or _next() to * (3) User starts the search(es) by calling _find() or _next() to
* fetch subsequent occurrences. A state variable is provided * fetch subsequent occurrences. A state variable is provided
* to the algorihtm to store persistent variables. * to the algorithm to store persistent variables.
* (4) Core eventually resets the search offset and forwards the find() * (4) Core eventually resets the search offset and forwards the find()
* request to the algorithm. * request to the algorithm.
* (5) Algorithm calls get_next_block() provided by the user continously * (5) Algorithm calls get_next_block() provided by the user continously

View File

@ -9,7 +9,7 @@ config IP_MULTICAST
intend to participate in the MBONE, a high bandwidth network on top intend to participate in the MBONE, a high bandwidth network on top
of the Internet which carries audio and video broadcasts. More of the Internet which carries audio and video broadcasts. More
information about the MBONE is on the WWW at information about the MBONE is on the WWW at
<http://www-itg.lbl.gov/mbone/>. Information about the multicast <http://www.savetz.com/mbone/>. Information about the multicast
capabilities of the various network cards is contained in capabilities of the various network cards is contained in
<file:Documentation/networking/multicast.txt>. For most people, it's <file:Documentation/networking/multicast.txt>. For most people, it's
safe to say N. safe to say N.

View File

@ -29,7 +29,7 @@ static struct tcp_congestion_ops *tcp_ca_find(const char *name)
} }
/* /*
* Attach new congestion control algorthim to the list * Attach new congestion control algorithm to the list
* of available options. * of available options.
*/ */
int tcp_register_congestion_control(struct tcp_congestion_ops *ca) int tcp_register_congestion_control(struct tcp_congestion_ops *ca)