mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
Pull trivial updates from Jiri Kosina: "As usual, it's mostly typo fixes, redundant code elimination and some documentation updates." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits) edac, mips: don't change code that has been removed in edac/mips tree xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer lib: Change mail address of Oskar Schirmer net: Change mail address of Oskar Schirmer arm/m68k: Change mail address of Sebastian Hess i2c: Change mail address of Oskar Schirmer net: Fix tcp_build_and_update_options comment in struct tcp_sock atomic64_32.h: fix parameter naming mismatch Kconfig: replace "--- help ---" with "---help---" c2port: fix bogus Kconfig "default no" edac: Fix spelling errors. qla1280: Remove redundant NULL check before release_firmware() call remoteproc: remove redundant NULL check before release_firmware() qla2xxx: Remove redundant NULL check before release_firmware() call. aic94xx: Get rid of redundant NULL check before release_firmware() call tehuti: delete redundant NULL check before release_firmware() qlogic: get rid of a redundant test for NULL before call to release_firmware() bna: remove redundant NULL test before release_firmware() tg3: remove redundant NULL test before release_firmware() call typhoon: get rid of redundant conditional before all to release_firmware() ...
This commit is contained in:
commit
e8650a0823
4
CREDITS
4
CREDITS
@ -3814,8 +3814,8 @@ D: INFO-SHEET, former maintainer
|
||||
D: Author of the longest-living linux bug
|
||||
|
||||
N: Jonathan Woithe
|
||||
E: jwoithe@physics.adelaide.edu.au
|
||||
W: http://www.physics.adelaide.edu.au/~jwoithe
|
||||
E: jwoithe@just42.net
|
||||
W: http:/www.just42.net/jwoithe
|
||||
D: ALS-007 sound card extensions to Sound Blaster driver
|
||||
S: 20 Jordan St
|
||||
S: Valley View, SA 5093
|
||||
|
@ -204,7 +204,7 @@ Contact: Matthew Garrett <mjg@redhat.com>
|
||||
Description:
|
||||
Some information about whether a given USB device is
|
||||
physically fixed to the platform can be inferred from a
|
||||
combination of hub decriptor bits and platform-specific data
|
||||
combination of hub descriptor bits and platform-specific data
|
||||
such as ACPI. This file will read either "removable" or
|
||||
"fixed" if the information is available, and "unknown"
|
||||
otherwise.
|
||||
otherwise.
|
||||
|
@ -1289,7 +1289,7 @@ static struct block_device_operations opt_fops = {
|
||||
* Sparc assembly will do this to ya.
|
||||
*/
|
||||
C_LABEL(cputypvar):
|
||||
.asciz "compatability"
|
||||
.asciz "compatibility"
|
||||
|
||||
/* Tested on SS-5, SS-10. Probably someone at Sun applied a spell-checker. */
|
||||
.align 4
|
||||
|
@ -918,7 +918,7 @@ and other resources, etc.
|
||||
<title>HSM violation</title>
|
||||
<para>
|
||||
This error is indicated when STATUS value doesn't match HSM
|
||||
requirement during issuing or excution any ATA/ATAPI command.
|
||||
requirement during issuing or execution any ATA/ATAPI command.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
@ -2023,7 +2023,7 @@ Possible values are:</entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
|
||||
refreshed every frame. Each frame a succesive set of macroblocks is refreshed until the cycle completes and starts from the
|
||||
refreshed every frame. Each frame a successive set of macroblocks is refreshed until the cycle completes and starts from the
|
||||
top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
|
||||
</row>
|
||||
|
||||
@ -2183,7 +2183,7 @@ Applicable to the MPEG4 and H264 encoders.</entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
|
||||
The VBV is defined in the standard as a mean to verify that the produced stream will be succesfully decoded.
|
||||
The VBV is defined in the standard as a mean to verify that the produced stream will be successfully decoded.
|
||||
The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
|
||||
output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
|
||||
encoder or editing process may produce.".
|
||||
@ -2196,7 +2196,7 @@ Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
|
||||
The CPB is defined in the H264 standard as a mean to verify that the produced stream will be succesfully decoded.
|
||||
The CPB is defined in the H264 standard as a mean to verify that the produced stream will be successfully decoded.
|
||||
Applicable to the H264 encoder.</entry>
|
||||
</row>
|
||||
|
||||
|
@ -53,7 +53,7 @@
|
||||
|
||||
3. But there are some exceptions
|
||||
- Kernel permit the identical GPIO be requested both as GPIO and GPIO
|
||||
interrut.
|
||||
interrupt.
|
||||
Some drivers, like gpio-keys, need this behavior. Kernel only print out
|
||||
warning messages like,
|
||||
bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are
|
||||
|
@ -1,4 +1,4 @@
|
||||
Flexcan CAN contoller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
|
||||
Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
|
||||
|
||||
Required properties:
|
||||
|
||||
|
@ -8,7 +8,7 @@ from the windriver disk into this directory.
|
||||
|
||||
Then run
|
||||
|
||||
./get_dvb_firware opera1
|
||||
./get_dvb_firmware opera1
|
||||
|
||||
and after that you have 2 files:
|
||||
|
||||
@ -24,4 +24,4 @@ After that the driver can load the firmware
|
||||
in kernel config and have hotplug running).
|
||||
|
||||
|
||||
Marco Gittler <g.marco@freenet.de>
|
||||
Marco Gittler <g.marco@freenet.de>
|
||||
|
@ -734,7 +734,7 @@ were done at i7core_edac driver. This chapter will cover those differences
|
||||
associated with a physical CPU socket.
|
||||
|
||||
Each MC have 3 physical read channels, 3 physical write channels and
|
||||
3 logic channels. The driver currenty sees it as just 3 channels.
|
||||
3 logic channels. The driver currently sees it as just 3 channels.
|
||||
Each channel can have up to 3 DIMMs.
|
||||
|
||||
The minimum known unity is DIMMs. There are no information about csrows.
|
||||
|
@ -93,7 +93,7 @@ The API to the login script is as follows:
|
||||
(allways exists)
|
||||
(More protocols can be defined in the future.
|
||||
The client does not interpret this string it is
|
||||
passed unchanged as recieved from the Server)
|
||||
passed unchanged as received from the Server)
|
||||
-o osdname of the requested target OSD
|
||||
(Might be empty)
|
||||
(A string which denotes the OSD name, there is a
|
||||
|
@ -17,7 +17,7 @@ concepts of blocks, inodes and directories.
|
||||
On QNX it is possible to create little endian and big endian qnx6 filesystems.
|
||||
This feature makes it possible to create and use a different endianness fs
|
||||
for the target (QNX is used on quite a range of embedded systems) plattform
|
||||
running on a different endianess.
|
||||
running on a different endianness.
|
||||
The Linux driver handles endianness transparently. (LE and BE)
|
||||
|
||||
Blocks
|
||||
@ -26,7 +26,7 @@ Blocks
|
||||
The space in the device or file is split up into blocks. These are a fixed
|
||||
size of 512, 1024, 2048 or 4096, which is decided when the filesystem is
|
||||
created.
|
||||
Blockpointers are 32bit, so the maximum space that can be adressed is
|
||||
Blockpointers are 32bit, so the maximum space that can be addressed is
|
||||
2^32 * 4096 bytes or 16TB
|
||||
|
||||
The superblocks
|
||||
@ -47,16 +47,16 @@ inactive superblock.
|
||||
Each superblock holds a set of root inodes for the different filesystem
|
||||
parts. (Inode, Bitmap and Longfilenames)
|
||||
Each of these root nodes holds information like total size of the stored
|
||||
data and the adressing levels in that specific tree.
|
||||
If the level value is 0, up to 16 direct blocks can be adressed by each
|
||||
data and the addressing levels in that specific tree.
|
||||
If the level value is 0, up to 16 direct blocks can be addressed by each
|
||||
node.
|
||||
Level 1 adds an additional indirect adressing level where each indirect
|
||||
adressing block holds up to blocksize / 4 bytes pointers to data blocks.
|
||||
Level 2 adds an additional indirect adressig block level (so, already up
|
||||
to 16 * 256 * 256 = 1048576 blocks that can be adressed by such a tree)a
|
||||
Level 1 adds an additional indirect addressing level where each indirect
|
||||
addressing block holds up to blocksize / 4 bytes pointers to data blocks.
|
||||
Level 2 adds an additional indirect addressing block level (so, already up
|
||||
to 16 * 256 * 256 = 1048576 blocks that can be addressed by such a tree).
|
||||
|
||||
Unused block pointers are always set to ~0 - regardless of root node,
|
||||
indirect adressing blocks or inodes.
|
||||
indirect addressing blocks or inodes.
|
||||
Data leaves are always on the lowest level. So no data is stored on upper
|
||||
tree levels.
|
||||
|
||||
@ -64,7 +64,7 @@ The first Superblock is located at 0x2000. (0x2000 is the bootblock size)
|
||||
The Audi MMI 3G first superblock directly starts at byte 0.
|
||||
Second superblock position can either be calculated from the superblock
|
||||
information (total number of filesystem blocks) or by taking the highest
|
||||
device address, zeroing the last 3 bytes and then substracting 0x1000 from
|
||||
device address, zeroing the last 3 bytes and then subtracting 0x1000 from
|
||||
that address.
|
||||
|
||||
0x1000 is the size reserved for each superblock - regardless of the
|
||||
@ -83,8 +83,8 @@ size, number of blocks used, access time, change time and modification time.
|
||||
Object mode field is POSIX format. (which makes things easier)
|
||||
|
||||
There are also pointers to the first 16 blocks, if the object data can be
|
||||
adressed with 16 direct blocks.
|
||||
For more than 16 blocks an indirect adressing in form of another tree is
|
||||
addressed with 16 direct blocks.
|
||||
For more than 16 blocks an indirect addressing in form of another tree is
|
||||
used. (scheme is the same as the one used for the superblock root nodes)
|
||||
|
||||
The filesize is stored 64bit. Inode counting starts with 1. (whilst long
|
||||
@ -118,13 +118,13 @@ no block pointers and the directory file record pointing to the target file
|
||||
inode.
|
||||
|
||||
Character and block special devices do not exist in QNX as those files
|
||||
are handled by the QNX kernel/drivers and created in /dev independant of the
|
||||
are handled by the QNX kernel/drivers and created in /dev independent of the
|
||||
underlaying filesystem.
|
||||
|
||||
Long filenames
|
||||
--------------
|
||||
|
||||
Long filenames are stored in a seperate adressing tree. The staring point
|
||||
Long filenames are stored in a separate addressing tree. The staring point
|
||||
is the longfilename root node in the active superblock.
|
||||
Each data block (tree leaves) holds one long filename. That filename is
|
||||
limited to 510 bytes. The first two starting bytes are used as length field
|
||||
|
@ -63,7 +63,7 @@ Module Parameters
|
||||
Hardware Interfaces
|
||||
-------------------
|
||||
|
||||
All the chips suported by this driver are LPC Super-I/O chips, accessed
|
||||
All the chips supported by this driver are LPC Super-I/O chips, accessed
|
||||
through the LPC bus (ISA-like I/O ports). The IT8712F additionally has an
|
||||
SMBus interface to the hardware monitoring functions. This driver no
|
||||
longer supports this interface though, as it is slower and less reliable
|
||||
|
@ -22,7 +22,7 @@ reporting of all the input values but does not provide any alarms.
|
||||
Voltage Monitoring
|
||||
------------------
|
||||
|
||||
Voltages are sampled by a 12 bit ADC. Voltages in milivolts are 1.465
|
||||
Voltages are sampled by a 12 bit ADC. Voltages in millivolts are 1.465
|
||||
times the ADC value.
|
||||
|
||||
Temperature Monitoring
|
||||
|
@ -341,7 +341,7 @@ Need more implementation yet....
|
||||
--------------------------------
|
||||
8. Memory hotplug event notifier
|
||||
--------------------------------
|
||||
Memory hotplug has event notifer. There are 6 types of notification.
|
||||
Memory hotplug has event notifier. There are 6 types of notification.
|
||||
|
||||
MEMORY_GOING_ONLINE
|
||||
Generated before new memory becomes available in order to be able to
|
||||
|
@ -649,7 +649,7 @@ solution for a couple of reasons:
|
||||
The CAN device must be configured via netlink interface. The supported
|
||||
netlink message types are defined and briefly described in
|
||||
"include/linux/can/netlink.h". CAN link support for the program "ip"
|
||||
of the IPROUTE2 utility suite is avaiable and it can be used as shown
|
||||
of the IPROUTE2 utility suite is available and it can be used as shown
|
||||
below:
|
||||
|
||||
- Setting CAN device properties:
|
||||
|
@ -34,6 +34,6 @@ registers interruption handlers read to find out where the machine
|
||||
was interrupted - so if you get an interruption between the instruction
|
||||
that clears the Q bit and the RFI that sets it again you don't know
|
||||
where exactly it happened. If you're lucky the IAOQ will point to the
|
||||
instrucion that cleared the Q bit, if you're not it points anywhere
|
||||
instruction that cleared the Q bit, if you're not it points anywhere
|
||||
at all. Usually Q bit problems will show themselves in unexplainable
|
||||
system hangs or running off the end of physical memory.
|
||||
|
@ -18,7 +18,7 @@ processing. Support for such hardware has not been very good in Linux,
|
||||
mostly because of a lack of a generic API available in the mainline
|
||||
kernel.
|
||||
|
||||
Rather than requiring a compability break with an API change of the
|
||||
Rather than requiring a compatibility break with an API change of the
|
||||
ALSA PCM interface, a new 'Compressed Data' API is introduced to
|
||||
provide a control and data-streaming interface for audio DSPs.
|
||||
|
||||
|
@ -57,10 +57,10 @@ The resulting sound driver will provide the following capabilities:
|
||||
DSP/PCM/audio out (L&R), FM (L&R) and Mic in (mono).
|
||||
|
||||
Jonathan Woithe
|
||||
jwoithe@physics.adelaide.edu.au
|
||||
jwoithe@just42.net
|
||||
30 March 1998
|
||||
|
||||
Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200
|
||||
Modified 2000-04-10 by Paul Laufer, pelaufer@csupomona.edu to add ISAPnP info.
|
||||
Modified 2000-11-19 by Jonathan Woithe, jwoithe@physics.adelaide.edu.au
|
||||
Modified 2000-11-19 by Jonathan Woithe, jwoithe@just42.net
|
||||
- updated information for kernel 2.4.x.
|
||||
|
@ -235,7 +235,7 @@ label case adds:
|
||||
6 (mov) + 2 (test) + 2 (jne) = 10 - 5 (5 byte jump 0) = 5 addition bytes.
|
||||
|
||||
If we then include the padding bytes, the jump label code saves, 16 total bytes
|
||||
of instruction memory for this small fucntion. In this case the non-jump label
|
||||
of instruction memory for this small function. In this case the non-jump label
|
||||
function is 80 bytes long. Thus, we have have saved 20% of the instruction
|
||||
footprint. We can in fact improve this even further, since the 5-byte no-op
|
||||
really can be a 2-byte no-op since we can reach the branch with a 2-byte jmp.
|
||||
|
@ -28,7 +28,7 @@ Please pick something while reading :)
|
||||
none
|
||||
|
||||
- primary handler of the EP-interrupt
|
||||
reads the event and tries to process it. Everything that requries
|
||||
reads the event and tries to process it. Everything that requires
|
||||
sleeping is handed over to the Thread. The event is saved in an
|
||||
per-endpoint data-structure.
|
||||
We probably have to pay attention not to process events once we
|
||||
|
@ -36,7 +36,7 @@ COMMAND/ARGS are
|
||||
|
||||
get-cdid DEVICE
|
||||
|
||||
Get the device ID associated to the HOST-CHDI we sent with
|
||||
Get the device ID associated to the HOST-CHID we sent with
|
||||
'set-chid'. We might not know about it.
|
||||
|
||||
set-cc DEVICE
|
||||
|
@ -12,7 +12,7 @@ gqcam application to view this stream.
|
||||
The driver is implemented as two kernel modules. The cpia2 module
|
||||
contains the camera functions and the V4L interface. The cpia2_usb module
|
||||
contains usb specific functions. The main reason for this was the size of the
|
||||
module was getting out of hand, so I separted them. It is not likely that
|
||||
module was getting out of hand, so I separated them. It is not likely that
|
||||
there will be a parallel port version.
|
||||
|
||||
FEATURES:
|
||||
|
@ -2912,7 +2912,7 @@ S: Maintained
|
||||
F: arch/frv/
|
||||
|
||||
FUJITSU LAPTOP EXTRAS
|
||||
M: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
|
||||
M: Jonathan Woithe <jwoithe@just42.net>
|
||||
L: platform-driver-x86@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/platform/x86/fujitsu-laptop.c
|
||||
|
12
Makefile
12
Makefile
@ -400,8 +400,10 @@ export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_ve
|
||||
|
||||
# Files to ignore in find ... statements
|
||||
|
||||
RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
|
||||
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git
|
||||
RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
|
||||
-o -name .pc -o -name .hg -o -name .git \) -prune -o
|
||||
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
|
||||
--exclude CVS --exclude .pc --exclude .hg --exclude .git
|
||||
|
||||
# ===========================================================================
|
||||
# Rules shared between *config targets and build targets
|
||||
@ -966,7 +968,7 @@ prepare3: include/config/kernel.release
|
||||
ifneq ($(KBUILD_SRC),)
|
||||
@$(kecho) ' Using $(srctree) as source for kernel'
|
||||
$(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
|
||||
echo " $(srctree) is not clean, please run 'make mrproper'";\
|
||||
echo " $(srctree) is not clean, please run 'make mrproper'"; \
|
||||
echo " in the '$(srctree)' directory.";\
|
||||
/bin/false; \
|
||||
fi;
|
||||
@ -1003,8 +1005,8 @@ define filechk_utsrelease.h
|
||||
endef
|
||||
|
||||
define filechk_version.h
|
||||
(echo \#define LINUX_VERSION_CODE $(shell \
|
||||
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
|
||||
(echo \#define LINUX_VERSION_CODE $(shell \
|
||||
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
|
||||
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
|
||||
endef
|
||||
|
||||
|
222
README
222
README
@ -1,4 +1,4 @@
|
||||
Linux kernel release 3.x <http://kernel.org/>
|
||||
Linux kernel release 3.x <http://kernel.org/>
|
||||
|
||||
These are the release notes for Linux version 3. Read them carefully,
|
||||
as they tell you what this is all about, explain how to install the
|
||||
@ -62,13 +62,13 @@ INSTALLING the kernel source:
|
||||
directory where you have permissions (eg. your home directory) and
|
||||
unpack it:
|
||||
|
||||
gzip -cd linux-3.X.tar.gz | tar xvf -
|
||||
gzip -cd linux-3.X.tar.gz | tar xvf -
|
||||
|
||||
or
|
||||
bzip2 -dc linux-3.X.tar.bz2 | tar xvf -
|
||||
|
||||
bzip2 -dc linux-3.X.tar.bz2 | tar xvf -
|
||||
|
||||
Replace "XX" with the version number of the latest kernel.
|
||||
Replace "X" with the version number of the latest kernel.
|
||||
|
||||
Do NOT use the /usr/src/linux area! This area has a (usually
|
||||
incomplete) set of kernel headers that are used by the library header
|
||||
@ -78,49 +78,43 @@ INSTALLING the kernel source:
|
||||
- You can also upgrade between 3.x releases by patching. Patches are
|
||||
distributed in the traditional gzip and the newer bzip2 format. To
|
||||
install by patching, get all the newer patch files, enter the
|
||||
top level directory of the kernel source (linux-3.x) and execute:
|
||||
top level directory of the kernel source (linux-3.X) and execute:
|
||||
|
||||
gzip -cd ../patch-3.x.gz | patch -p1
|
||||
gzip -cd ../patch-3.x.gz | patch -p1
|
||||
|
||||
or
|
||||
bzip2 -dc ../patch-3.x.bz2 | patch -p1
|
||||
|
||||
(repeat xx for all versions bigger than the version of your current
|
||||
source tree, _in_order_) and you should be ok. You may want to remove
|
||||
the backup files (xxx~ or xxx.orig), and make sure that there are no
|
||||
failed patches (xxx# or xxx.rej). If there are, either you or me has
|
||||
made a mistake.
|
||||
bzip2 -dc ../patch-3.x.bz2 | patch -p1
|
||||
|
||||
Replace "x" for all versions bigger than the version "X" of your current
|
||||
source tree, _in_order_, and you should be ok. You may want to remove
|
||||
the backup files (some-file-name~ or some-file-name.orig), and make sure
|
||||
that there are no failed patches (some-file-name# or some-file-name.rej).
|
||||
If there are, either you or I have made a mistake.
|
||||
|
||||
Unlike patches for the 3.x kernels, patches for the 3.x.y kernels
|
||||
(also known as the -stable kernels) are not incremental but instead apply
|
||||
directly to the base 3.x kernel. Please read
|
||||
Documentation/applying-patches.txt for more information.
|
||||
directly to the base 3.x kernel. For example, if your base kernel is 3.0
|
||||
and you want to apply the 3.0.3 patch, you must not first apply the 3.0.1
|
||||
and 3.0.2 patches. Similarly, if you are running kernel version 3.0.2 and
|
||||
want to jump to 3.0.3, you must first reverse the 3.0.2 patch (that is,
|
||||
patch -R) _before_ applying the 3.0.3 patch. You can read more on this in
|
||||
Documentation/applying-patches.txt
|
||||
|
||||
Alternatively, the script patch-kernel can be used to automate this
|
||||
process. It determines the current kernel version and applies any
|
||||
patches found.
|
||||
|
||||
linux/scripts/patch-kernel linux
|
||||
linux/scripts/patch-kernel linux
|
||||
|
||||
The first argument in the command above is the location of the
|
||||
kernel source. Patches are applied from the current directory, but
|
||||
an alternative directory can be specified as the second argument.
|
||||
|
||||
- If you are upgrading between releases using the stable series patches
|
||||
(for example, patch-3.x.y), note that these "dot-releases" are
|
||||
not incremental and must be applied to the 3.x base tree. For
|
||||
example, if your base kernel is 3.0 and you want to apply the
|
||||
3.0.3 patch, you do not and indeed must not first apply the
|
||||
3.0.1 and 3.0.2 patches. Similarly, if you are running kernel
|
||||
version 3.0.2 and want to jump to 3.0.3, you must first
|
||||
reverse the 3.0.2 patch (that is, patch -R) _before_ applying
|
||||
the 3.0.3 patch.
|
||||
You can read more on this in Documentation/applying-patches.txt
|
||||
|
||||
- Make sure you have no stale .o files and dependencies lying around:
|
||||
|
||||
cd linux
|
||||
make mrproper
|
||||
cd linux
|
||||
make mrproper
|
||||
|
||||
You should now have the sources correctly installed.
|
||||
|
||||
@ -137,21 +131,23 @@ SOFTWARE REQUIREMENTS
|
||||
|
||||
BUILD directory for the kernel:
|
||||
|
||||
When compiling the kernel all output files will per default be
|
||||
When compiling the kernel, all output files will per default be
|
||||
stored together with the kernel source code.
|
||||
Using the option "make O=output/dir" allow you to specify an alternate
|
||||
place for the output files (including .config).
|
||||
Example:
|
||||
kernel source code: /usr/src/linux-3.N
|
||||
build directory: /home/name/build/kernel
|
||||
|
||||
To configure and build the kernel use:
|
||||
cd /usr/src/linux-3.N
|
||||
make O=/home/name/build/kernel menuconfig
|
||||
make O=/home/name/build/kernel
|
||||
sudo make O=/home/name/build/kernel modules_install install
|
||||
kernel source code: /usr/src/linux-3.X
|
||||
build directory: /home/name/build/kernel
|
||||
|
||||
Please note: If the 'O=output/dir' option is used then it must be
|
||||
To configure and build the kernel, use:
|
||||
|
||||
cd /usr/src/linux-3.X
|
||||
make O=/home/name/build/kernel menuconfig
|
||||
make O=/home/name/build/kernel
|
||||
sudo make O=/home/name/build/kernel modules_install install
|
||||
|
||||
Please note: If the 'O=output/dir' option is used, then it must be
|
||||
used for all invocations of make.
|
||||
|
||||
CONFIGURING the kernel:
|
||||
@ -163,61 +159,78 @@ CONFIGURING the kernel:
|
||||
new version with minimal work, use "make oldconfig", which will
|
||||
only ask you for the answers to new questions.
|
||||
|
||||
- Alternate configuration commands are:
|
||||
"make config" Plain text interface.
|
||||
"make menuconfig" Text based color menus, radiolists & dialogs.
|
||||
"make nconfig" Enhanced text based color menus.
|
||||
"make xconfig" X windows (Qt) based configuration tool.
|
||||
"make gconfig" X windows (Gtk) based configuration tool.
|
||||
"make oldconfig" Default all questions based on the contents of
|
||||
your existing ./.config file and asking about
|
||||
new config symbols.
|
||||
"make silentoldconfig"
|
||||
Like above, but avoids cluttering the screen
|
||||
with questions already answered.
|
||||
Additionally updates the dependencies.
|
||||
"make defconfig" Create a ./.config file by using the default
|
||||
symbol values from either arch/$ARCH/defconfig
|
||||
or arch/$ARCH/configs/${PLATFORM}_defconfig,
|
||||
depending on the architecture.
|
||||
"make ${PLATFORM}_defconfig"
|
||||
Create a ./.config file by using the default
|
||||
symbol values from
|
||||
arch/$ARCH/configs/${PLATFORM}_defconfig.
|
||||
Use "make help" to get a list of all available
|
||||
platforms of your architecture.
|
||||
"make allyesconfig"
|
||||
Create a ./.config file by setting symbol
|
||||
values to 'y' as much as possible.
|
||||
"make allmodconfig"
|
||||
Create a ./.config file by setting symbol
|
||||
values to 'm' as much as possible.
|
||||
"make allnoconfig" Create a ./.config file by setting symbol
|
||||
values to 'n' as much as possible.
|
||||
"make randconfig" Create a ./.config file by setting symbol
|
||||
values to random values.
|
||||
- Alternative configuration commands are:
|
||||
|
||||
"make config" Plain text interface.
|
||||
|
||||
"make menuconfig" Text based color menus, radiolists & dialogs.
|
||||
|
||||
"make nconfig" Enhanced text based color menus.
|
||||
|
||||
"make xconfig" X windows (Qt) based configuration tool.
|
||||
|
||||
"make gconfig" X windows (Gtk) based configuration tool.
|
||||
|
||||
"make oldconfig" Default all questions based on the contents of
|
||||
your existing ./.config file and asking about
|
||||
new config symbols.
|
||||
|
||||
"make silentoldconfig"
|
||||
Like above, but avoids cluttering the screen
|
||||
with questions already answered.
|
||||
Additionally updates the dependencies.
|
||||
|
||||
"make defconfig" Create a ./.config file by using the default
|
||||
symbol values from either arch/$ARCH/defconfig
|
||||
or arch/$ARCH/configs/${PLATFORM}_defconfig,
|
||||
depending on the architecture.
|
||||
|
||||
"make ${PLATFORM}_defconfig"
|
||||
Create a ./.config file by using the default
|
||||
symbol values from
|
||||
arch/$ARCH/configs/${PLATFORM}_defconfig.
|
||||
Use "make help" to get a list of all available
|
||||
platforms of your architecture.
|
||||
|
||||
"make allyesconfig"
|
||||
Create a ./.config file by setting symbol
|
||||
values to 'y' as much as possible.
|
||||
|
||||
"make allmodconfig"
|
||||
Create a ./.config file by setting symbol
|
||||
values to 'm' as much as possible.
|
||||
|
||||
"make allnoconfig" Create a ./.config file by setting symbol
|
||||
values to 'n' as much as possible.
|
||||
|
||||
"make randconfig" Create a ./.config file by setting symbol
|
||||
values to random values.
|
||||
|
||||
You can find more information on using the Linux kernel config tools
|
||||
in Documentation/kbuild/kconfig.txt.
|
||||
|
||||
NOTES on "make config":
|
||||
- having unnecessary drivers will make the kernel bigger, and can
|
||||
under some circumstances lead to problems: probing for a
|
||||
nonexistent controller card may confuse your other controllers
|
||||
- compiling the kernel with "Processor type" set higher than 386
|
||||
will result in a kernel that does NOT work on a 386. The
|
||||
kernel will detect this on bootup, and give up.
|
||||
- A kernel with math-emulation compiled in will still use the
|
||||
coprocessor if one is present: the math emulation will just
|
||||
never get used in that case. The kernel will be slightly larger,
|
||||
but will work on different machines regardless of whether they
|
||||
have a math coprocessor or not.
|
||||
- the "kernel hacking" configuration details usually result in a
|
||||
bigger or slower kernel (or both), and can even make the kernel
|
||||
less stable by configuring some routines to actively try to
|
||||
break bad code to find kernel problems (kmalloc()). Thus you
|
||||
should probably answer 'n' to the questions for
|
||||
"development", "experimental", or "debugging" features.
|
||||
- NOTES on "make config":
|
||||
|
||||
- Having unnecessary drivers will make the kernel bigger, and can
|
||||
under some circumstances lead to problems: probing for a
|
||||
nonexistent controller card may confuse your other controllers
|
||||
|
||||
- Compiling the kernel with "Processor type" set higher than 386
|
||||
will result in a kernel that does NOT work on a 386. The
|
||||
kernel will detect this on bootup, and give up.
|
||||
|
||||
- A kernel with math-emulation compiled in will still use the
|
||||
coprocessor if one is present: the math emulation will just
|
||||
never get used in that case. The kernel will be slightly larger,
|
||||
but will work on different machines regardless of whether they
|
||||
have a math coprocessor or not.
|
||||
|
||||
- The "kernel hacking" configuration details usually result in a
|
||||
bigger or slower kernel (or both), and can even make the kernel
|
||||
less stable by configuring some routines to actively try to
|
||||
break bad code to find kernel problems (kmalloc()). Thus you
|
||||
should probably answer 'n' to the questions for "development",
|
||||
"experimental", or "debugging" features.
|
||||
|
||||
COMPILING the kernel:
|
||||
|
||||
@ -230,7 +243,7 @@ COMPILING the kernel:
|
||||
possible to do "make install" if you have lilo installed to suit the
|
||||
kernel makefiles, but you may want to check your particular lilo setup first.
|
||||
|
||||
To do the actual install you have to be root, but none of the normal
|
||||
To do the actual install, you have to be root, but none of the normal
|
||||
build should require that. Don't take the name of root in vain.
|
||||
|
||||
- If you configured any of the parts of the kernel as `modules', you
|
||||
@ -238,13 +251,13 @@ COMPILING the kernel:
|
||||
|
||||
- Verbose kernel compile/build output:
|
||||
|
||||
Normally the kernel build system runs in a fairly quiet mode (but not
|
||||
Normally, the kernel build system runs in a fairly quiet mode (but not
|
||||
totally silent). However, sometimes you or other kernel developers need
|
||||
to see compile, link, or other commands exactly as they are executed.
|
||||
For this, use "verbose" build mode. This is done by inserting
|
||||
"V=1" in the "make" command. E.g.:
|
||||
|
||||
make V=1 all
|
||||
make V=1 all
|
||||
|
||||
To have the build system also tell the reason for the rebuild of each
|
||||
target, use "V=2". The default is "V=0".
|
||||
@ -256,6 +269,7 @@ COMPILING the kernel:
|
||||
are installing a new kernel with the same version number as your
|
||||
working kernel, make a backup of your modules directory before you
|
||||
do a "make modules_install".
|
||||
|
||||
Alternatively, before compiling, use the kernel config option
|
||||
"LOCALVERSION" to append a unique suffix to the regular kernel version.
|
||||
LOCALVERSION can be set in the "General Setup" menu.
|
||||
@ -267,7 +281,7 @@ COMPILING the kernel:
|
||||
- Booting a kernel directly from a floppy without the assistance of a
|
||||
bootloader such as LILO, is no longer supported.
|
||||
|
||||
If you boot Linux from the hard drive, chances are you use LILO which
|
||||
If you boot Linux from the hard drive, chances are you use LILO, which
|
||||
uses the kernel image as specified in the file /etc/lilo.conf. The
|
||||
kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or
|
||||
/boot/bzImage. To use the new kernel, save a copy of the old image
|
||||
@ -306,21 +320,21 @@ IF SOMETHING GOES WRONG:
|
||||
|
||||
- If the bug results in a message like
|
||||
|
||||
unable to handle kernel paging request at address C0000010
|
||||
Oops: 0002
|
||||
EIP: 0010:XXXXXXXX
|
||||
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
|
||||
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
|
||||
ds: xxxx es: xxxx fs: xxxx gs: xxxx
|
||||
Pid: xx, process nr: xx
|
||||
xx xx xx xx xx xx xx xx xx xx
|
||||
unable to handle kernel paging request at address C0000010
|
||||
Oops: 0002
|
||||
EIP: 0010:XXXXXXXX
|
||||
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
|
||||
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
|
||||
ds: xxxx es: xxxx fs: xxxx gs: xxxx
|
||||
Pid: xx, process nr: xx
|
||||
xx xx xx xx xx xx xx xx xx xx
|
||||
|
||||
or similar kernel debugging information on your screen or in your
|
||||
system log, please duplicate it *exactly*. The dump may look
|
||||
incomprehensible to you, but it does contain information that may
|
||||
help debugging the problem. The text above the dump is also
|
||||
important: it tells something about why the kernel dumped code (in
|
||||
the above example it's due to a bad kernel pointer). More information
|
||||
the above example, it's due to a bad kernel pointer). More information
|
||||
on making sense of the dump is in Documentation/oops-tracing.txt
|
||||
|
||||
- If you compiled the kernel with CONFIG_KALLSYMS you can send the dump
|
||||
@ -328,7 +342,7 @@ IF SOMETHING GOES WRONG:
|
||||
sense of the dump (but compiling with CONFIG_KALLSYMS is usually preferred).
|
||||
This utility can be downloaded from
|
||||
ftp://ftp.<country>.kernel.org/pub/linux/utils/kernel/ksymoops/ .
|
||||
Alternately you can do the dump lookup by hand:
|
||||
Alternatively, you can do the dump lookup by hand:
|
||||
|
||||
- In debugging dumps like the above, it helps enormously if you can
|
||||
look up what the EIP value means. The hex value as such doesn't help
|
||||
@ -342,7 +356,7 @@ IF SOMETHING GOES WRONG:
|
||||
the file 'linux/vmlinux'. To extract the namelist and match it against
|
||||
the EIP from the kernel crash, do:
|
||||
|
||||
nm vmlinux | sort | less
|
||||
nm vmlinux | sort | less
|
||||
|
||||
This will give you a list of kernel addresses sorted in ascending
|
||||
order, from which it is simple to find the function that contains the
|
||||
@ -361,7 +375,7 @@ IF SOMETHING GOES WRONG:
|
||||
kernel image or similar), telling me as much about your setup as
|
||||
possible will help. Please read the REPORTING-BUGS document for details.
|
||||
|
||||
- Alternately, you can use gdb on a running kernel. (read-only; i.e. you
|
||||
- Alternatively, you can use gdb on a running kernel. (read-only; i.e. you
|
||||
cannot change values or set break points.) To do this, first compile the
|
||||
kernel with -g; edit arch/i386/Makefile appropriately, then do a "make
|
||||
clean". You'll also need to enable CONFIG_PROC_FS (via "make config").
|
||||
|
@ -236,7 +236,7 @@ static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
|
||||
ok = 0;
|
||||
|
||||
/* If both conditions above are met, we are fine. */
|
||||
DBGA("pci_dac_dma_supported %s from %p\n",
|
||||
DBGA("pci_dac_dma_supported %s from %pf\n",
|
||||
ok ? "yes" : "no", __builtin_return_address(0));
|
||||
|
||||
return ok;
|
||||
@ -268,7 +268,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
|
||||
&& paddr + size <= __direct_map_size) {
|
||||
ret = paddr + __direct_map_base;
|
||||
|
||||
DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %p\n",
|
||||
DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %pf\n",
|
||||
cpu_addr, size, ret, __builtin_return_address(0));
|
||||
|
||||
return ret;
|
||||
@ -279,7 +279,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
|
||||
if (dac_allowed) {
|
||||
ret = paddr + alpha_mv.pci_dac_offset;
|
||||
|
||||
DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %p\n",
|
||||
DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %pf\n",
|
||||
cpu_addr, size, ret, __builtin_return_address(0));
|
||||
|
||||
return ret;
|
||||
@ -316,7 +316,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
|
||||
ret = arena->dma_base + dma_ofs * PAGE_SIZE;
|
||||
ret += (unsigned long)cpu_addr & ~PAGE_MASK;
|
||||
|
||||
DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %p\n",
|
||||
DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %pf\n",
|
||||
cpu_addr, size, npages, ret, __builtin_return_address(0));
|
||||
|
||||
return ret;
|
||||
@ -385,14 +385,14 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
|
||||
&& dma_addr < __direct_map_base + __direct_map_size) {
|
||||
/* Nothing to do. */
|
||||
|
||||
DBGA2("pci_unmap_single: direct [%llx,%zx] from %p\n",
|
||||
DBGA2("pci_unmap_single: direct [%llx,%zx] from %pf\n",
|
||||
dma_addr, size, __builtin_return_address(0));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (dma_addr > 0xffffffff) {
|
||||
DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %p\n",
|
||||
DBGA2("pci64_unmap_single: DAC [%llx,%zx] from %pf\n",
|
||||
dma_addr, size, __builtin_return_address(0));
|
||||
return;
|
||||
}
|
||||
@ -424,7 +424,7 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
|
||||
|
||||
spin_unlock_irqrestore(&arena->lock, flags);
|
||||
|
||||
DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %p\n",
|
||||
DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %pf\n",
|
||||
dma_addr, size, npages, __builtin_return_address(0));
|
||||
}
|
||||
|
||||
@ -447,7 +447,7 @@ try_again:
|
||||
cpu_addr = (void *)__get_free_pages(gfp, order);
|
||||
if (! cpu_addr) {
|
||||
printk(KERN_INFO "pci_alloc_consistent: "
|
||||
"get_free_pages failed from %p\n",
|
||||
"get_free_pages failed from %pf\n",
|
||||
__builtin_return_address(0));
|
||||
/* ??? Really atomic allocation? Otherwise we could play
|
||||
with vmalloc and sg if we can't find contiguous memory. */
|
||||
@ -466,7 +466,7 @@ try_again:
|
||||
goto try_again;
|
||||
}
|
||||
|
||||
DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %p\n",
|
||||
DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %pf\n",
|
||||
size, cpu_addr, *dma_addrp, __builtin_return_address(0));
|
||||
|
||||
return cpu_addr;
|
||||
@ -486,7 +486,7 @@ static void alpha_pci_free_coherent(struct device *dev, size_t size,
|
||||
pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
|
||||
free_pages((unsigned long)cpu_addr, get_order(size));
|
||||
|
||||
DBGA2("pci_free_consistent: [%llx,%zx] from %p\n",
|
||||
DBGA2("pci_free_consistent: [%llx,%zx] from %pf\n",
|
||||
dma_addr, size, __builtin_return_address(0));
|
||||
}
|
||||
|
||||
|
@ -1914,10 +1914,10 @@ choice
|
||||
default ZBOOT_ROM_NONE
|
||||
help
|
||||
Include experimental SD/MMC loading code in the ROM-able zImage.
|
||||
With this enabled it is possible to write the the ROM-able zImage
|
||||
With this enabled it is possible to write the ROM-able zImage
|
||||
kernel image to an MMC or SD card and boot the kernel straight
|
||||
from the reset vector. At reset the processor Mask ROM will load
|
||||
the first part of the the ROM-able zImage which in turn loads the
|
||||
the first part of the ROM-able zImage which in turn loads the
|
||||
rest the kernel image to RAM.
|
||||
|
||||
config ZBOOT_ROM_NONE
|
||||
|
@ -210,7 +210,7 @@ config SMDK6410_WM1190_EV1
|
||||
and audio daughtercard for the Samsung SMDK6410 reference
|
||||
platform. Enabling this option will build support for this
|
||||
module into the kernel. The presence of the module will be
|
||||
detected at runtime so the the resulting kernel can be used
|
||||
detected at runtime so the resulting kernel can be used
|
||||
with or without the 1190-EV1 fitted.
|
||||
|
||||
config SMDK6410_WM1192_EV1
|
||||
@ -226,7 +226,7 @@ config SMDK6410_WM1192_EV1
|
||||
daughtercard for the Samsung SMDK6410 reference platform.
|
||||
Enabling this option will build support for this module into
|
||||
the kernel. The presence of the daughtercard will be
|
||||
detected at runtime so the the resulting kernel can be used
|
||||
detected at runtime so the resulting kernel can be used
|
||||
with or without the 1192-EV1 fitted.
|
||||
|
||||
config MACH_NCP
|
||||
|
@ -147,7 +147,7 @@ void float_raise(signed char flags)
|
||||
#ifdef CONFIG_DEBUG_USER
|
||||
if (flags & debug)
|
||||
printk(KERN_DEBUG
|
||||
"NWFPE: %s[%d] takes exception %08x at %p from %08lx\n",
|
||||
"NWFPE: %s[%d] takes exception %08x at %pf from %08lx\n",
|
||||
current->comm, current->pid, flags,
|
||||
__builtin_return_address(0), GET_USERREG()->ARM_pc);
|
||||
#endif
|
||||
|
@ -1309,7 +1309,7 @@ config PM_BFIN_WAKE_GP
|
||||
(all processors, except ADSP-BF549). This option sets
|
||||
the general-purpose wake-up enable (GPWE) control bit to enable
|
||||
wake-up upon detection of an active low signal on the /GPW (PH7) pin.
|
||||
On ADSP-BF549 this option enables the the same functionality on the
|
||||
On ADSP-BF549 this option enables the same functionality on the
|
||||
/MRXON pin also PH7.
|
||||
|
||||
config PM_BFIN_WAKE_PA15
|
||||
|
@ -7,7 +7,7 @@ choice
|
||||
help
|
||||
The Freescale (was Motorola) M68K family of processors implements
|
||||
the full 68000 processor instruction set.
|
||||
The Freescale ColdFire family of processors is a modern derivitive
|
||||
The Freescale ColdFire family of processors is a modern derivative
|
||||
of the 68000 processor family. They are mainly targeted at embedded
|
||||
applications, and are all System-On-Chip (SOC) devices, as opposed
|
||||
to stand alone CPUs. They implement a subset of the original 68000
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Copyright (C) 2000, Lineo (www.lineo.com)
|
||||
* Yaroslav Vinogradov yaroslav.vinogradov@freescale.com
|
||||
* Copyright Freescale Semiconductor, Inc 2006
|
||||
* Copyright (c) 2006, emlix, Sebastian Hess <sh@emlix.com>
|
||||
* Copyright (c) 2006, emlix, Sebastian Hess <shess@hessware.de>
|
||||
*
|
||||
* 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
|
||||
|
@ -1002,12 +1002,12 @@ config HOLES_IN_ZONE
|
||||
bool
|
||||
|
||||
#
|
||||
# Endianess selection. Sufficiently obscure so many users don't know what to
|
||||
# Endianness selection. Sufficiently obscure so many users don't know what to
|
||||
# answer,so we try hard to limit the available choices. Also the use of a
|
||||
# choice statement should be more obvious to the user.
|
||||
#
|
||||
choice
|
||||
prompt "Endianess selection"
|
||||
prompt "Endianness selection"
|
||||
help
|
||||
Some MIPS machines can be configured for either little or big endian
|
||||
byte order. These modes require different kernels and a different
|
||||
|
@ -57,7 +57,7 @@ config CMDLINE
|
||||
options.
|
||||
|
||||
config CMDLINE_OVERRIDE
|
||||
bool "Built-in command line overrides firware arguments"
|
||||
bool "Built-in command line overrides firmware arguments"
|
||||
default n
|
||||
depends on CMDLINE_BOOL
|
||||
help
|
||||
|
@ -209,7 +209,7 @@ void mips_mt_set_cpuoptions(void)
|
||||
unsigned int nconfig7 = oconfig7;
|
||||
|
||||
if (mt_opt_norps) {
|
||||
printk("\"norps\" option deprectated: use \"rpsctl=\"\n");
|
||||
printk("\"norps\" option deprecated: use \"rpsctl=\"\n");
|
||||
}
|
||||
if (mt_opt_rpsctl >= 0) {
|
||||
printk("34K return prediction stack override set to %d.\n",
|
||||
|
@ -188,7 +188,7 @@ int __init ltq_gpio_init(void)
|
||||
int ret = platform_driver_register(<q_gpio_driver);
|
||||
|
||||
if (ret)
|
||||
pr_info("ltq_gpio : Error registering platfom driver!");
|
||||
pr_info("ltq_gpio : Error registering platform driver!");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ static int __init ltq_ebu_init(void)
|
||||
int ret = platform_driver_register(<q_ebu_driver);
|
||||
|
||||
if (ret)
|
||||
pr_info("ltq_ebu : Error registering platfom driver!");
|
||||
pr_info("ltq_ebu : Error registering platform driver!");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ int __init ltq_stp_init(void)
|
||||
int ret = platform_driver_register(<q_stp_driver);
|
||||
|
||||
if (ret)
|
||||
pr_info("ltq_stp: error registering platfom driver");
|
||||
pr_info("ltq_stp: error registering platform driver");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ static void __init sni_pcimt_sc_init(void)
|
||||
|
||||
scsiz = cacheconf & 7;
|
||||
if (scsiz == 0) {
|
||||
printk("Second level cache is deactived.\n");
|
||||
printk("Second level cache is deactivated.\n");
|
||||
return;
|
||||
}
|
||||
if (scsiz >= 6) {
|
||||
|
@ -142,7 +142,7 @@ config DEBUG_STACKOVERFLOW
|
||||
bool "Check for kernel stack overflow"
|
||||
default y
|
||||
help
|
||||
Make extra checks for space avaliable on stack in some
|
||||
Make extra checks for space available on stack in some
|
||||
critical functions. This will cause kernel to run a bit slower,
|
||||
but will catch most of kernel stack overruns and exit gracefuly.
|
||||
|
||||
|
@ -258,7 +258,7 @@ config PPC_ICSWX_PID
|
||||
default y
|
||||
---help---
|
||||
The PID register in server is used explicitly for ICSWX. In
|
||||
embedded systems PID managment is done by the system.
|
||||
embedded systems PID management is done by the system.
|
||||
|
||||
config PPC_ICSWX_USE_SIGILL
|
||||
bool "Should a bad CT cause a SIGILL?"
|
||||
@ -266,7 +266,7 @@ config PPC_ICSWX_USE_SIGILL
|
||||
default n
|
||||
---help---
|
||||
Should a bad CT used for "non-record form ICSWX" cause an
|
||||
illegal intruction signal or should it be silent as
|
||||
illegal instruction signal or should it be silent as
|
||||
architected.
|
||||
|
||||
If in doubt, say N here.
|
||||
|
@ -67,7 +67,7 @@ config IO_EVENT_IRQ
|
||||
|
||||
This option will only enable the IO event platform code. You
|
||||
will still need to enable or compile the actual drivers
|
||||
that use this infrastruture to handle IO event interrupts.
|
||||
that use this infrastructure to handle IO event interrupts.
|
||||
|
||||
Say Y if you are unsure.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
menu "Processor features"
|
||||
|
||||
choice
|
||||
prompt "Endianess selection"
|
||||
prompt "Endianness selection"
|
||||
default CPU_LITTLE_ENDIAN
|
||||
help
|
||||
Some SuperH machines can be configured for either little or big
|
||||
|
@ -63,7 +63,7 @@ ATOMIC64_DECL(add_unless);
|
||||
|
||||
/**
|
||||
* atomic64_cmpxchg - cmpxchg atomic64 variable
|
||||
* @p: pointer to type atomic64_t
|
||||
* @v: pointer to type atomic64_t
|
||||
* @o: expected value
|
||||
* @n: new value
|
||||
*
|
||||
@ -98,7 +98,7 @@ static inline long long atomic64_xchg(atomic64_t *v, long long n)
|
||||
/**
|
||||
* atomic64_set - set atomic64 variable
|
||||
* @v: pointer to type atomic64_t
|
||||
* @n: value to assign
|
||||
* @i: value to assign
|
||||
*
|
||||
* Atomically sets the value of @v to @n.
|
||||
*/
|
||||
@ -200,7 +200,7 @@ static inline long long atomic64_sub(long long i, atomic64_t *v)
|
||||
* atomic64_sub_and_test - subtract value from variable and test result
|
||||
* @i: integer value to subtract
|
||||
* @v: pointer to type atomic64_t
|
||||
*
|
||||
*
|
||||
* Atomically subtracts @i from @v and returns
|
||||
* true if the result is zero, or false for all
|
||||
* other cases.
|
||||
@ -224,9 +224,9 @@ static inline void atomic64_inc(atomic64_t *v)
|
||||
|
||||
/**
|
||||
* atomic64_dec - decrement atomic64 variable
|
||||
* @ptr: pointer to type atomic64_t
|
||||
* @v: pointer to type atomic64_t
|
||||
*
|
||||
* Atomically decrements @ptr by 1.
|
||||
* Atomically decrements @v by 1.
|
||||
*/
|
||||
static inline void atomic64_dec(atomic64_t *v)
|
||||
{
|
||||
|
@ -23,7 +23,7 @@
|
||||
* %X86_MODEL_ANY, %X86_FEATURE_ANY or 0 (except for vendor)
|
||||
*
|
||||
* Arrays used to match for this should also be declared using
|
||||
* MODULE_DEVICE_TABLE(x86_cpu, ...)
|
||||
* MODULE_DEVICE_TABLE(x86cpu, ...)
|
||||
*
|
||||
* This always matches against the boot cpu, assuming models and features are
|
||||
* consistent over all CPUs.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Authors: Oskar Schirmer <os@emlix.com>
|
||||
* Authors: Oskar Schirmer <oskar@scara.com>
|
||||
* Daniel Gloeckner <dg@emlix.com>
|
||||
* (c) 2008 emlix GmbH http://www.emlix.com
|
||||
*
|
||||
|
@ -2,8 +2,8 @@
|
||||
* s6000 gpio driver
|
||||
*
|
||||
* Copyright (c) 2009 emlix GmbH
|
||||
* Authors: Oskar Schirmer <os@emlix.com>
|
||||
* Johannes Weiner <jw@emlix.com>
|
||||
* Authors: Oskar Schirmer <oskar@scara.com>
|
||||
* Johannes Weiner <hannes@cmpxchg.org>
|
||||
* Daniel Gloeckner <dg@emlix.com>
|
||||
*/
|
||||
#include <linux/bitops.h>
|
||||
|
@ -8,7 +8,7 @@
|
||||
* Copyright (C) 2006 Tensilica Inc.
|
||||
* Copyright (C) 2008 Emlix GmbH <info@emlix.com>
|
||||
* Authors: Fabian Godehardt <fg@emlix.com>
|
||||
* Oskar Schirmer <os@emlix.com>
|
||||
* Oskar Schirmer <oskar@scara.com>
|
||||
* Daniel Gloeckner <dg@emlix.com>
|
||||
*/
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
* s6000 irq crossbar
|
||||
*
|
||||
* Copyright (c) 2009 emlix GmbH
|
||||
* Authors: Johannes Weiner <jw@emlix.com>
|
||||
* Oskar Schirmer <os@emlix.com>
|
||||
* Authors: Johannes Weiner <hannes@cmpxchg.org>
|
||||
* Oskar Schirmer <oskar@scara.com>
|
||||
*/
|
||||
#include <linux/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
@ -16,7 +16,7 @@ menuconfig PM_DEVFREQ
|
||||
is attached to a single device and returns a "representative"
|
||||
clock frequency of the device, which is also attached
|
||||
to a device by 1-to-1. The device registering devfreq takes the
|
||||
responsiblity to "interpret" the representative frequency and
|
||||
responsibility to "interpret" the representative frequency and
|
||||
to set its every clock accordingly with the "target" callback
|
||||
given to devfreq.
|
||||
|
||||
|
@ -107,13 +107,13 @@ extern int edac_debug_level;
|
||||
*
|
||||
* CPU caches (L1 and L2)
|
||||
* DMA engines
|
||||
* Core CPU swithces
|
||||
* Core CPU switches
|
||||
* Fabric switch units
|
||||
* PCIe interface controllers
|
||||
* other EDAC/ECC type devices that can be monitored for
|
||||
* errors, etc.
|
||||
*
|
||||
* It allows for a 2 level set of hiearchry. For example:
|
||||
* It allows for a 2 level set of hierarchy. For example:
|
||||
*
|
||||
* cache could be composed of L1, L2 and L3 levels of cache.
|
||||
* Each CPU core would have its own L1 cache, while sharing
|
||||
|
@ -56,7 +56,7 @@ static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev)
|
||||
*
|
||||
* The control structure is allocated in complete chunk
|
||||
* from the OS. It is in turn sub allocated to the
|
||||
* various objects that compose the struture
|
||||
* various objects that compose the structure
|
||||
*
|
||||
* The structure has a 'nr_instance' array within itself.
|
||||
* Each instance represents a major component
|
||||
@ -118,7 +118,7 @@ struct edac_device_ctl_info *edac_device_alloc_ctl_info(
|
||||
/* Calc the 'end' offset past the attributes array */
|
||||
pvt = edac_align_ptr(&dev_attrib[count], sz_private);
|
||||
} else {
|
||||
/* no attribute array specificed */
|
||||
/* no attribute array specified */
|
||||
pvt = edac_align_ptr(dev_attrib, sz_private);
|
||||
}
|
||||
|
||||
@ -394,7 +394,7 @@ static void edac_device_workq_function(struct work_struct *work_req)
|
||||
|
||||
/* Reschedule the workq for the next time period to start again
|
||||
* if the number of msec is for 1 sec, then adjust to the next
|
||||
* whole one second to save timers fireing all over the period
|
||||
* whole one second to save timers firing all over the period
|
||||
* between integral seconds
|
||||
*/
|
||||
if (edac_dev->poll_msec == 1000)
|
||||
@ -563,7 +563,7 @@ EXPORT_SYMBOL_GPL(edac_device_add_device);
|
||||
* Remove sysfs entries for specified edac_device structure and
|
||||
* then remove edac_device structure from global list
|
||||
*
|
||||
* @pdev:
|
||||
* @dev:
|
||||
* Pointer to 'struct device' representing edac_device
|
||||
* structure to remove.
|
||||
*
|
||||
|
@ -90,7 +90,7 @@ MODULE_PARM_DESC(use_pci_fixup, "Enable PCI fixup to seek for hidden devices");
|
||||
#define MC_MAX_DOD 0x64
|
||||
|
||||
/*
|
||||
* OFFSETS for Device 3 Function 4, as inicated on Xeon 5500 datasheet:
|
||||
* OFFSETS for Device 3 Function 4, as indicated on Xeon 5500 datasheet:
|
||||
* http://www.arrownac.com/manufacturers/intel/s/nehalem/5500-datasheet-v2.pdf
|
||||
*/
|
||||
|
||||
@ -101,7 +101,7 @@ MODULE_PARM_DESC(use_pci_fixup, "Enable PCI fixup to seek for hidden devices");
|
||||
#define DIMM1_COR_ERR(r) (((r) >> 16) & 0x7fff)
|
||||
#define DIMM0_COR_ERR(r) ((r) & 0x7fff)
|
||||
|
||||
/* OFFSETS for Device 3 Function 2, as inicated on Xeon 5500 datasheet */
|
||||
/* OFFSETS for Device 3 Function 2, as indicated on Xeon 5500 datasheet */
|
||||
#define MC_SSRCONTROL 0x48
|
||||
#define SSR_MODE_DISABLE 0x00
|
||||
#define SSR_MODE_ENABLE 0x01
|
||||
@ -398,7 +398,7 @@ static DEFINE_PCI_DEVICE_TABLE(i7core_pci_tbl) = {
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
Anciliary status routines
|
||||
Ancillary status routines
|
||||
****************************************************************************/
|
||||
|
||||
/* MC_CONTROL bits */
|
||||
@ -1361,7 +1361,7 @@ static int i7core_get_onedevice(struct pci_dev **prev,
|
||||
dev_descr->dev_id, *prev);
|
||||
|
||||
/*
|
||||
* On Xeon 55xx, the Intel Quckpath Arch Generic Non-core regs
|
||||
* On Xeon 55xx, the Intel QuickPath Arch Generic Non-core regs
|
||||
* is at addr 8086:2c40, instead of 8086:2c41. So, we need
|
||||
* to probe for the alternate address in case of failure
|
||||
*/
|
||||
@ -2132,7 +2132,7 @@ static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw)
|
||||
|
||||
/*
|
||||
* get_sdram_scrub_rate This routine convert current scrub rate value
|
||||
* into byte/sec bandwidth accourding to
|
||||
* into byte/sec bandwidth according to
|
||||
* SCRUBINTERVAL formula found in datasheet.
|
||||
*/
|
||||
static int get_sdram_scrub_rate(struct mem_ctl_info *mci)
|
||||
|
@ -58,7 +58,7 @@ static int probed;
|
||||
|
||||
/*
|
||||
* FIXME: For now, let's order by device function, as it makes
|
||||
* easier for driver's development proccess. This table should be
|
||||
* easier for driver's development process. This table should be
|
||||
* moved to pci_id.h when submitted upstream
|
||||
*/
|
||||
#define PCI_DEVICE_ID_INTEL_SBRIDGE_SAD0 0x3cf4 /* 12.6 */
|
||||
@ -375,7 +375,7 @@ static DEFINE_PCI_DEVICE_TABLE(sbridge_pci_tbl) = {
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
Anciliary status routines
|
||||
Ancillary status routines
|
||||
****************************************************************************/
|
||||
|
||||
static inline int numrank(u32 mtr)
|
||||
@ -1430,7 +1430,7 @@ static void sbridge_mce_output_error(struct mem_ctl_info *mci,
|
||||
type = "FATAL";
|
||||
|
||||
/*
|
||||
* According with Table 15-9 of the Intel Archictecture spec vol 3A,
|
||||
* According with Table 15-9 of the Intel Architecture spec vol 3A,
|
||||
* memory errors should fit in this mask:
|
||||
* 000f 0000 1mmm cccc (binary)
|
||||
* where:
|
||||
|
@ -1827,14 +1827,10 @@ void radeon_do_release(struct drm_device * dev)
|
||||
r600_do_cleanup_cp(dev);
|
||||
else
|
||||
radeon_do_cleanup_cp(dev);
|
||||
if (dev_priv->me_fw) {
|
||||
release_firmware(dev_priv->me_fw);
|
||||
dev_priv->me_fw = NULL;
|
||||
}
|
||||
if (dev_priv->pfp_fw) {
|
||||
release_firmware(dev_priv->pfp_fw);
|
||||
dev_priv->pfp_fw = NULL;
|
||||
}
|
||||
release_firmware(dev_priv->me_fw);
|
||||
dev_priv->me_fw = NULL;
|
||||
release_firmware(dev_priv->pfp_fw);
|
||||
dev_priv->pfp_fw = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -551,7 +551,7 @@ int radeon_vm_bo_update_pte(struct radeon_device *rdev,
|
||||
|
||||
/* nothing to do if vm isn't bound */
|
||||
if (vm->id == -1)
|
||||
return 0;;
|
||||
return 0;
|
||||
|
||||
bo_va = radeon_bo_va(bo, vm);
|
||||
if (bo_va == NULL) {
|
||||
|
@ -91,7 +91,7 @@ int radeon_gem_set_domain(struct drm_gem_object *gobj,
|
||||
}
|
||||
if (!domain) {
|
||||
/* Do nothings */
|
||||
printk(KERN_WARNING "Set domain withou domain !\n");
|
||||
printk(KERN_WARNING "Set domain without domain !\n");
|
||||
return 0;
|
||||
}
|
||||
if (domain == RADEON_GEM_DOMAIN_CPU) {
|
||||
|
@ -470,7 +470,7 @@ config HID_PICOLCD_FB
|
||||
select FB_SYS_FOPS
|
||||
---help---
|
||||
Provide access to PicoLCD's 256x64 monochrome display via a
|
||||
frambuffer device.
|
||||
framebuffer device.
|
||||
|
||||
config HID_PICOLCD_BACKLIGHT
|
||||
bool "Backlight control" if EXPERT
|
||||
|
@ -318,7 +318,7 @@ config SENSORS_EXYNOS4_TMU
|
||||
tristate "Temperature sensor on Samsung EXYNOS4"
|
||||
depends on ARCH_EXYNOS4
|
||||
help
|
||||
If you say yes here you get support for TMU (Thermal Managment
|
||||
If you say yes here you get support for TMU (Thermal Management
|
||||
Unit) on SAMSUNG EXYNOS4 series of SoC.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
|
@ -351,7 +351,7 @@ config I2C_DAVINCI
|
||||
For details please see http://www.ti.com/davinci
|
||||
|
||||
config I2C_DESIGNWARE_PLATFORM
|
||||
tristate "Synopsys DesignWare Platfrom"
|
||||
tristate "Synopsys DesignWare Platform"
|
||||
depends on HAVE_CLK
|
||||
help
|
||||
If you say yes to this option, support will be included for the
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Description: Driver for S6000 Family I2C Interface
|
||||
* Copyright (c) 2008 emlix GmbH
|
||||
* Author: Oskar Schirmer <os@emlix.com>
|
||||
* Author: Oskar Schirmer <oskar@scara.com>
|
||||
*
|
||||
* Partially based on i2c-bfin-twi.c driver by <sonic.zhang@analog.com>
|
||||
* Copyright (c) 2005-2007 Analog Devices, Inc.
|
||||
|
@ -6,7 +6,7 @@
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2008 Emlix GmbH <info@emlix.com>
|
||||
* Author: Oskar Schirmer <os@emlix.com>
|
||||
* Author: Oskar Schirmer <oskar@scara.com>
|
||||
*/
|
||||
|
||||
#ifndef __DRIVERS_I2C_BUSSES_I2C_S6000_H
|
||||
|
@ -43,7 +43,7 @@ config AMD_IOMMU
|
||||
With this option you can enable support for AMD IOMMU hardware in
|
||||
your system. An IOMMU is a hardware component which provides
|
||||
remapping of DMA memory accesses from devices. With an AMD IOMMU you
|
||||
can isolate the the DMA memory of different devices and protect the
|
||||
can isolate the DMA memory of different devices and protect the
|
||||
system from misbehaving device drivers or hardware.
|
||||
|
||||
You can find out if your system has an AMD IOMMU if you look into
|
||||
@ -67,7 +67,7 @@ config AMD_IOMMU_V2
|
||||
---help---
|
||||
This option enables support for the AMD IOMMUv2 features of the IOMMU
|
||||
hardware. Select this option if you want to use devices that support
|
||||
the the PCI PRI and PASID interface.
|
||||
the PCI PRI and PASID interface.
|
||||
|
||||
# Intel IOMMU support
|
||||
config DMAR_TABLE
|
||||
|
@ -417,7 +417,7 @@ config MFD_MAX8925
|
||||
select MFD_CORE
|
||||
help
|
||||
Say yes here to support for Maxim Semiconductor MAX8925. This is
|
||||
a Power Management IC. This driver provies common support for
|
||||
a Power Management IC. This driver provides common support for
|
||||
accessing the device, additional drivers must be enabled in order
|
||||
to use the functionality of the device.
|
||||
|
||||
@ -440,7 +440,7 @@ config MFD_MAX8998
|
||||
help
|
||||
Say yes here to support for Maxim Semiconductor MAX8998 and
|
||||
National Semiconductor LP3974. This is a Power Management IC.
|
||||
This driver provies common support for accessing the device,
|
||||
This driver provides common support for accessing the device,
|
||||
additional drivers must be enabled in order to use the functionality
|
||||
of the device.
|
||||
|
||||
@ -451,7 +451,7 @@ config MFD_S5M_CORE
|
||||
select REGMAP_I2C
|
||||
help
|
||||
Support for the Samsung Electronics S5M MFD series.
|
||||
This driver provies common support for accessing the device,
|
||||
This driver provides common support for accessing the device,
|
||||
additional drivers must be enabled in order to use the functionality
|
||||
of the device
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#define COMP1 1
|
||||
#define COMP2 2
|
||||
|
||||
/* Comparator 1 voltage selection table in milivolts */
|
||||
/* Comparator 1 voltage selection table in millivolts */
|
||||
static const u16 COMP_VSEL_TABLE[] = {
|
||||
0, 2500, 2500, 2500, 2500, 2550, 2600, 2650,
|
||||
2700, 2750, 2800, 2850, 2900, 2950, 3000, 3050,
|
||||
|
@ -5,7 +5,7 @@
|
||||
menuconfig C2PORT
|
||||
tristate "Silicon Labs C2 port support (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
default no
|
||||
default n
|
||||
help
|
||||
This option enables support for Silicon Labs C2 port used to
|
||||
program Silicon micro controller chips (and other 8051 compatible).
|
||||
@ -23,8 +23,8 @@ if C2PORT
|
||||
|
||||
config C2PORT_DURAMAR_2150
|
||||
tristate "C2 port support for Eurotech's Duramar 2150 (EXPERIMENTAL)"
|
||||
depends on X86 && C2PORT
|
||||
default no
|
||||
depends on X86
|
||||
default n
|
||||
help
|
||||
This option enables C2 support for the Eurotech's Duramar 2150
|
||||
on board micro controller.
|
||||
|
@ -383,7 +383,7 @@ static void doc_set_device_id(struct docg3 *docg3, int id)
|
||||
* leveling counters are stored. To access this last area of 4 bytes, a special
|
||||
* mode must be input to the flash ASIC.
|
||||
*
|
||||
* Returns 0 if no error occured, -EIO else.
|
||||
* Returns 0 if no error occurred, -EIO else.
|
||||
*/
|
||||
static int doc_set_extra_page_mode(struct docg3 *docg3)
|
||||
{
|
||||
@ -681,7 +681,7 @@ out:
|
||||
* - one read of 512 bytes at offset 0
|
||||
* - one read of 512 bytes at offset 512 + 16
|
||||
*
|
||||
* Returns 0 if successful, -EIO if a read error occured.
|
||||
* Returns 0 if successful, -EIO if a read error occurred.
|
||||
*/
|
||||
static int doc_read_page_prepare(struct docg3 *docg3, int block0, int block1,
|
||||
int page, int offset)
|
||||
@ -839,7 +839,7 @@ static void calc_block_sector(loff_t from, int *block0, int *block1, int *page,
|
||||
*
|
||||
* Reads flash memory OOB area of pages.
|
||||
*
|
||||
* Returns 0 if read successfull, of -EIO, -EINVAL if an error occured
|
||||
* Returns 0 if read successful, of -EIO, -EINVAL if an error occurred
|
||||
*/
|
||||
static int doc_read_oob(struct mtd_info *mtd, loff_t from,
|
||||
struct mtd_oob_ops *ops)
|
||||
@ -971,7 +971,7 @@ err_in_read:
|
||||
* Reads flash memory pages. This function does not read the OOB chunk, but only
|
||||
* the page data.
|
||||
*
|
||||
* Returns 0 if read successfull, of -EIO, -EINVAL if an error occured
|
||||
* Returns 0 if read successful, of -EIO, -EINVAL if an error occurred
|
||||
*/
|
||||
static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,
|
||||
size_t *retlen, u_char *buf)
|
||||
@ -1109,7 +1109,7 @@ static int doc_get_op_status(struct docg3 *docg3)
|
||||
* Wait for the chip to be ready again after erase or write operation, and check
|
||||
* erase/write status.
|
||||
*
|
||||
* Returns 0 if erase successfull, -EIO if erase/write issue, -ETIMEOUT if
|
||||
* Returns 0 if erase successful, -EIO if erase/write issue, -ETIMEOUT if
|
||||
* timeout
|
||||
*/
|
||||
static int doc_write_erase_wait_status(struct docg3 *docg3)
|
||||
@ -1186,7 +1186,7 @@ static int doc_erase_block(struct docg3 *docg3, int block0, int block1)
|
||||
* Erase a bunch of contiguous blocks, by pairs, as a "mtd" page of 1024 is
|
||||
* split into 2 pages of 512 bytes on 2 contiguous blocks.
|
||||
*
|
||||
* Returns 0 if erase successful, -EINVAL if adressing error, -EIO if erase
|
||||
* Returns 0 if erase successful, -EINVAL if addressing error, -EIO if erase
|
||||
* issue
|
||||
*/
|
||||
static int doc_erase(struct mtd_info *mtd, struct erase_info *info)
|
||||
@ -1397,7 +1397,7 @@ static int doc_backup_oob(struct docg3 *docg3, loff_t to,
|
||||
* Or provide data without OOB, and then a all zeroed OOB will be used (ECC will
|
||||
* still be filled in if asked for).
|
||||
*
|
||||
* Returns 0 is successfull, EINVAL if length is not 14 bytes
|
||||
* Returns 0 is successful, EINVAL if length is not 14 bytes
|
||||
*/
|
||||
static int doc_write_oob(struct mtd_info *mtd, loff_t ofs,
|
||||
struct mtd_oob_ops *ops)
|
||||
@ -1945,7 +1945,7 @@ static void doc_release_device(struct mtd_info *mtd)
|
||||
* docg3_resume - Awakens docg3 floor
|
||||
* @pdev: platfrom device
|
||||
*
|
||||
* Returns 0 (always successfull)
|
||||
* Returns 0 (always successful)
|
||||
*/
|
||||
static int docg3_resume(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -75,7 +75,7 @@ config CAN_KVASER_PCI
|
||||
tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
|
||||
depends on PCI
|
||||
---help---
|
||||
This driver is for the the PCIcanx and PCIcan cards (1, 2 or
|
||||
This driver is for the PCIcanx and PCIcan cards (1, 2 or
|
||||
4 channel) from Kvaser (http://www.kvaser.com).
|
||||
|
||||
config CAN_PLX_PCI
|
||||
|
@ -2549,8 +2549,7 @@ typhoon_init(void)
|
||||
static void __exit
|
||||
typhoon_cleanup(void)
|
||||
{
|
||||
if (typhoon_fw)
|
||||
release_firmware(typhoon_fw);
|
||||
release_firmware(typhoon_fw);
|
||||
pci_unregister_driver(&typhoon_driver);
|
||||
}
|
||||
|
||||
|
@ -15883,8 +15883,7 @@ static void __devexit tg3_remove_one(struct pci_dev *pdev)
|
||||
if (dev) {
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
|
||||
if (tp->fw)
|
||||
release_firmware(tp->fw);
|
||||
release_firmware(tp->fw);
|
||||
|
||||
tg3_reset_task_cancel(tp);
|
||||
|
||||
|
@ -3520,9 +3520,7 @@ static void __exit
|
||||
bnad_module_exit(void)
|
||||
{
|
||||
pci_unregister_driver(&bnad_pci_driver);
|
||||
|
||||
if (bfi_fw)
|
||||
release_firmware(bfi_fw);
|
||||
release_firmware(bfi_fw);
|
||||
}
|
||||
|
||||
module_init(bnad_module_init);
|
||||
|
@ -1260,8 +1260,7 @@ next:
|
||||
void
|
||||
netxen_release_firmware(struct netxen_adapter *adapter)
|
||||
{
|
||||
if (adapter->fw)
|
||||
release_firmware(adapter->fw);
|
||||
release_firmware(adapter->fw);
|
||||
adapter->fw = NULL;
|
||||
}
|
||||
|
||||
|
@ -1321,8 +1321,7 @@ next:
|
||||
void
|
||||
qlcnic_release_firmware(struct qlcnic_adapter *adapter)
|
||||
{
|
||||
if (adapter->fw)
|
||||
release_firmware(adapter->fw);
|
||||
release_firmware(adapter->fw);
|
||||
adapter->fw = NULL;
|
||||
}
|
||||
|
||||
|
@ -6051,7 +6051,7 @@ static int rtl_open(struct net_device *dev)
|
||||
pm_runtime_get_sync(&pdev->dev);
|
||||
|
||||
/*
|
||||
* Rx and Tx desscriptors needs 256 bytes alignment.
|
||||
* Rx and Tx descriptors needs 256 bytes alignment.
|
||||
* dma_alloc_coherent provides more.
|
||||
*/
|
||||
tp->TxDescArray = dma_alloc_coherent(&pdev->dev, R8169_TX_RING_BYTES,
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Ethernet driver for S6105 on chip network device
|
||||
* (c)2008 emlix GmbH http://www.emlix.com
|
||||
* Authors: Oskar Schirmer <os@emlix.com>
|
||||
* Authors: Oskar Schirmer <oskar@scara.com>
|
||||
* Daniel Gloeckner <dg@emlix.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@ -1070,4 +1070,4 @@ module_exit(s6gmac_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("S6105 on chip Ethernet driver");
|
||||
MODULE_AUTHOR("Oskar Schirmer <os@emlix.com>");
|
||||
MODULE_AUTHOR("Oskar Schirmer <oskar@scara.com>");
|
||||
|
@ -341,8 +341,8 @@ static int bdx_fw_load(struct bdx_priv *priv)
|
||||
out:
|
||||
if (master)
|
||||
WRITE_REG(priv, regINIT_SEMAPHORE, 1);
|
||||
if (fw)
|
||||
release_firmware(fw);
|
||||
|
||||
release_firmware(fw);
|
||||
|
||||
if (rc) {
|
||||
netdev_err(priv->ndev, "firmware loading failed\n");
|
||||
|
@ -316,7 +316,7 @@ config AU1000_FIR
|
||||
tristate "Alchemy IrDA SIR/FIR"
|
||||
depends on IRDA && MIPS_ALCHEMY
|
||||
help
|
||||
Say Y/M here to build suppor the the IrDA peripheral on the
|
||||
Say Y/M here to build support the IrDA peripheral on the
|
||||
Alchemy Au1000 and Au1100 SoCs.
|
||||
Say M to build a module; it will be called au1k_ir.ko
|
||||
|
||||
|
@ -348,7 +348,7 @@ int superio_fixup_irq(struct pci_dev *pcidev)
|
||||
BUG();
|
||||
return -1;
|
||||
}
|
||||
printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %p\n",
|
||||
printk("superio_fixup_irq(%s) ven 0x%x dev 0x%x from %pf\n",
|
||||
pci_name(pcidev),
|
||||
pcidev->vendor, pcidev->device,
|
||||
__builtin_return_address(0));
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*-*-linux-c-*-*/
|
||||
|
||||
/*
|
||||
Copyright (C) 2007,2008 Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
|
||||
Copyright (C) 2007,2008 Jonathan Woithe <jwoithe@just42.net>
|
||||
Copyright (C) 2008 Peter Gruber <nokos@gmx.net>
|
||||
Copyright (C) 2008 Tony Vroon <tony@linx.net>
|
||||
Based on earlier work:
|
||||
|
@ -451,7 +451,7 @@ static int bq27x00_battery_capacity_level(struct bq27x00_device_info *di,
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the battery Voltage in milivolts
|
||||
* Return the battery Voltage in millivolts
|
||||
* Or < 0 if something fails.
|
||||
*/
|
||||
static int bq27x00_battery_voltage(struct bq27x00_device_info *di,
|
||||
|
@ -70,7 +70,7 @@ config DP83640_PHY
|
||||
using the SO_TIMESTAMPING API.
|
||||
|
||||
In order for this to work, your MAC driver must also
|
||||
implement the skb_tx_timetamp() function.
|
||||
implement the skb_tx_timestamp() function.
|
||||
|
||||
config PTP_1588_CLOCK_PCH
|
||||
tristate "Intel PCH EG20T as PTP clock"
|
||||
|
@ -31,54 +31,54 @@
|
||||
TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 | \
|
||||
TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP)
|
||||
|
||||
/* supported VIO voltages in milivolts */
|
||||
/* supported VIO voltages in millivolts */
|
||||
static const u16 VIO_VSEL_table[] = {
|
||||
1500, 1800, 2500, 3300,
|
||||
};
|
||||
|
||||
/* VSEL tables for TPS65910 specific LDOs and dcdc's */
|
||||
|
||||
/* supported VDD3 voltages in milivolts */
|
||||
/* supported VDD3 voltages in millivolts */
|
||||
static const u16 VDD3_VSEL_table[] = {
|
||||
5000,
|
||||
};
|
||||
|
||||
/* supported VDIG1 voltages in milivolts */
|
||||
/* supported VDIG1 voltages in millivolts */
|
||||
static const u16 VDIG1_VSEL_table[] = {
|
||||
1200, 1500, 1800, 2700,
|
||||
};
|
||||
|
||||
/* supported VDIG2 voltages in milivolts */
|
||||
/* supported VDIG2 voltages in millivolts */
|
||||
static const u16 VDIG2_VSEL_table[] = {
|
||||
1000, 1100, 1200, 1800,
|
||||
};
|
||||
|
||||
/* supported VPLL voltages in milivolts */
|
||||
/* supported VPLL voltages in millivolts */
|
||||
static const u16 VPLL_VSEL_table[] = {
|
||||
1000, 1100, 1800, 2500,
|
||||
};
|
||||
|
||||
/* supported VDAC voltages in milivolts */
|
||||
/* supported VDAC voltages in millivolts */
|
||||
static const u16 VDAC_VSEL_table[] = {
|
||||
1800, 2600, 2800, 2850,
|
||||
};
|
||||
|
||||
/* supported VAUX1 voltages in milivolts */
|
||||
/* supported VAUX1 voltages in millivolts */
|
||||
static const u16 VAUX1_VSEL_table[] = {
|
||||
1800, 2500, 2800, 2850,
|
||||
};
|
||||
|
||||
/* supported VAUX2 voltages in milivolts */
|
||||
/* supported VAUX2 voltages in millivolts */
|
||||
static const u16 VAUX2_VSEL_table[] = {
|
||||
1800, 2800, 2900, 3300,
|
||||
};
|
||||
|
||||
/* supported VAUX33 voltages in milivolts */
|
||||
/* supported VAUX33 voltages in millivolts */
|
||||
static const u16 VAUX33_VSEL_table[] = {
|
||||
1800, 2000, 2800, 3300,
|
||||
};
|
||||
|
||||
/* supported VMMC voltages in milivolts */
|
||||
/* supported VMMC voltages in millivolts */
|
||||
static const u16 VMMC_VSEL_table[] = {
|
||||
1800, 2800, 3000, 3300,
|
||||
};
|
||||
|
@ -1105,8 +1105,7 @@ static void rproc_fw_config_virtio(const struct firmware *fw, void *context)
|
||||
goto out;
|
||||
|
||||
out:
|
||||
if (fw)
|
||||
release_firmware(fw);
|
||||
release_firmware(fw);
|
||||
/* allow rproc_unregister() contexts, if any, to proceed */
|
||||
complete_all(&rproc->firmware_loading_complete);
|
||||
}
|
||||
|
@ -1228,8 +1228,7 @@ static int asd_seq_start_lseq(struct asd_ha_struct *asd_ha, int lseq)
|
||||
|
||||
int asd_release_firmware(void)
|
||||
{
|
||||
if (sequencer_fw)
|
||||
release_firmware(sequencer_fw);
|
||||
release_firmware(sequencer_fw);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1000,7 +1000,7 @@ static int esp_check_spur_intr(struct esp *esp)
|
||||
|
||||
static void esp_schedule_reset(struct esp *esp)
|
||||
{
|
||||
esp_log_reset("ESP: esp_schedule_reset() from %p\n",
|
||||
esp_log_reset("ESP: esp_schedule_reset() from %pf\n",
|
||||
__builtin_return_address(0));
|
||||
esp->flags |= ESP_FLAG_RESETTING;
|
||||
esp_event(esp, ESP_EVENT_RESET);
|
||||
|
@ -4473,17 +4473,14 @@ qla1280_exit(void)
|
||||
pci_unregister_driver(&qla1280_pci_driver);
|
||||
/* release any allocated firmware images */
|
||||
for (i = 0; i < QL_NUM_FW_IMAGES; i++) {
|
||||
if (qla1280_fw_tbl[i].fw) {
|
||||
release_firmware(qla1280_fw_tbl[i].fw);
|
||||
qla1280_fw_tbl[i].fw = NULL;
|
||||
}
|
||||
release_firmware(qla1280_fw_tbl[i].fw);
|
||||
qla1280_fw_tbl[i].fw = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
module_init(qla1280_init);
|
||||
module_exit(qla1280_exit);
|
||||
|
||||
|
||||
MODULE_AUTHOR("Qlogic & Jes Sorensen");
|
||||
MODULE_DESCRIPTION("Qlogic ISP SCSI (qla1x80/qla1x160) driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -4122,8 +4122,7 @@ qla2x00_release_firmware(void)
|
||||
|
||||
mutex_lock(&qla_fw_lock);
|
||||
for (idx = 0; idx < FW_BLOBS; idx++)
|
||||
if (qla_fw_blobs[idx].fw)
|
||||
release_firmware(qla_fw_blobs[idx].fw);
|
||||
release_firmware(qla_fw_blobs[idx].fw);
|
||||
mutex_unlock(&qla_fw_lock);
|
||||
}
|
||||
|
||||
|
@ -664,7 +664,7 @@ static void scsi_abort_eh_cmnd(struct scsi_cmnd *scmd)
|
||||
}
|
||||
|
||||
/**
|
||||
* scsi_eh_prep_cmnd - Save a scsi command info as part of error recory
|
||||
* scsi_eh_prep_cmnd - Save a scsi command info as part of error recovery
|
||||
* @scmd: SCSI command structure to hijack
|
||||
* @ses: structure to save restore information
|
||||
* @cmnd: CDB to send. Can be NULL if no new cmnd is needed
|
||||
@ -739,7 +739,7 @@ void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *ses,
|
||||
EXPORT_SYMBOL(scsi_eh_prep_cmnd);
|
||||
|
||||
/**
|
||||
* scsi_eh_restore_cmnd - Restore a scsi command info as part of error recory
|
||||
* scsi_eh_restore_cmnd - Restore a scsi command info as part of error recovery
|
||||
* @scmd: SCSI command structure to restore
|
||||
* @ses: saved information from a coresponding call to scsi_eh_prep_cmnd
|
||||
*
|
||||
@ -762,7 +762,7 @@ void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd, struct scsi_eh_save *ses)
|
||||
EXPORT_SYMBOL(scsi_eh_restore_cmnd);
|
||||
|
||||
/**
|
||||
* scsi_send_eh_cmnd - submit a scsi command as part of error recory
|
||||
* scsi_send_eh_cmnd - submit a scsi command as part of error recovery
|
||||
* @scmd: SCSI command structure to hijack
|
||||
* @cmnd: CDB to send
|
||||
* @cmnd_size: size in bytes of @cmnd
|
||||
|
@ -914,7 +914,7 @@ static int gs_put_char(struct tty_struct *tty, unsigned char ch)
|
||||
unsigned long flags;
|
||||
int status;
|
||||
|
||||
pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %p\n",
|
||||
pr_vdebug("gs_put_char: (%d,%p) char=0x%x, called from %pf\n",
|
||||
port->port_num, tty, ch, __builtin_return_address(0));
|
||||
|
||||
spin_lock_irqsave(&port->port_lock, flags);
|
||||
|
@ -153,7 +153,7 @@ config USB_EHCI_HCD_OMAP
|
||||
bool "EHCI support for OMAP3 and later chips"
|
||||
depends on USB_EHCI_HCD && ARCH_OMAP
|
||||
default y
|
||||
--- help ---
|
||||
---help---
|
||||
Enables support for the on-chip EHCI controller on
|
||||
OMAP3 and later chips.
|
||||
|
||||
|
@ -110,7 +110,7 @@ UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003,
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_IGNORE_RESIDUE ),
|
||||
|
||||
/* Deduced by Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
|
||||
/* Deduced by Jonathan Woithe <jwoithe@just42.net>
|
||||
* Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message
|
||||
* always fails and confuses drive.
|
||||
*/
|
||||
|
@ -536,7 +536,7 @@ static int __devinit au1100fb_drv_probe(struct platform_device *dev)
|
||||
for (page = (unsigned long)fbdev->fb_mem;
|
||||
page < PAGE_ALIGN((unsigned long)fbdev->fb_mem + fbdev->fb_len);
|
||||
page += PAGE_SIZE) {
|
||||
#if CONFIG_DMA_NONCOHERENT
|
||||
#ifdef CONFIG_DMA_NONCOHERENT
|
||||
SetPageReserved(virt_to_page(CAC_ADDR((void *)page)));
|
||||
#else
|
||||
SetPageReserved(virt_to_page(page));
|
||||
|
@ -16,7 +16,7 @@ config W1_CON
|
||||
depends on CONNECTOR
|
||||
bool "Userspace communication over connector"
|
||||
default y
|
||||
--- help ---
|
||||
---help---
|
||||
This allows to communicate with userspace using connector. For more
|
||||
information see <file:Documentation/connector/connector.txt>.
|
||||
There are three types of messages between w1 core and userspace:
|
||||
|
@ -937,7 +937,7 @@ config BCM47XX_WDT
|
||||
tristate "Broadcom BCM47xx Watchdog Timer"
|
||||
depends on BCM47XX
|
||||
help
|
||||
Hardware driver for the Broadcom BCM47xx Watchog Timer.
|
||||
Hardware driver for the Broadcom BCM47xx Watchdog Timer.
|
||||
|
||||
config RC32434_WDT
|
||||
tristate "IDT RC32434 SoC Watchdog Timer"
|
||||
|
@ -71,7 +71,7 @@ config XEN_DEV_EVTCHN
|
||||
tristate "Xen /dev/xen/evtchn device"
|
||||
default y
|
||||
help
|
||||
The evtchn driver allows a userspace process to triger event
|
||||
The evtchn driver allows a userspace process to trigger event
|
||||
channels and to receive notification of an event channel
|
||||
firing.
|
||||
If in doubt, say yes.
|
||||
|
@ -2753,7 +2753,7 @@ static int write_dev_flush(struct btrfs_device *device, int wait)
|
||||
* one reference for us, and we leave it for the
|
||||
* caller
|
||||
*/
|
||||
device->flush_bio = NULL;;
|
||||
device->flush_bio = NULL;
|
||||
bio = bio_alloc(GFP_NOFS, 0);
|
||||
if (!bio)
|
||||
return -ENOMEM;
|
||||
|
@ -26,7 +26,7 @@ struct wm831x_backlight_pdata {
|
||||
struct wm831x_backup_pdata {
|
||||
int charger_enable;
|
||||
int no_constant_voltage; /** Disable constant voltage charging */
|
||||
int vlim; /** Voltage limit in milivolts */
|
||||
int vlim; /** Voltage limit in millivolts */
|
||||
int ilim; /** Current limit in microamps */
|
||||
};
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
/*
|
||||
* PAGE_ALLOC_COSTLY_ORDER is the order at which allocations are deemed
|
||||
* costly to service. That is between allocation orders which should
|
||||
* coelesce naturally under reasonable reclaim pressure and those which
|
||||
* coalesce naturally under reasonable reclaim pressure and those which
|
||||
* will not.
|
||||
*/
|
||||
#define PAGE_ALLOC_COSTLY_ORDER 3
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* rational fractions
|
||||
*
|
||||
* Copyright (C) 2009 emlix GmbH, Oskar Schirmer <os@emlix.com>
|
||||
* Copyright (C) 2009 emlix GmbH, Oskar Schirmer <oskar@scara.com>
|
||||
*
|
||||
* helper functions when coping with rational numbers,
|
||||
* e.g. when calculating optimum numerator/denominator pairs for
|
||||
|
@ -426,7 +426,7 @@ struct tcp_sock {
|
||||
|
||||
struct sk_buff_head out_of_order_queue; /* Out of order segments go here */
|
||||
|
||||
/* SACKs data, these 2 need to be together (see tcp_build_and_update_options) */
|
||||
/* SACKs data, these 2 need to be together (see tcp_options_write) */
|
||||
struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */
|
||||
struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user