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
|
D: Author of the longest-living linux bug
|
||||||
|
|
||||||
N: Jonathan Woithe
|
N: Jonathan Woithe
|
||||||
E: jwoithe@physics.adelaide.edu.au
|
E: jwoithe@just42.net
|
||||||
W: http://www.physics.adelaide.edu.au/~jwoithe
|
W: http:/www.just42.net/jwoithe
|
||||||
D: ALS-007 sound card extensions to Sound Blaster driver
|
D: ALS-007 sound card extensions to Sound Blaster driver
|
||||||
S: 20 Jordan St
|
S: 20 Jordan St
|
||||||
S: Valley View, SA 5093
|
S: Valley View, SA 5093
|
||||||
|
@ -204,7 +204,7 @@ Contact: Matthew Garrett <mjg@redhat.com>
|
|||||||
Description:
|
Description:
|
||||||
Some information about whether a given USB device is
|
Some information about whether a given USB device is
|
||||||
physically fixed to the platform can be inferred from a
|
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
|
such as ACPI. This file will read either "removable" or
|
||||||
"fixed" if the information is available, and "unknown"
|
"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.
|
* Sparc assembly will do this to ya.
|
||||||
*/
|
*/
|
||||||
C_LABEL(cputypvar):
|
C_LABEL(cputypvar):
|
||||||
.asciz "compatability"
|
.asciz "compatibility"
|
||||||
|
|
||||||
/* Tested on SS-5, SS-10. Probably someone at Sun applied a spell-checker. */
|
/* Tested on SS-5, SS-10. Probably someone at Sun applied a spell-checker. */
|
||||||
.align 4
|
.align 4
|
||||||
|
@ -918,7 +918,7 @@ and other resources, etc.
|
|||||||
<title>HSM violation</title>
|
<title>HSM violation</title>
|
||||||
<para>
|
<para>
|
||||||
This error is indicated when STATUS value doesn't match HSM
|
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>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -2023,7 +2023,7 @@ Possible values are:</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
|
<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>
|
top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
@ -2183,7 +2183,7 @@ Applicable to the MPEG4 and H264 encoders.</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
|
<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
|
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
|
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.".
|
encoder or editing process may produce.".
|
||||||
@ -2196,7 +2196,7 @@ Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
|
|||||||
<entry>integer</entry>
|
<entry>integer</entry>
|
||||||
</row>
|
</row>
|
||||||
<row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
|
<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>
|
Applicable to the H264 encoder.</entry>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
3. But there are some exceptions
|
3. But there are some exceptions
|
||||||
- Kernel permit the identical GPIO be requested both as GPIO and GPIO
|
- 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
|
Some drivers, like gpio-keys, need this behavior. Kernel only print out
|
||||||
warning messages like,
|
warning messages like,
|
||||||
bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0, and you are
|
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:
|
Required properties:
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ from the windriver disk into this directory.
|
|||||||
|
|
||||||
Then run
|
Then run
|
||||||
|
|
||||||
./get_dvb_firware opera1
|
./get_dvb_firmware opera1
|
||||||
|
|
||||||
and after that you have 2 files:
|
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).
|
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.
|
associated with a physical CPU socket.
|
||||||
|
|
||||||
Each MC have 3 physical read channels, 3 physical write channels and
|
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.
|
Each channel can have up to 3 DIMMs.
|
||||||
|
|
||||||
The minimum known unity is DIMMs. There are no information about csrows.
|
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)
|
(allways exists)
|
||||||
(More protocols can be defined in the future.
|
(More protocols can be defined in the future.
|
||||||
The client does not interpret this string it is
|
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
|
-o osdname of the requested target OSD
|
||||||
(Might be empty)
|
(Might be empty)
|
||||||
(A string which denotes the OSD name, there is a
|
(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.
|
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
|
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
|
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)
|
The Linux driver handles endianness transparently. (LE and BE)
|
||||||
|
|
||||||
Blocks
|
Blocks
|
||||||
@ -26,7 +26,7 @@ Blocks
|
|||||||
The space in the device or file is split up into blocks. These are a fixed
|
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
|
size of 512, 1024, 2048 or 4096, which is decided when the filesystem is
|
||||||
created.
|
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
|
2^32 * 4096 bytes or 16TB
|
||||||
|
|
||||||
The superblocks
|
The superblocks
|
||||||
@ -47,16 +47,16 @@ inactive superblock.
|
|||||||
Each superblock holds a set of root inodes for the different filesystem
|
Each superblock holds a set of root inodes for the different filesystem
|
||||||
parts. (Inode, Bitmap and Longfilenames)
|
parts. (Inode, Bitmap and Longfilenames)
|
||||||
Each of these root nodes holds information like total size of the stored
|
Each of these root nodes holds information like total size of the stored
|
||||||
data and the adressing levels in that specific tree.
|
data and the addressing levels in that specific tree.
|
||||||
If the level value is 0, up to 16 direct blocks can be adressed by each
|
If the level value is 0, up to 16 direct blocks can be addressed by each
|
||||||
node.
|
node.
|
||||||
Level 1 adds an additional indirect adressing level where each indirect
|
Level 1 adds an additional indirect addressing level where each indirect
|
||||||
adressing block holds up to blocksize / 4 bytes pointers to data blocks.
|
addressing block holds up to blocksize / 4 bytes pointers to data blocks.
|
||||||
Level 2 adds an additional indirect adressig block level (so, already up
|
Level 2 adds an additional indirect addressing block level (so, already up
|
||||||
to 16 * 256 * 256 = 1048576 blocks that can be adressed by such a tree)a
|
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,
|
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
|
Data leaves are always on the lowest level. So no data is stored on upper
|
||||||
tree levels.
|
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.
|
The Audi MMI 3G first superblock directly starts at byte 0.
|
||||||
Second superblock position can either be calculated from the superblock
|
Second superblock position can either be calculated from the superblock
|
||||||
information (total number of filesystem blocks) or by taking the highest
|
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.
|
that address.
|
||||||
|
|
||||||
0x1000 is the size reserved for each superblock - regardless of the
|
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)
|
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
|
There are also pointers to the first 16 blocks, if the object data can be
|
||||||
adressed with 16 direct blocks.
|
addressed with 16 direct blocks.
|
||||||
For more than 16 blocks an indirect adressing in form of another tree is
|
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)
|
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
|
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.
|
inode.
|
||||||
|
|
||||||
Character and block special devices do not exist in QNX as those files
|
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.
|
underlaying filesystem.
|
||||||
|
|
||||||
Long filenames
|
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.
|
is the longfilename root node in the active superblock.
|
||||||
Each data block (tree leaves) holds one long filename. That filename is
|
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
|
limited to 510 bytes. The first two starting bytes are used as length field
|
||||||
|
@ -63,7 +63,7 @@ Module Parameters
|
|||||||
Hardware Interfaces
|
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
|
through the LPC bus (ISA-like I/O ports). The IT8712F additionally has an
|
||||||
SMBus interface to the hardware monitoring functions. This driver no
|
SMBus interface to the hardware monitoring functions. This driver no
|
||||||
longer supports this interface though, as it is slower and less reliable
|
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
|
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.
|
times the ADC value.
|
||||||
|
|
||||||
Temperature Monitoring
|
Temperature Monitoring
|
||||||
|
@ -341,7 +341,7 @@ Need more implementation yet....
|
|||||||
--------------------------------
|
--------------------------------
|
||||||
8. Memory hotplug event notifier
|
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
|
MEMORY_GOING_ONLINE
|
||||||
Generated before new memory becomes available in order to be able to
|
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
|
The CAN device must be configured via netlink interface. The supported
|
||||||
netlink message types are defined and briefly described in
|
netlink message types are defined and briefly described in
|
||||||
"include/linux/can/netlink.h". CAN link support for the program "ip"
|
"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:
|
below:
|
||||||
|
|
||||||
- Setting CAN device properties:
|
- 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
|
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
|
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
|
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
|
at all. Usually Q bit problems will show themselves in unexplainable
|
||||||
system hangs or running off the end of physical memory.
|
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
|
mostly because of a lack of a generic API available in the mainline
|
||||||
kernel.
|
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
|
ALSA PCM interface, a new 'Compressed Data' API is introduced to
|
||||||
provide a control and data-streaming interface for audio DSPs.
|
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).
|
DSP/PCM/audio out (L&R), FM (L&R) and Mic in (mono).
|
||||||
|
|
||||||
Jonathan Woithe
|
Jonathan Woithe
|
||||||
jwoithe@physics.adelaide.edu.au
|
jwoithe@just42.net
|
||||||
30 March 1998
|
30 March 1998
|
||||||
|
|
||||||
Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200
|
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-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.
|
- 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.
|
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
|
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
|
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
|
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.
|
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
|
none
|
||||||
|
|
||||||
- primary handler of the EP-interrupt
|
- 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
|
sleeping is handed over to the Thread. The event is saved in an
|
||||||
per-endpoint data-structure.
|
per-endpoint data-structure.
|
||||||
We probably have to pay attention not to process events once we
|
We probably have to pay attention not to process events once we
|
||||||
|
@ -36,7 +36,7 @@ COMMAND/ARGS are
|
|||||||
|
|
||||||
get-cdid DEVICE
|
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-chid'. We might not know about it.
|
||||||
|
|
||||||
set-cc DEVICE
|
set-cc DEVICE
|
||||||
|
@ -12,7 +12,7 @@ gqcam application to view this stream.
|
|||||||
The driver is implemented as two kernel modules. The cpia2 module
|
The driver is implemented as two kernel modules. The cpia2 module
|
||||||
contains the camera functions and the V4L interface. The cpia2_usb 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
|
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.
|
there will be a parallel port version.
|
||||||
|
|
||||||
FEATURES:
|
FEATURES:
|
||||||
|
@ -2912,7 +2912,7 @@ S: Maintained
|
|||||||
F: arch/frv/
|
F: arch/frv/
|
||||||
|
|
||||||
FUJITSU LAPTOP EXTRAS
|
FUJITSU LAPTOP EXTRAS
|
||||||
M: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
|
M: Jonathan Woithe <jwoithe@just42.net>
|
||||||
L: platform-driver-x86@vger.kernel.org
|
L: platform-driver-x86@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/platform/x86/fujitsu-laptop.c
|
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
|
# 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
|
RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
|
||||||
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git
|
-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
|
# Rules shared between *config targets and build targets
|
||||||
@ -966,7 +968,7 @@ prepare3: include/config/kernel.release
|
|||||||
ifneq ($(KBUILD_SRC),)
|
ifneq ($(KBUILD_SRC),)
|
||||||
@$(kecho) ' Using $(srctree) as source for kernel'
|
@$(kecho) ' Using $(srctree) as source for kernel'
|
||||||
$(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
|
$(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.";\
|
echo " in the '$(srctree)' directory.";\
|
||||||
/bin/false; \
|
/bin/false; \
|
||||||
fi;
|
fi;
|
||||||
@ -1003,8 +1005,8 @@ define filechk_utsrelease.h
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define filechk_version.h
|
define filechk_version.h
|
||||||
(echo \#define LINUX_VERSION_CODE $(shell \
|
(echo \#define LINUX_VERSION_CODE $(shell \
|
||||||
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
|
expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
|
||||||
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
|
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
|
||||||
endef
|
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,
|
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
|
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
|
directory where you have permissions (eg. your home directory) and
|
||||||
unpack it:
|
unpack it:
|
||||||
|
|
||||||
gzip -cd linux-3.X.tar.gz | tar xvf -
|
gzip -cd linux-3.X.tar.gz | tar xvf -
|
||||||
|
|
||||||
or
|
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
|
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
|
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
|
- You can also upgrade between 3.x releases by patching. Patches are
|
||||||
distributed in the traditional gzip and the newer bzip2 format. To
|
distributed in the traditional gzip and the newer bzip2 format. To
|
||||||
install by patching, get all the newer patch files, enter the
|
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
|
or
|
||||||
bzip2 -dc ../patch-3.x.bz2 | patch -p1
|
|
||||||
|
|
||||||
(repeat xx for all versions bigger than the version of your current
|
bzip2 -dc ../patch-3.x.bz2 | patch -p1
|
||||||
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
|
Replace "x" for all versions bigger than the version "X" of your current
|
||||||
failed patches (xxx# or xxx.rej). If there are, either you or me has
|
source tree, _in_order_, and you should be ok. You may want to remove
|
||||||
made a mistake.
|
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
|
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
|
(also known as the -stable kernels) are not incremental but instead apply
|
||||||
directly to the base 3.x kernel. Please read
|
directly to the base 3.x kernel. For example, if your base kernel is 3.0
|
||||||
Documentation/applying-patches.txt for more information.
|
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
|
Alternatively, the script patch-kernel can be used to automate this
|
||||||
process. It determines the current kernel version and applies any
|
process. It determines the current kernel version and applies any
|
||||||
patches found.
|
patches found.
|
||||||
|
|
||||||
linux/scripts/patch-kernel linux
|
linux/scripts/patch-kernel linux
|
||||||
|
|
||||||
The first argument in the command above is the location of the
|
The first argument in the command above is the location of the
|
||||||
kernel source. Patches are applied from the current directory, but
|
kernel source. Patches are applied from the current directory, but
|
||||||
an alternative directory can be specified as the second argument.
|
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:
|
- Make sure you have no stale .o files and dependencies lying around:
|
||||||
|
|
||||||
cd linux
|
cd linux
|
||||||
make mrproper
|
make mrproper
|
||||||
|
|
||||||
You should now have the sources correctly installed.
|
You should now have the sources correctly installed.
|
||||||
|
|
||||||
@ -137,21 +131,23 @@ SOFTWARE REQUIREMENTS
|
|||||||
|
|
||||||
BUILD directory for the kernel:
|
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.
|
stored together with the kernel source code.
|
||||||
Using the option "make O=output/dir" allow you to specify an alternate
|
Using the option "make O=output/dir" allow you to specify an alternate
|
||||||
place for the output files (including .config).
|
place for the output files (including .config).
|
||||||
Example:
|
Example:
|
||||||
kernel source code: /usr/src/linux-3.N
|
|
||||||
build directory: /home/name/build/kernel
|
|
||||||
|
|
||||||
To configure and build the kernel use:
|
kernel source code: /usr/src/linux-3.X
|
||||||
cd /usr/src/linux-3.N
|
build directory: /home/name/build/kernel
|
||||||
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
|
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.
|
used for all invocations of make.
|
||||||
|
|
||||||
CONFIGURING the kernel:
|
CONFIGURING the kernel:
|
||||||
@ -163,61 +159,78 @@ CONFIGURING the kernel:
|
|||||||
new version with minimal work, use "make oldconfig", which will
|
new version with minimal work, use "make oldconfig", which will
|
||||||
only ask you for the answers to new questions.
|
only ask you for the answers to new questions.
|
||||||
|
|
||||||
- Alternate configuration commands are:
|
- Alternative configuration commands are:
|
||||||
"make config" Plain text interface.
|
|
||||||
"make menuconfig" Text based color menus, radiolists & dialogs.
|
"make config" Plain text interface.
|
||||||
"make nconfig" Enhanced text based color menus.
|
|
||||||
"make xconfig" X windows (Qt) based configuration tool.
|
"make menuconfig" Text based color menus, radiolists & dialogs.
|
||||||
"make gconfig" X windows (Gtk) based configuration tool.
|
|
||||||
"make oldconfig" Default all questions based on the contents of
|
"make nconfig" Enhanced text based color menus.
|
||||||
your existing ./.config file and asking about
|
|
||||||
new config symbols.
|
"make xconfig" X windows (Qt) based configuration tool.
|
||||||
"make silentoldconfig"
|
|
||||||
Like above, but avoids cluttering the screen
|
"make gconfig" X windows (Gtk) based configuration tool.
|
||||||
with questions already answered.
|
|
||||||
Additionally updates the dependencies.
|
"make oldconfig" Default all questions based on the contents of
|
||||||
"make defconfig" Create a ./.config file by using the default
|
your existing ./.config file and asking about
|
||||||
symbol values from either arch/$ARCH/defconfig
|
new config symbols.
|
||||||
or arch/$ARCH/configs/${PLATFORM}_defconfig,
|
|
||||||
depending on the architecture.
|
"make silentoldconfig"
|
||||||
"make ${PLATFORM}_defconfig"
|
Like above, but avoids cluttering the screen
|
||||||
Create a ./.config file by using the default
|
with questions already answered.
|
||||||
symbol values from
|
Additionally updates the dependencies.
|
||||||
arch/$ARCH/configs/${PLATFORM}_defconfig.
|
|
||||||
Use "make help" to get a list of all available
|
"make defconfig" Create a ./.config file by using the default
|
||||||
platforms of your architecture.
|
symbol values from either arch/$ARCH/defconfig
|
||||||
"make allyesconfig"
|
or arch/$ARCH/configs/${PLATFORM}_defconfig,
|
||||||
Create a ./.config file by setting symbol
|
depending on the architecture.
|
||||||
values to 'y' as much as possible.
|
|
||||||
"make allmodconfig"
|
"make ${PLATFORM}_defconfig"
|
||||||
Create a ./.config file by setting symbol
|
Create a ./.config file by using the default
|
||||||
values to 'm' as much as possible.
|
symbol values from
|
||||||
"make allnoconfig" Create a ./.config file by setting symbol
|
arch/$ARCH/configs/${PLATFORM}_defconfig.
|
||||||
values to 'n' as much as possible.
|
Use "make help" to get a list of all available
|
||||||
"make randconfig" Create a ./.config file by setting symbol
|
platforms of your architecture.
|
||||||
values to random values.
|
|
||||||
|
"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
|
You can find more information on using the Linux kernel config tools
|
||||||
in Documentation/kbuild/kconfig.txt.
|
in Documentation/kbuild/kconfig.txt.
|
||||||
|
|
||||||
NOTES on "make config":
|
- NOTES on "make config":
|
||||||
- having unnecessary drivers will make the kernel bigger, and can
|
|
||||||
under some circumstances lead to problems: probing for a
|
- Having unnecessary drivers will make the kernel bigger, and can
|
||||||
nonexistent controller card may confuse your other controllers
|
under some circumstances lead to problems: probing for a
|
||||||
- compiling the kernel with "Processor type" set higher than 386
|
nonexistent controller card may confuse your other controllers
|
||||||
will result in a kernel that does NOT work on a 386. The
|
|
||||||
kernel will detect this on bootup, and give up.
|
- Compiling the kernel with "Processor type" set higher than 386
|
||||||
- A kernel with math-emulation compiled in will still use the
|
will result in a kernel that does NOT work on a 386. The
|
||||||
coprocessor if one is present: the math emulation will just
|
kernel will detect this on bootup, and give up.
|
||||||
never get used in that case. The kernel will be slightly larger,
|
|
||||||
but will work on different machines regardless of whether they
|
- A kernel with math-emulation compiled in will still use the
|
||||||
have a math coprocessor or not.
|
coprocessor if one is present: the math emulation will just
|
||||||
- the "kernel hacking" configuration details usually result in a
|
never get used in that case. The kernel will be slightly larger,
|
||||||
bigger or slower kernel (or both), and can even make the kernel
|
but will work on different machines regardless of whether they
|
||||||
less stable by configuring some routines to actively try to
|
have a math coprocessor or not.
|
||||||
break bad code to find kernel problems (kmalloc()). Thus you
|
|
||||||
should probably answer 'n' to the questions for
|
- The "kernel hacking" configuration details usually result in a
|
||||||
"development", "experimental", or "debugging" features.
|
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:
|
COMPILING the kernel:
|
||||||
|
|
||||||
@ -230,7 +243,7 @@ COMPILING the kernel:
|
|||||||
possible to do "make install" if you have lilo installed to suit the
|
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.
|
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.
|
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
|
- 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:
|
- 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
|
totally silent). However, sometimes you or other kernel developers need
|
||||||
to see compile, link, or other commands exactly as they are executed.
|
to see compile, link, or other commands exactly as they are executed.
|
||||||
For this, use "verbose" build mode. This is done by inserting
|
For this, use "verbose" build mode. This is done by inserting
|
||||||
"V=1" in the "make" command. E.g.:
|
"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
|
To have the build system also tell the reason for the rebuild of each
|
||||||
target, use "V=2". The default is "V=0".
|
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
|
are installing a new kernel with the same version number as your
|
||||||
working kernel, make a backup of your modules directory before you
|
working kernel, make a backup of your modules directory before you
|
||||||
do a "make modules_install".
|
do a "make modules_install".
|
||||||
|
|
||||||
Alternatively, before compiling, use the kernel config option
|
Alternatively, before compiling, use the kernel config option
|
||||||
"LOCALVERSION" to append a unique suffix to the regular kernel version.
|
"LOCALVERSION" to append a unique suffix to the regular kernel version.
|
||||||
LOCALVERSION can be set in the "General Setup" menu.
|
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
|
- Booting a kernel directly from a floppy without the assistance of a
|
||||||
bootloader such as LILO, is no longer supported.
|
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
|
uses the kernel image as specified in the file /etc/lilo.conf. The
|
||||||
kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or
|
kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or
|
||||||
/boot/bzImage. To use the new kernel, save a copy of the old image
|
/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
|
- If the bug results in a message like
|
||||||
|
|
||||||
unable to handle kernel paging request at address C0000010
|
unable to handle kernel paging request at address C0000010
|
||||||
Oops: 0002
|
Oops: 0002
|
||||||
EIP: 0010:XXXXXXXX
|
EIP: 0010:XXXXXXXX
|
||||||
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
|
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
|
||||||
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
|
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
|
||||||
ds: xxxx es: xxxx fs: xxxx gs: xxxx
|
ds: xxxx es: xxxx fs: xxxx gs: xxxx
|
||||||
Pid: xx, process nr: xx
|
Pid: xx, process nr: xx
|
||||||
xx xx xx xx xx xx xx xx xx xx
|
xx xx xx xx xx xx xx xx xx xx
|
||||||
|
|
||||||
or similar kernel debugging information on your screen or in your
|
or similar kernel debugging information on your screen or in your
|
||||||
system log, please duplicate it *exactly*. The dump may look
|
system log, please duplicate it *exactly*. The dump may look
|
||||||
incomprehensible to you, but it does contain information that may
|
incomprehensible to you, but it does contain information that may
|
||||||
help debugging the problem. The text above the dump is also
|
help debugging the problem. The text above the dump is also
|
||||||
important: it tells something about why the kernel dumped code (in
|
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
|
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
|
- 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).
|
sense of the dump (but compiling with CONFIG_KALLSYMS is usually preferred).
|
||||||
This utility can be downloaded from
|
This utility can be downloaded from
|
||||||
ftp://ftp.<country>.kernel.org/pub/linux/utils/kernel/ksymoops/ .
|
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
|
- 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
|
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 file 'linux/vmlinux'. To extract the namelist and match it against
|
||||||
the EIP from the kernel crash, do:
|
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
|
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
|
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
|
kernel image or similar), telling me as much about your setup as
|
||||||
possible will help. Please read the REPORTING-BUGS document for details.
|
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
|
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
|
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").
|
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;
|
ok = 0;
|
||||||
|
|
||||||
/* If both conditions above are met, we are fine. */
|
/* 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));
|
ok ? "yes" : "no", __builtin_return_address(0));
|
||||||
|
|
||||||
return ok;
|
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) {
|
&& paddr + size <= __direct_map_size) {
|
||||||
ret = paddr + __direct_map_base;
|
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));
|
cpu_addr, size, ret, __builtin_return_address(0));
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -279,7 +279,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
|
|||||||
if (dac_allowed) {
|
if (dac_allowed) {
|
||||||
ret = paddr + alpha_mv.pci_dac_offset;
|
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));
|
cpu_addr, size, ret, __builtin_return_address(0));
|
||||||
|
|
||||||
return ret;
|
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 = arena->dma_base + dma_ofs * PAGE_SIZE;
|
||||||
ret += (unsigned long)cpu_addr & ~PAGE_MASK;
|
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));
|
cpu_addr, size, npages, ret, __builtin_return_address(0));
|
||||||
|
|
||||||
return ret;
|
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) {
|
&& dma_addr < __direct_map_base + __direct_map_size) {
|
||||||
/* Nothing to do. */
|
/* 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));
|
dma_addr, size, __builtin_return_address(0));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dma_addr > 0xffffffff) {
|
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));
|
dma_addr, size, __builtin_return_address(0));
|
||||||
return;
|
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);
|
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));
|
dma_addr, size, npages, __builtin_return_address(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ try_again:
|
|||||||
cpu_addr = (void *)__get_free_pages(gfp, order);
|
cpu_addr = (void *)__get_free_pages(gfp, order);
|
||||||
if (! cpu_addr) {
|
if (! cpu_addr) {
|
||||||
printk(KERN_INFO "pci_alloc_consistent: "
|
printk(KERN_INFO "pci_alloc_consistent: "
|
||||||
"get_free_pages failed from %p\n",
|
"get_free_pages failed from %pf\n",
|
||||||
__builtin_return_address(0));
|
__builtin_return_address(0));
|
||||||
/* ??? Really atomic allocation? Otherwise we could play
|
/* ??? Really atomic allocation? Otherwise we could play
|
||||||
with vmalloc and sg if we can't find contiguous memory. */
|
with vmalloc and sg if we can't find contiguous memory. */
|
||||||
@ -466,7 +466,7 @@ try_again:
|
|||||||
goto 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));
|
size, cpu_addr, *dma_addrp, __builtin_return_address(0));
|
||||||
|
|
||||||
return cpu_addr;
|
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);
|
pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
|
||||||
free_pages((unsigned long)cpu_addr, get_order(size));
|
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));
|
dma_addr, size, __builtin_return_address(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1914,10 +1914,10 @@ choice
|
|||||||
default ZBOOT_ROM_NONE
|
default ZBOOT_ROM_NONE
|
||||||
help
|
help
|
||||||
Include experimental SD/MMC loading code in the ROM-able zImage.
|
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
|
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
|
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.
|
rest the kernel image to RAM.
|
||||||
|
|
||||||
config ZBOOT_ROM_NONE
|
config ZBOOT_ROM_NONE
|
||||||
|
@ -210,7 +210,7 @@ config SMDK6410_WM1190_EV1
|
|||||||
and audio daughtercard for the Samsung SMDK6410 reference
|
and audio daughtercard for the Samsung SMDK6410 reference
|
||||||
platform. Enabling this option will build support for this
|
platform. Enabling this option will build support for this
|
||||||
module into the kernel. The presence of the module will be
|
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.
|
with or without the 1190-EV1 fitted.
|
||||||
|
|
||||||
config SMDK6410_WM1192_EV1
|
config SMDK6410_WM1192_EV1
|
||||||
@ -226,7 +226,7 @@ config SMDK6410_WM1192_EV1
|
|||||||
daughtercard for the Samsung SMDK6410 reference platform.
|
daughtercard for the Samsung SMDK6410 reference platform.
|
||||||
Enabling this option will build support for this module into
|
Enabling this option will build support for this module into
|
||||||
the kernel. The presence of the daughtercard will be
|
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.
|
with or without the 1192-EV1 fitted.
|
||||||
|
|
||||||
config MACH_NCP
|
config MACH_NCP
|
||||||
|
@ -147,7 +147,7 @@ void float_raise(signed char flags)
|
|||||||
#ifdef CONFIG_DEBUG_USER
|
#ifdef CONFIG_DEBUG_USER
|
||||||
if (flags & debug)
|
if (flags & debug)
|
||||||
printk(KERN_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,
|
current->comm, current->pid, flags,
|
||||||
__builtin_return_address(0), GET_USERREG()->ARM_pc);
|
__builtin_return_address(0), GET_USERREG()->ARM_pc);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1309,7 +1309,7 @@ config PM_BFIN_WAKE_GP
|
|||||||
(all processors, except ADSP-BF549). This option sets
|
(all processors, except ADSP-BF549). This option sets
|
||||||
the general-purpose wake-up enable (GPWE) control bit to enable
|
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.
|
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.
|
/MRXON pin also PH7.
|
||||||
|
|
||||||
config PM_BFIN_WAKE_PA15
|
config PM_BFIN_WAKE_PA15
|
||||||
|
@ -7,7 +7,7 @@ choice
|
|||||||
help
|
help
|
||||||
The Freescale (was Motorola) M68K family of processors implements
|
The Freescale (was Motorola) M68K family of processors implements
|
||||||
the full 68000 processor instruction set.
|
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
|
of the 68000 processor family. They are mainly targeted at embedded
|
||||||
applications, and are all System-On-Chip (SOC) devices, as opposed
|
applications, and are all System-On-Chip (SOC) devices, as opposed
|
||||||
to stand alone CPUs. They implement a subset of the original 68000
|
to stand alone CPUs. They implement a subset of the original 68000
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* Copyright (C) 2000, Lineo (www.lineo.com)
|
* Copyright (C) 2000, Lineo (www.lineo.com)
|
||||||
* Yaroslav Vinogradov yaroslav.vinogradov@freescale.com
|
* Yaroslav Vinogradov yaroslav.vinogradov@freescale.com
|
||||||
* Copyright Freescale Semiconductor, Inc 2006
|
* 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
|
* 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
|
||||||
|
@ -1002,12 +1002,12 @@ config HOLES_IN_ZONE
|
|||||||
bool
|
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
|
# 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 statement should be more obvious to the user.
|
||||||
#
|
#
|
||||||
choice
|
choice
|
||||||
prompt "Endianess selection"
|
prompt "Endianness selection"
|
||||||
help
|
help
|
||||||
Some MIPS machines can be configured for either little or big endian
|
Some MIPS machines can be configured for either little or big endian
|
||||||
byte order. These modes require different kernels and a different
|
byte order. These modes require different kernels and a different
|
||||||
|
@ -57,7 +57,7 @@ config CMDLINE
|
|||||||
options.
|
options.
|
||||||
|
|
||||||
config CMDLINE_OVERRIDE
|
config CMDLINE_OVERRIDE
|
||||||
bool "Built-in command line overrides firware arguments"
|
bool "Built-in command line overrides firmware arguments"
|
||||||
default n
|
default n
|
||||||
depends on CMDLINE_BOOL
|
depends on CMDLINE_BOOL
|
||||||
help
|
help
|
||||||
|
@ -209,7 +209,7 @@ void mips_mt_set_cpuoptions(void)
|
|||||||
unsigned int nconfig7 = oconfig7;
|
unsigned int nconfig7 = oconfig7;
|
||||||
|
|
||||||
if (mt_opt_norps) {
|
if (mt_opt_norps) {
|
||||||
printk("\"norps\" option deprectated: use \"rpsctl=\"\n");
|
printk("\"norps\" option deprecated: use \"rpsctl=\"\n");
|
||||||
}
|
}
|
||||||
if (mt_opt_rpsctl >= 0) {
|
if (mt_opt_rpsctl >= 0) {
|
||||||
printk("34K return prediction stack override set to %d.\n",
|
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);
|
int ret = platform_driver_register(<q_gpio_driver);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_info("ltq_gpio : Error registering platfom driver!");
|
pr_info("ltq_gpio : Error registering platform driver!");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ static int __init ltq_ebu_init(void)
|
|||||||
int ret = platform_driver_register(<q_ebu_driver);
|
int ret = platform_driver_register(<q_ebu_driver);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_info("ltq_ebu : Error registering platfom driver!");
|
pr_info("ltq_ebu : Error registering platform driver!");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ int __init ltq_stp_init(void)
|
|||||||
int ret = platform_driver_register(<q_stp_driver);
|
int ret = platform_driver_register(<q_stp_driver);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_info("ltq_stp: error registering platfom driver");
|
pr_info("ltq_stp: error registering platform driver");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ static void __init sni_pcimt_sc_init(void)
|
|||||||
|
|
||||||
scsiz = cacheconf & 7;
|
scsiz = cacheconf & 7;
|
||||||
if (scsiz == 0) {
|
if (scsiz == 0) {
|
||||||
printk("Second level cache is deactived.\n");
|
printk("Second level cache is deactivated.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (scsiz >= 6) {
|
if (scsiz >= 6) {
|
||||||
|
@ -142,7 +142,7 @@ config DEBUG_STACKOVERFLOW
|
|||||||
bool "Check for kernel stack overflow"
|
bool "Check for kernel stack overflow"
|
||||||
default y
|
default y
|
||||||
help
|
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,
|
critical functions. This will cause kernel to run a bit slower,
|
||||||
but will catch most of kernel stack overruns and exit gracefuly.
|
but will catch most of kernel stack overruns and exit gracefuly.
|
||||||
|
|
||||||
|
@ -258,7 +258,7 @@ config PPC_ICSWX_PID
|
|||||||
default y
|
default y
|
||||||
---help---
|
---help---
|
||||||
The PID register in server is used explicitly for ICSWX. In
|
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
|
config PPC_ICSWX_USE_SIGILL
|
||||||
bool "Should a bad CT cause a SIGILL?"
|
bool "Should a bad CT cause a SIGILL?"
|
||||||
@ -266,7 +266,7 @@ config PPC_ICSWX_USE_SIGILL
|
|||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
Should a bad CT used for "non-record form ICSWX" cause an
|
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.
|
architected.
|
||||||
|
|
||||||
If in doubt, say N here.
|
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
|
This option will only enable the IO event platform code. You
|
||||||
will still need to enable or compile the actual drivers
|
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.
|
Say Y if you are unsure.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
menu "Processor features"
|
menu "Processor features"
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Endianess selection"
|
prompt "Endianness selection"
|
||||||
default CPU_LITTLE_ENDIAN
|
default CPU_LITTLE_ENDIAN
|
||||||
help
|
help
|
||||||
Some SuperH machines can be configured for either little or big
|
Some SuperH machines can be configured for either little or big
|
||||||
|
@ -63,7 +63,7 @@ ATOMIC64_DECL(add_unless);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* atomic64_cmpxchg - cmpxchg atomic64 variable
|
* atomic64_cmpxchg - cmpxchg atomic64 variable
|
||||||
* @p: pointer to type atomic64_t
|
* @v: pointer to type atomic64_t
|
||||||
* @o: expected value
|
* @o: expected value
|
||||||
* @n: new 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
|
* atomic64_set - set atomic64 variable
|
||||||
* @v: pointer to type atomic64_t
|
* @v: pointer to type atomic64_t
|
||||||
* @n: value to assign
|
* @i: value to assign
|
||||||
*
|
*
|
||||||
* Atomically sets the value of @v to @n.
|
* 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
|
* atomic64_sub_and_test - subtract value from variable and test result
|
||||||
* @i: integer value to subtract
|
* @i: integer value to subtract
|
||||||
* @v: pointer to type atomic64_t
|
* @v: pointer to type atomic64_t
|
||||||
*
|
*
|
||||||
* Atomically subtracts @i from @v and returns
|
* Atomically subtracts @i from @v and returns
|
||||||
* true if the result is zero, or false for all
|
* true if the result is zero, or false for all
|
||||||
* other cases.
|
* other cases.
|
||||||
@ -224,9 +224,9 @@ static inline void atomic64_inc(atomic64_t *v)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* atomic64_dec - decrement atomic64 variable
|
* 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)
|
static inline void atomic64_dec(atomic64_t *v)
|
||||||
{
|
{
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* %X86_MODEL_ANY, %X86_FEATURE_ANY or 0 (except for vendor)
|
* %X86_MODEL_ANY, %X86_FEATURE_ANY or 0 (except for vendor)
|
||||||
*
|
*
|
||||||
* Arrays used to match for this should also be declared using
|
* 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
|
* This always matches against the boot cpu, assuming models and features are
|
||||||
* consistent over all CPUs.
|
* 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>
|
* Daniel Gloeckner <dg@emlix.com>
|
||||||
* (c) 2008 emlix GmbH http://www.emlix.com
|
* (c) 2008 emlix GmbH http://www.emlix.com
|
||||||
*
|
*
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
* s6000 gpio driver
|
* s6000 gpio driver
|
||||||
*
|
*
|
||||||
* Copyright (c) 2009 emlix GmbH
|
* Copyright (c) 2009 emlix GmbH
|
||||||
* Authors: Oskar Schirmer <os@emlix.com>
|
* Authors: Oskar Schirmer <oskar@scara.com>
|
||||||
* Johannes Weiner <jw@emlix.com>
|
* Johannes Weiner <hannes@cmpxchg.org>
|
||||||
* Daniel Gloeckner <dg@emlix.com>
|
* Daniel Gloeckner <dg@emlix.com>
|
||||||
*/
|
*/
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
* Copyright (C) 2006 Tensilica Inc.
|
* Copyright (C) 2006 Tensilica Inc.
|
||||||
* Copyright (C) 2008 Emlix GmbH <info@emlix.com>
|
* Copyright (C) 2008 Emlix GmbH <info@emlix.com>
|
||||||
* Authors: Fabian Godehardt <fg@emlix.com>
|
* Authors: Fabian Godehardt <fg@emlix.com>
|
||||||
* Oskar Schirmer <os@emlix.com>
|
* Oskar Schirmer <oskar@scara.com>
|
||||||
* Daniel Gloeckner <dg@emlix.com>
|
* Daniel Gloeckner <dg@emlix.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
* s6000 irq crossbar
|
* s6000 irq crossbar
|
||||||
*
|
*
|
||||||
* Copyright (c) 2009 emlix GmbH
|
* Copyright (c) 2009 emlix GmbH
|
||||||
* Authors: Johannes Weiner <jw@emlix.com>
|
* Authors: Johannes Weiner <hannes@cmpxchg.org>
|
||||||
* Oskar Schirmer <os@emlix.com>
|
* Oskar Schirmer <oskar@scara.com>
|
||||||
*/
|
*/
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
@ -16,7 +16,7 @@ menuconfig PM_DEVFREQ
|
|||||||
is attached to a single device and returns a "representative"
|
is attached to a single device and returns a "representative"
|
||||||
clock frequency of the device, which is also attached
|
clock frequency of the device, which is also attached
|
||||||
to a device by 1-to-1. The device registering devfreq takes the
|
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
|
to set its every clock accordingly with the "target" callback
|
||||||
given to devfreq.
|
given to devfreq.
|
||||||
|
|
||||||
|
@ -107,13 +107,13 @@ extern int edac_debug_level;
|
|||||||
*
|
*
|
||||||
* CPU caches (L1 and L2)
|
* CPU caches (L1 and L2)
|
||||||
* DMA engines
|
* DMA engines
|
||||||
* Core CPU swithces
|
* Core CPU switches
|
||||||
* Fabric switch units
|
* Fabric switch units
|
||||||
* PCIe interface controllers
|
* PCIe interface controllers
|
||||||
* other EDAC/ECC type devices that can be monitored for
|
* other EDAC/ECC type devices that can be monitored for
|
||||||
* errors, etc.
|
* 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.
|
* cache could be composed of L1, L2 and L3 levels of cache.
|
||||||
* Each CPU core would have its own L1 cache, while sharing
|
* 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
|
* The control structure is allocated in complete chunk
|
||||||
* from the OS. It is in turn sub allocated to the
|
* 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.
|
* The structure has a 'nr_instance' array within itself.
|
||||||
* Each instance represents a major component
|
* 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 */
|
/* Calc the 'end' offset past the attributes array */
|
||||||
pvt = edac_align_ptr(&dev_attrib[count], sz_private);
|
pvt = edac_align_ptr(&dev_attrib[count], sz_private);
|
||||||
} else {
|
} else {
|
||||||
/* no attribute array specificed */
|
/* no attribute array specified */
|
||||||
pvt = edac_align_ptr(dev_attrib, sz_private);
|
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
|
/* 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
|
* 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
|
* between integral seconds
|
||||||
*/
|
*/
|
||||||
if (edac_dev->poll_msec == 1000)
|
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
|
* Remove sysfs entries for specified edac_device structure and
|
||||||
* then remove edac_device structure from global list
|
* then remove edac_device structure from global list
|
||||||
*
|
*
|
||||||
* @pdev:
|
* @dev:
|
||||||
* Pointer to 'struct device' representing edac_device
|
* Pointer to 'struct device' representing edac_device
|
||||||
* structure to remove.
|
* 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
|
#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
|
* 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 DIMM1_COR_ERR(r) (((r) >> 16) & 0x7fff)
|
||||||
#define DIMM0_COR_ERR(r) ((r) & 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 MC_SSRCONTROL 0x48
|
||||||
#define SSR_MODE_DISABLE 0x00
|
#define SSR_MODE_DISABLE 0x00
|
||||||
#define SSR_MODE_ENABLE 0x01
|
#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 */
|
/* MC_CONTROL bits */
|
||||||
@ -1361,7 +1361,7 @@ static int i7core_get_onedevice(struct pci_dev **prev,
|
|||||||
dev_descr->dev_id, *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
|
* is at addr 8086:2c40, instead of 8086:2c41. So, we need
|
||||||
* to probe for the alternate address in case of failure
|
* 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
|
* 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.
|
* SCRUBINTERVAL formula found in datasheet.
|
||||||
*/
|
*/
|
||||||
static int get_sdram_scrub_rate(struct mem_ctl_info *mci)
|
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
|
* 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
|
* moved to pci_id.h when submitted upstream
|
||||||
*/
|
*/
|
||||||
#define PCI_DEVICE_ID_INTEL_SBRIDGE_SAD0 0x3cf4 /* 12.6 */
|
#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)
|
static inline int numrank(u32 mtr)
|
||||||
@ -1430,7 +1430,7 @@ static void sbridge_mce_output_error(struct mem_ctl_info *mci,
|
|||||||
type = "FATAL";
|
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:
|
* memory errors should fit in this mask:
|
||||||
* 000f 0000 1mmm cccc (binary)
|
* 000f 0000 1mmm cccc (binary)
|
||||||
* where:
|
* where:
|
||||||
|
@ -1827,14 +1827,10 @@ void radeon_do_release(struct drm_device * dev)
|
|||||||
r600_do_cleanup_cp(dev);
|
r600_do_cleanup_cp(dev);
|
||||||
else
|
else
|
||||||
radeon_do_cleanup_cp(dev);
|
radeon_do_cleanup_cp(dev);
|
||||||
if (dev_priv->me_fw) {
|
release_firmware(dev_priv->me_fw);
|
||||||
release_firmware(dev_priv->me_fw);
|
dev_priv->me_fw = NULL;
|
||||||
dev_priv->me_fw = NULL;
|
release_firmware(dev_priv->pfp_fw);
|
||||||
}
|
dev_priv->pfp_fw = NULL;
|
||||||
if (dev_priv->pfp_fw) {
|
|
||||||
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 */
|
/* nothing to do if vm isn't bound */
|
||||||
if (vm->id == -1)
|
if (vm->id == -1)
|
||||||
return 0;;
|
return 0;
|
||||||
|
|
||||||
bo_va = radeon_bo_va(bo, vm);
|
bo_va = radeon_bo_va(bo, vm);
|
||||||
if (bo_va == NULL) {
|
if (bo_va == NULL) {
|
||||||
|
@ -91,7 +91,7 @@ int radeon_gem_set_domain(struct drm_gem_object *gobj,
|
|||||||
}
|
}
|
||||||
if (!domain) {
|
if (!domain) {
|
||||||
/* Do nothings */
|
/* Do nothings */
|
||||||
printk(KERN_WARNING "Set domain withou domain !\n");
|
printk(KERN_WARNING "Set domain without domain !\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (domain == RADEON_GEM_DOMAIN_CPU) {
|
if (domain == RADEON_GEM_DOMAIN_CPU) {
|
||||||
|
@ -470,7 +470,7 @@ config HID_PICOLCD_FB
|
|||||||
select FB_SYS_FOPS
|
select FB_SYS_FOPS
|
||||||
---help---
|
---help---
|
||||||
Provide access to PicoLCD's 256x64 monochrome display via a
|
Provide access to PicoLCD's 256x64 monochrome display via a
|
||||||
frambuffer device.
|
framebuffer device.
|
||||||
|
|
||||||
config HID_PICOLCD_BACKLIGHT
|
config HID_PICOLCD_BACKLIGHT
|
||||||
bool "Backlight control" if EXPERT
|
bool "Backlight control" if EXPERT
|
||||||
|
@ -318,7 +318,7 @@ config SENSORS_EXYNOS4_TMU
|
|||||||
tristate "Temperature sensor on Samsung EXYNOS4"
|
tristate "Temperature sensor on Samsung EXYNOS4"
|
||||||
depends on ARCH_EXYNOS4
|
depends on ARCH_EXYNOS4
|
||||||
help
|
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.
|
Unit) on SAMSUNG EXYNOS4 series of SoC.
|
||||||
|
|
||||||
This driver can also be built as a module. If so, the module
|
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
|
For details please see http://www.ti.com/davinci
|
||||||
|
|
||||||
config I2C_DESIGNWARE_PLATFORM
|
config I2C_DESIGNWARE_PLATFORM
|
||||||
tristate "Synopsys DesignWare Platfrom"
|
tristate "Synopsys DesignWare Platform"
|
||||||
depends on HAVE_CLK
|
depends on HAVE_CLK
|
||||||
help
|
help
|
||||||
If you say yes to this option, support will be included for the
|
If you say yes to this option, support will be included for the
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Description: Driver for S6000 Family I2C Interface
|
* Description: Driver for S6000 Family I2C Interface
|
||||||
* Copyright (c) 2008 emlix GmbH
|
* 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>
|
* Partially based on i2c-bfin-twi.c driver by <sonic.zhang@analog.com>
|
||||||
* Copyright (c) 2005-2007 Analog Devices, Inc.
|
* Copyright (c) 2005-2007 Analog Devices, Inc.
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008 Emlix GmbH <info@emlix.com>
|
* 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
|
#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
|
With this option you can enable support for AMD IOMMU hardware in
|
||||||
your system. An IOMMU is a hardware component which provides
|
your system. An IOMMU is a hardware component which provides
|
||||||
remapping of DMA memory accesses from devices. With an AMD IOMMU you
|
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.
|
system from misbehaving device drivers or hardware.
|
||||||
|
|
||||||
You can find out if your system has an AMD IOMMU if you look into
|
You can find out if your system has an AMD IOMMU if you look into
|
||||||
@ -67,7 +67,7 @@ config AMD_IOMMU_V2
|
|||||||
---help---
|
---help---
|
||||||
This option enables support for the AMD IOMMUv2 features of the IOMMU
|
This option enables support for the AMD IOMMUv2 features of the IOMMU
|
||||||
hardware. Select this option if you want to use devices that support
|
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
|
# Intel IOMMU support
|
||||||
config DMAR_TABLE
|
config DMAR_TABLE
|
||||||
|
@ -417,7 +417,7 @@ config MFD_MAX8925
|
|||||||
select MFD_CORE
|
select MFD_CORE
|
||||||
help
|
help
|
||||||
Say yes here to support for Maxim Semiconductor MAX8925. This is
|
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
|
accessing the device, additional drivers must be enabled in order
|
||||||
to use the functionality of the device.
|
to use the functionality of the device.
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ config MFD_MAX8998
|
|||||||
help
|
help
|
||||||
Say yes here to support for Maxim Semiconductor MAX8998 and
|
Say yes here to support for Maxim Semiconductor MAX8998 and
|
||||||
National Semiconductor LP3974. This is a Power Management IC.
|
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
|
additional drivers must be enabled in order to use the functionality
|
||||||
of the device.
|
of the device.
|
||||||
|
|
||||||
@ -451,7 +451,7 @@ config MFD_S5M_CORE
|
|||||||
select REGMAP_I2C
|
select REGMAP_I2C
|
||||||
help
|
help
|
||||||
Support for the Samsung Electronics S5M MFD series.
|
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
|
additional drivers must be enabled in order to use the functionality
|
||||||
of the device
|
of the device
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define COMP1 1
|
#define COMP1 1
|
||||||
#define COMP2 2
|
#define COMP2 2
|
||||||
|
|
||||||
/* Comparator 1 voltage selection table in milivolts */
|
/* Comparator 1 voltage selection table in millivolts */
|
||||||
static const u16 COMP_VSEL_TABLE[] = {
|
static const u16 COMP_VSEL_TABLE[] = {
|
||||||
0, 2500, 2500, 2500, 2500, 2550, 2600, 2650,
|
0, 2500, 2500, 2500, 2500, 2550, 2600, 2650,
|
||||||
2700, 2750, 2800, 2850, 2900, 2950, 3000, 3050,
|
2700, 2750, 2800, 2850, 2900, 2950, 3000, 3050,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
menuconfig C2PORT
|
menuconfig C2PORT
|
||||||
tristate "Silicon Labs C2 port support (EXPERIMENTAL)"
|
tristate "Silicon Labs C2 port support (EXPERIMENTAL)"
|
||||||
depends on EXPERIMENTAL
|
depends on EXPERIMENTAL
|
||||||
default no
|
default n
|
||||||
help
|
help
|
||||||
This option enables support for Silicon Labs C2 port used to
|
This option enables support for Silicon Labs C2 port used to
|
||||||
program Silicon micro controller chips (and other 8051 compatible).
|
program Silicon micro controller chips (and other 8051 compatible).
|
||||||
@ -23,8 +23,8 @@ if C2PORT
|
|||||||
|
|
||||||
config C2PORT_DURAMAR_2150
|
config C2PORT_DURAMAR_2150
|
||||||
tristate "C2 port support for Eurotech's Duramar 2150 (EXPERIMENTAL)"
|
tristate "C2 port support for Eurotech's Duramar 2150 (EXPERIMENTAL)"
|
||||||
depends on X86 && C2PORT
|
depends on X86
|
||||||
default no
|
default n
|
||||||
help
|
help
|
||||||
This option enables C2 support for the Eurotech's Duramar 2150
|
This option enables C2 support for the Eurotech's Duramar 2150
|
||||||
on board micro controller.
|
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
|
* leveling counters are stored. To access this last area of 4 bytes, a special
|
||||||
* mode must be input to the flash ASIC.
|
* 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)
|
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 0
|
||||||
* - one read of 512 bytes at offset 512 + 16
|
* - 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,
|
static int doc_read_page_prepare(struct docg3 *docg3, int block0, int block1,
|
||||||
int page, int offset)
|
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.
|
* 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,
|
static int doc_read_oob(struct mtd_info *mtd, loff_t from,
|
||||||
struct mtd_oob_ops *ops)
|
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
|
* Reads flash memory pages. This function does not read the OOB chunk, but only
|
||||||
* the page data.
|
* 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,
|
static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,
|
||||||
size_t *retlen, u_char *buf)
|
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
|
* Wait for the chip to be ready again after erase or write operation, and check
|
||||||
* erase/write status.
|
* 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
|
* timeout
|
||||||
*/
|
*/
|
||||||
static int doc_write_erase_wait_status(struct docg3 *docg3)
|
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
|
* 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.
|
* 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
|
* issue
|
||||||
*/
|
*/
|
||||||
static int doc_erase(struct mtd_info *mtd, struct erase_info *info)
|
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
|
* Or provide data without OOB, and then a all zeroed OOB will be used (ECC will
|
||||||
* still be filled in if asked for).
|
* 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,
|
static int doc_write_oob(struct mtd_info *mtd, loff_t ofs,
|
||||||
struct mtd_oob_ops *ops)
|
struct mtd_oob_ops *ops)
|
||||||
@ -1945,7 +1945,7 @@ static void doc_release_device(struct mtd_info *mtd)
|
|||||||
* docg3_resume - Awakens docg3 floor
|
* docg3_resume - Awakens docg3 floor
|
||||||
* @pdev: platfrom device
|
* @pdev: platfrom device
|
||||||
*
|
*
|
||||||
* Returns 0 (always successfull)
|
* Returns 0 (always successful)
|
||||||
*/
|
*/
|
||||||
static int docg3_resume(struct platform_device *pdev)
|
static int docg3_resume(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ config CAN_KVASER_PCI
|
|||||||
tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
|
tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
|
||||||
depends on PCI
|
depends on PCI
|
||||||
---help---
|
---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).
|
4 channel) from Kvaser (http://www.kvaser.com).
|
||||||
|
|
||||||
config CAN_PLX_PCI
|
config CAN_PLX_PCI
|
||||||
|
@ -2549,8 +2549,7 @@ typhoon_init(void)
|
|||||||
static void __exit
|
static void __exit
|
||||||
typhoon_cleanup(void)
|
typhoon_cleanup(void)
|
||||||
{
|
{
|
||||||
if (typhoon_fw)
|
release_firmware(typhoon_fw);
|
||||||
release_firmware(typhoon_fw);
|
|
||||||
pci_unregister_driver(&typhoon_driver);
|
pci_unregister_driver(&typhoon_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15883,8 +15883,7 @@ static void __devexit tg3_remove_one(struct pci_dev *pdev)
|
|||||||
if (dev) {
|
if (dev) {
|
||||||
struct tg3 *tp = netdev_priv(dev);
|
struct tg3 *tp = netdev_priv(dev);
|
||||||
|
|
||||||
if (tp->fw)
|
release_firmware(tp->fw);
|
||||||
release_firmware(tp->fw);
|
|
||||||
|
|
||||||
tg3_reset_task_cancel(tp);
|
tg3_reset_task_cancel(tp);
|
||||||
|
|
||||||
|
@ -3520,9 +3520,7 @@ static void __exit
|
|||||||
bnad_module_exit(void)
|
bnad_module_exit(void)
|
||||||
{
|
{
|
||||||
pci_unregister_driver(&bnad_pci_driver);
|
pci_unregister_driver(&bnad_pci_driver);
|
||||||
|
release_firmware(bfi_fw);
|
||||||
if (bfi_fw)
|
|
||||||
release_firmware(bfi_fw);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(bnad_module_init);
|
module_init(bnad_module_init);
|
||||||
|
@ -1260,8 +1260,7 @@ next:
|
|||||||
void
|
void
|
||||||
netxen_release_firmware(struct netxen_adapter *adapter)
|
netxen_release_firmware(struct netxen_adapter *adapter)
|
||||||
{
|
{
|
||||||
if (adapter->fw)
|
release_firmware(adapter->fw);
|
||||||
release_firmware(adapter->fw);
|
|
||||||
adapter->fw = NULL;
|
adapter->fw = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1321,8 +1321,7 @@ next:
|
|||||||
void
|
void
|
||||||
qlcnic_release_firmware(struct qlcnic_adapter *adapter)
|
qlcnic_release_firmware(struct qlcnic_adapter *adapter)
|
||||||
{
|
{
|
||||||
if (adapter->fw)
|
release_firmware(adapter->fw);
|
||||||
release_firmware(adapter->fw);
|
|
||||||
adapter->fw = NULL;
|
adapter->fw = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6051,7 +6051,7 @@ static int rtl_open(struct net_device *dev)
|
|||||||
pm_runtime_get_sync(&pdev->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.
|
* dma_alloc_coherent provides more.
|
||||||
*/
|
*/
|
||||||
tp->TxDescArray = dma_alloc_coherent(&pdev->dev, R8169_TX_RING_BYTES,
|
tp->TxDescArray = dma_alloc_coherent(&pdev->dev, R8169_TX_RING_BYTES,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Ethernet driver for S6105 on chip network device
|
* Ethernet driver for S6105 on chip network device
|
||||||
* (c)2008 emlix GmbH http://www.emlix.com
|
* (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>
|
* Daniel Gloeckner <dg@emlix.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
@ -1070,4 +1070,4 @@ module_exit(s6gmac_exit);
|
|||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_DESCRIPTION("S6105 on chip Ethernet driver");
|
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:
|
out:
|
||||||
if (master)
|
if (master)
|
||||||
WRITE_REG(priv, regINIT_SEMAPHORE, 1);
|
WRITE_REG(priv, regINIT_SEMAPHORE, 1);
|
||||||
if (fw)
|
|
||||||
release_firmware(fw);
|
release_firmware(fw);
|
||||||
|
|
||||||
if (rc) {
|
if (rc) {
|
||||||
netdev_err(priv->ndev, "firmware loading failed\n");
|
netdev_err(priv->ndev, "firmware loading failed\n");
|
||||||
|
@ -316,7 +316,7 @@ config AU1000_FIR
|
|||||||
tristate "Alchemy IrDA SIR/FIR"
|
tristate "Alchemy IrDA SIR/FIR"
|
||||||
depends on IRDA && MIPS_ALCHEMY
|
depends on IRDA && MIPS_ALCHEMY
|
||||||
help
|
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.
|
Alchemy Au1000 and Au1100 SoCs.
|
||||||
Say M to build a module; it will be called au1k_ir.ko
|
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();
|
BUG();
|
||||||
return -1;
|
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),
|
pci_name(pcidev),
|
||||||
pcidev->vendor, pcidev->device,
|
pcidev->vendor, pcidev->device,
|
||||||
__builtin_return_address(0));
|
__builtin_return_address(0));
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*-*-linux-c-*-*/
|
/*-*-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 Peter Gruber <nokos@gmx.net>
|
||||||
Copyright (C) 2008 Tony Vroon <tony@linx.net>
|
Copyright (C) 2008 Tony Vroon <tony@linx.net>
|
||||||
Based on earlier work:
|
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.
|
* Or < 0 if something fails.
|
||||||
*/
|
*/
|
||||||
static int bq27x00_battery_voltage(struct bq27x00_device_info *di,
|
static int bq27x00_battery_voltage(struct bq27x00_device_info *di,
|
||||||
|
@ -70,7 +70,7 @@ config DP83640_PHY
|
|||||||
using the SO_TIMESTAMPING API.
|
using the SO_TIMESTAMPING API.
|
||||||
|
|
||||||
In order for this to work, your MAC driver must also
|
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
|
config PTP_1588_CLOCK_PCH
|
||||||
tristate "Intel PCH EG20T as PTP clock"
|
tristate "Intel PCH EG20T as PTP clock"
|
||||||
|
@ -31,54 +31,54 @@
|
|||||||
TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 | \
|
TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 | \
|
||||||
TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP)
|
TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP)
|
||||||
|
|
||||||
/* supported VIO voltages in milivolts */
|
/* supported VIO voltages in millivolts */
|
||||||
static const u16 VIO_VSEL_table[] = {
|
static const u16 VIO_VSEL_table[] = {
|
||||||
1500, 1800, 2500, 3300,
|
1500, 1800, 2500, 3300,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* VSEL tables for TPS65910 specific LDOs and dcdc's */
|
/* 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[] = {
|
static const u16 VDD3_VSEL_table[] = {
|
||||||
5000,
|
5000,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VDIG1 voltages in milivolts */
|
/* supported VDIG1 voltages in millivolts */
|
||||||
static const u16 VDIG1_VSEL_table[] = {
|
static const u16 VDIG1_VSEL_table[] = {
|
||||||
1200, 1500, 1800, 2700,
|
1200, 1500, 1800, 2700,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VDIG2 voltages in milivolts */
|
/* supported VDIG2 voltages in millivolts */
|
||||||
static const u16 VDIG2_VSEL_table[] = {
|
static const u16 VDIG2_VSEL_table[] = {
|
||||||
1000, 1100, 1200, 1800,
|
1000, 1100, 1200, 1800,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VPLL voltages in milivolts */
|
/* supported VPLL voltages in millivolts */
|
||||||
static const u16 VPLL_VSEL_table[] = {
|
static const u16 VPLL_VSEL_table[] = {
|
||||||
1000, 1100, 1800, 2500,
|
1000, 1100, 1800, 2500,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VDAC voltages in milivolts */
|
/* supported VDAC voltages in millivolts */
|
||||||
static const u16 VDAC_VSEL_table[] = {
|
static const u16 VDAC_VSEL_table[] = {
|
||||||
1800, 2600, 2800, 2850,
|
1800, 2600, 2800, 2850,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VAUX1 voltages in milivolts */
|
/* supported VAUX1 voltages in millivolts */
|
||||||
static const u16 VAUX1_VSEL_table[] = {
|
static const u16 VAUX1_VSEL_table[] = {
|
||||||
1800, 2500, 2800, 2850,
|
1800, 2500, 2800, 2850,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VAUX2 voltages in milivolts */
|
/* supported VAUX2 voltages in millivolts */
|
||||||
static const u16 VAUX2_VSEL_table[] = {
|
static const u16 VAUX2_VSEL_table[] = {
|
||||||
1800, 2800, 2900, 3300,
|
1800, 2800, 2900, 3300,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VAUX33 voltages in milivolts */
|
/* supported VAUX33 voltages in millivolts */
|
||||||
static const u16 VAUX33_VSEL_table[] = {
|
static const u16 VAUX33_VSEL_table[] = {
|
||||||
1800, 2000, 2800, 3300,
|
1800, 2000, 2800, 3300,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* supported VMMC voltages in milivolts */
|
/* supported VMMC voltages in millivolts */
|
||||||
static const u16 VMMC_VSEL_table[] = {
|
static const u16 VMMC_VSEL_table[] = {
|
||||||
1800, 2800, 3000, 3300,
|
1800, 2800, 3000, 3300,
|
||||||
};
|
};
|
||||||
|
@ -1105,8 +1105,7 @@ static void rproc_fw_config_virtio(const struct firmware *fw, void *context)
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (fw)
|
release_firmware(fw);
|
||||||
release_firmware(fw);
|
|
||||||
/* allow rproc_unregister() contexts, if any, to proceed */
|
/* allow rproc_unregister() contexts, if any, to proceed */
|
||||||
complete_all(&rproc->firmware_loading_complete);
|
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)
|
int asd_release_firmware(void)
|
||||||
{
|
{
|
||||||
if (sequencer_fw)
|
release_firmware(sequencer_fw);
|
||||||
release_firmware(sequencer_fw);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1000,7 +1000,7 @@ static int esp_check_spur_intr(struct esp *esp)
|
|||||||
|
|
||||||
static void esp_schedule_reset(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));
|
__builtin_return_address(0));
|
||||||
esp->flags |= ESP_FLAG_RESETTING;
|
esp->flags |= ESP_FLAG_RESETTING;
|
||||||
esp_event(esp, ESP_EVENT_RESET);
|
esp_event(esp, ESP_EVENT_RESET);
|
||||||
|
@ -4473,17 +4473,14 @@ qla1280_exit(void)
|
|||||||
pci_unregister_driver(&qla1280_pci_driver);
|
pci_unregister_driver(&qla1280_pci_driver);
|
||||||
/* release any allocated firmware images */
|
/* release any allocated firmware images */
|
||||||
for (i = 0; i < QL_NUM_FW_IMAGES; i++) {
|
for (i = 0; i < QL_NUM_FW_IMAGES; i++) {
|
||||||
if (qla1280_fw_tbl[i].fw) {
|
release_firmware(qla1280_fw_tbl[i].fw);
|
||||||
release_firmware(qla1280_fw_tbl[i].fw);
|
qla1280_fw_tbl[i].fw = NULL;
|
||||||
qla1280_fw_tbl[i].fw = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(qla1280_init);
|
module_init(qla1280_init);
|
||||||
module_exit(qla1280_exit);
|
module_exit(qla1280_exit);
|
||||||
|
|
||||||
|
|
||||||
MODULE_AUTHOR("Qlogic & Jes Sorensen");
|
MODULE_AUTHOR("Qlogic & Jes Sorensen");
|
||||||
MODULE_DESCRIPTION("Qlogic ISP SCSI (qla1x80/qla1x160) driver");
|
MODULE_DESCRIPTION("Qlogic ISP SCSI (qla1x80/qla1x160) driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
@ -4122,8 +4122,7 @@ qla2x00_release_firmware(void)
|
|||||||
|
|
||||||
mutex_lock(&qla_fw_lock);
|
mutex_lock(&qla_fw_lock);
|
||||||
for (idx = 0; idx < FW_BLOBS; idx++)
|
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);
|
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
|
* @scmd: SCSI command structure to hijack
|
||||||
* @ses: structure to save restore information
|
* @ses: structure to save restore information
|
||||||
* @cmnd: CDB to send. Can be NULL if no new cmnd is needed
|
* @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);
|
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
|
* @scmd: SCSI command structure to restore
|
||||||
* @ses: saved information from a coresponding call to scsi_eh_prep_cmnd
|
* @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);
|
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
|
* @scmd: SCSI command structure to hijack
|
||||||
* @cmnd: CDB to send
|
* @cmnd: CDB to send
|
||||||
* @cmnd_size: size in bytes of @cmnd
|
* @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;
|
unsigned long flags;
|
||||||
int status;
|
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));
|
port->port_num, tty, ch, __builtin_return_address(0));
|
||||||
|
|
||||||
spin_lock_irqsave(&port->port_lock, flags);
|
spin_lock_irqsave(&port->port_lock, flags);
|
||||||
|
@ -153,7 +153,7 @@ config USB_EHCI_HCD_OMAP
|
|||||||
bool "EHCI support for OMAP3 and later chips"
|
bool "EHCI support for OMAP3 and later chips"
|
||||||
depends on USB_EHCI_HCD && ARCH_OMAP
|
depends on USB_EHCI_HCD && ARCH_OMAP
|
||||||
default y
|
default y
|
||||||
--- help ---
|
---help---
|
||||||
Enables support for the on-chip EHCI controller on
|
Enables support for the on-chip EHCI controller on
|
||||||
OMAP3 and later chips.
|
OMAP3 and later chips.
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003,
|
|||||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||||
US_FL_IGNORE_RESIDUE ),
|
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
|
* Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message
|
||||||
* always fails and confuses drive.
|
* 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;
|
for (page = (unsigned long)fbdev->fb_mem;
|
||||||
page < PAGE_ALIGN((unsigned long)fbdev->fb_mem + fbdev->fb_len);
|
page < PAGE_ALIGN((unsigned long)fbdev->fb_mem + fbdev->fb_len);
|
||||||
page += PAGE_SIZE) {
|
page += PAGE_SIZE) {
|
||||||
#if CONFIG_DMA_NONCOHERENT
|
#ifdef CONFIG_DMA_NONCOHERENT
|
||||||
SetPageReserved(virt_to_page(CAC_ADDR((void *)page)));
|
SetPageReserved(virt_to_page(CAC_ADDR((void *)page)));
|
||||||
#else
|
#else
|
||||||
SetPageReserved(virt_to_page(page));
|
SetPageReserved(virt_to_page(page));
|
||||||
|
@ -16,7 +16,7 @@ config W1_CON
|
|||||||
depends on CONNECTOR
|
depends on CONNECTOR
|
||||||
bool "Userspace communication over connector"
|
bool "Userspace communication over connector"
|
||||||
default y
|
default y
|
||||||
--- help ---
|
---help---
|
||||||
This allows to communicate with userspace using connector. For more
|
This allows to communicate with userspace using connector. For more
|
||||||
information see <file:Documentation/connector/connector.txt>.
|
information see <file:Documentation/connector/connector.txt>.
|
||||||
There are three types of messages between w1 core and userspace:
|
There are three types of messages between w1 core and userspace:
|
||||||
|
@ -937,7 +937,7 @@ config BCM47XX_WDT
|
|||||||
tristate "Broadcom BCM47xx Watchdog Timer"
|
tristate "Broadcom BCM47xx Watchdog Timer"
|
||||||
depends on BCM47XX
|
depends on BCM47XX
|
||||||
help
|
help
|
||||||
Hardware driver for the Broadcom BCM47xx Watchog Timer.
|
Hardware driver for the Broadcom BCM47xx Watchdog Timer.
|
||||||
|
|
||||||
config RC32434_WDT
|
config RC32434_WDT
|
||||||
tristate "IDT RC32434 SoC Watchdog Timer"
|
tristate "IDT RC32434 SoC Watchdog Timer"
|
||||||
|
@ -71,7 +71,7 @@ config XEN_DEV_EVTCHN
|
|||||||
tristate "Xen /dev/xen/evtchn device"
|
tristate "Xen /dev/xen/evtchn device"
|
||||||
default y
|
default y
|
||||||
help
|
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
|
channels and to receive notification of an event channel
|
||||||
firing.
|
firing.
|
||||||
If in doubt, say yes.
|
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
|
* one reference for us, and we leave it for the
|
||||||
* caller
|
* caller
|
||||||
*/
|
*/
|
||||||
device->flush_bio = NULL;;
|
device->flush_bio = NULL;
|
||||||
bio = bio_alloc(GFP_NOFS, 0);
|
bio = bio_alloc(GFP_NOFS, 0);
|
||||||
if (!bio)
|
if (!bio)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -26,7 +26,7 @@ struct wm831x_backlight_pdata {
|
|||||||
struct wm831x_backup_pdata {
|
struct wm831x_backup_pdata {
|
||||||
int charger_enable;
|
int charger_enable;
|
||||||
int no_constant_voltage; /** Disable constant voltage charging */
|
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 */
|
int ilim; /** Current limit in microamps */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
/*
|
/*
|
||||||
* PAGE_ALLOC_COSTLY_ORDER is the order at which allocations are deemed
|
* PAGE_ALLOC_COSTLY_ORDER is the order at which allocations are deemed
|
||||||
* costly to service. That is between allocation orders which should
|
* 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.
|
* will not.
|
||||||
*/
|
*/
|
||||||
#define PAGE_ALLOC_COSTLY_ORDER 3
|
#define PAGE_ALLOC_COSTLY_ORDER 3
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* rational fractions
|
* 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,
|
* helper functions when coping with rational numbers,
|
||||||
* e.g. when calculating optimum numerator/denominator pairs for
|
* 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 */
|
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 duplicate_sack[1]; /* D-SACK block */
|
||||||
struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/
|
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…
x
Reference in New Issue
Block a user