Skip to content

Commit f1bbbb6

Browse files
author
Jiri Kosina
committed
Merge branch 'master' into for-next
2 parents fd0961f + 7e27d6e commit f1bbbb6

File tree

3,859 files changed

+293114
-105562
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,859 files changed

+293114
-105562
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ modules.builtin
2828
*.gz
2929
*.bz2
3030
*.lzma
31+
*.lzo
3132
*.patch
3233
*.gcno
3334

Documentation/.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
filesystems/dnotify_test
2+
laptops/dslm
3+
timers/hpet_example
4+
vm/hugepage-mmap
5+
vm/hugepage-shm
6+
vm/map_hugetlb
7+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
What: /sys/class/power/ds2760-battery.*/charge_now
2+
Date: May 2010
3+
KernelVersion: 2.6.35
4+
Contact: Daniel Mack <[email protected]>
5+
Description:
6+
This file is writeable and can be used to set the current
7+
coloumb counter value inside the battery monitor chip. This
8+
is needed for unavoidable corrections of aging batteries.
9+
A userspace daemon can monitor the battery charging logic
10+
and once the counter drops out of considerable bounds, take
11+
appropriate action.
12+
13+
What: /sys/class/power/ds2760-battery.*/charge_full
14+
Date: May 2010
15+
KernelVersion: 2.6.35
16+
Contact: Daniel Mack <[email protected]>
17+
Description:
18+
This file is writeable and can be used to set the assumed
19+
battery 'full level'. As batteries age, this value has to be
20+
amended over time.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
What: /sys/devices/system/node/nodeX/compact
2+
Date: February 2010
3+
Contact: Mel Gorman <[email protected]>
4+
Description:
5+
When this file is written to, all memory within that node
6+
will be compacted. When it completes, memory will be freed
7+
into blocks which have as many contiguous pages as possible
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
What: /sys/firmware/sfi/tables/
2+
Date: May 2010
3+
Contact: Len Brown <[email protected]>
4+
Description:
5+
SFI defines a number of small static memory tables
6+
so the kernel can get platform information from firmware.
7+
8+
The tables are defined in the latest SFI specification:
9+
http://simplefirmware.org/documentation
10+
11+
While the tables are used by the kernel, user-space
12+
can observe them this way:
13+
14+
# cd /sys/firmware/sfi/tables
15+
# cat $TABLENAME > $TABLENAME.bin

Documentation/DMA-API-HOWTO.txt

+49-36
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,36 @@ is planned to completely remove virt_to_bus() and bus_to_virt() as
639639
they are entirely deprecated. Some ports already do not provide these
640640
as it is impossible to correctly support them.
641641

642+
Handling Errors
643+
644+
DMA address space is limited on some architectures and an allocation
645+
failure can be determined by:
646+
647+
- checking if dma_alloc_coherent returns NULL or dma_map_sg returns 0
648+
649+
- checking the returned dma_addr_t of dma_map_single and dma_map_page
650+
by using dma_mapping_error():
651+
652+
dma_addr_t dma_handle;
653+
654+
dma_handle = dma_map_single(dev, addr, size, direction);
655+
if (dma_mapping_error(dev, dma_handle)) {
656+
/*
657+
* reduce current DMA mapping usage,
658+
* delay and try again later or
659+
* reset driver.
660+
*/
661+
}
662+
663+
Networking drivers must call dev_kfree_skb to free the socket buffer
664+
and return NETDEV_TX_OK if the DMA mapping fails on the transmit hook
665+
(ndo_start_xmit). This means that the socket buffer is just dropped in
666+
the failure case.
667+
668+
SCSI drivers must return SCSI_MLQUEUE_HOST_BUSY if the DMA mapping
669+
fails in the queuecommand hook. This means that the SCSI subsystem
670+
passes the command to the driver again later.
671+
642672
Optimizing Unmap State Space Consumption
643673

644674
On many platforms, dma_unmap_{single,page}() is simply a nop.
@@ -703,42 +733,25 @@ to "Closing".
703733

704734
1) Struct scatterlist requirements.
705735

706-
Struct scatterlist must contain, at a minimum, the following
707-
members:
708-
709-
struct page *page;
710-
unsigned int offset;
711-
unsigned int length;
712-
713-
The base address is specified by a "page+offset" pair.
714-
715-
Previous versions of struct scatterlist contained a "void *address"
716-
field that was sometimes used instead of page+offset. As of Linux
717-
2.5., page+offset is always used, and the "address" field has been
718-
deleted.
719-
720-
2) More to come...
721-
722-
Handling Errors
723-
724-
DMA address space is limited on some architectures and an allocation
725-
failure can be determined by:
726-
727-
- checking if dma_alloc_coherent returns NULL or dma_map_sg returns 0
728-
729-
- checking the returned dma_addr_t of dma_map_single and dma_map_page
730-
by using dma_mapping_error():
731-
732-
dma_addr_t dma_handle;
733-
734-
dma_handle = dma_map_single(dev, addr, size, direction);
735-
if (dma_mapping_error(dev, dma_handle)) {
736-
/*
737-
* reduce current DMA mapping usage,
738-
* delay and try again later or
739-
* reset driver.
740-
*/
741-
}
736+
Don't invent the architecture specific struct scatterlist; just use
737+
<asm-generic/scatterlist.h>. You need to enable
738+
CONFIG_NEED_SG_DMA_LENGTH if the architecture supports IOMMUs
739+
(including software IOMMU).
740+
741+
2) ARCH_KMALLOC_MINALIGN
742+
743+
Architectures must ensure that kmalloc'ed buffer is
744+
DMA-safe. Drivers and subsystems depend on it. If an architecture
745+
isn't fully DMA-coherent (i.e. hardware doesn't ensure that data in
746+
the CPU cache is identical to data in main memory),
747+
ARCH_KMALLOC_MINALIGN must be set so that the memory allocator
748+
makes sure that kmalloc'ed buffer doesn't share a cache line with
749+
the others. See arch/arm/include/asm/cache.h as an example.
750+
751+
Note that ARCH_KMALLOC_MINALIGN is about DMA memory alignment
752+
constraints. You don't need to worry about the architecture data
753+
alignment constraints (e.g. the alignment constraints about 64-bit
754+
objects).
742755

743756
Closing
744757

Documentation/DocBook/drm.tmpl

+6-6
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@
389389
</para>
390390
<para>
391391
If your driver supports memory management (it should!), you'll
392-
need to set that up at load time as well. How you intialize
392+
need to set that up at load time as well. How you initialize
393393
it depends on which memory manager you're using, TTM or GEM.
394394
</para>
395395
<sect3>
@@ -399,7 +399,7 @@
399399
aperture space for graphics devices. TTM supports both UMA devices
400400
and devices with dedicated video RAM (VRAM), i.e. most discrete
401401
graphics devices. If your device has dedicated RAM, supporting
402-
TTM is desireable. TTM also integrates tightly with your
402+
TTM is desirable. TTM also integrates tightly with your
403403
driver specific buffer execution function. See the radeon
404404
driver for examples.
405405
</para>
@@ -443,7 +443,7 @@
443443
likely eventually calling ttm_bo_global_init and
444444
ttm_bo_global_release, respectively. Also like the previous
445445
object, ttm_global_item_ref is used to create an initial reference
446-
count for the TTM, which will call your initalization function.
446+
count for the TTM, which will call your initialization function.
447447
</para>
448448
</sect3>
449449
<sect3>
@@ -557,7 +557,7 @@ void intel_crt_init(struct drm_device *dev)
557557
CRT connector and encoder combination is created. A device
558558
specific i2c bus is also created, for fetching EDID data and
559559
performing monitor detection. Once the process is complete,
560-
the new connector is regsitered with sysfs, to make its
560+
the new connector is registered with sysfs, to make its
561561
properties available to applications.
562562
</para>
563563
<sect4>
@@ -581,12 +581,12 @@ void intel_crt_init(struct drm_device *dev)
581581
<para>
582582
For each encoder, CRTC and connector, several functions must
583583
be provided, depending on the object type. Encoder objects
584-
need should provide a DPMS (basically on/off) function, mode fixup
584+
need to provide a DPMS (basically on/off) function, mode fixup
585585
(for converting requested modes into native hardware timings),
586586
and prepare, set and commit functions for use by the core DRM
587587
helper functions. Connector helpers need to provide mode fetch and
588588
validity functions as well as an encoder matching function for
589-
returing an ideal encoder for a given connector. The core
589+
returning an ideal encoder for a given connector. The core
590590
connector functions include a DPMS callback, (deprecated)
591591
save/restore routines, detection, mode probing, property handling,
592592
and cleanup functions.

Documentation/DocBook/mtdnand.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ static void board_hwcontrol(struct mtd_info *mtd, int cmd)
269269
information about the device.
270270
</para>
271271
<programlisting>
272-
int __init board_init (void)
272+
static int __init board_init (void)
273273
{
274274
struct nand_chip *this;
275275
int err = 0;

Documentation/DocBook/v4l/v4l2.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ MPEG stream embedded, sliced VBI data format in this specification.
5858
</contrib>
5959
<affiliation>
6060
<address>
61-
<email>awalls@radix.net</email>
61+
<email>awalls@md.metrocast.net</email>
6262
</address>
6363
</affiliation>
6464
</author>

Documentation/DocBook/v4l/vidioc-query-dv-preset.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ input</refpurpose>
5353
automatically, similar to sensing the video standard. To do so, applications
5454
call <constant> VIDIOC_QUERY_DV_PRESET</constant> with a pointer to a
5555
&v4l2-dv-preset; type. Once the hardware detects a preset, that preset is
56-
returned in the preset field of &v4l2-dv-preset;. When detection is not
57-
possible or fails, the value V4L2_DV_INVALID is returned.</para>
56+
returned in the preset field of &v4l2-dv-preset;. If the preset could not be
57+
detected because there was no signal, or the signal was unreliable, or the
58+
signal did not map to a supported preset, then the value V4L2_DV_INVALID is
59+
returned.</para>
5860
</refsect1>
5961

6062
<refsect1>

Documentation/PCI/pcieaer-howto.txt

+13-16
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Reporting (AER) driver and provides information on how to use it, as
1313
well as how to enable the drivers of endpoint devices to conform with
1414
PCI Express AER driver.
1515

16-
1.2 Copyright © Intel Corporation 2006.
16+
1.2 Copyright (C) Intel Corporation 2006.
1717

1818
1.3 What is the PCI Express AER Driver?
1919

@@ -71,15 +71,11 @@ console. If it's a correctable error, it is outputed as a warning.
7171
Otherwise, it is printed as an error. So users could choose different
7272
log level to filter out correctable error messages.
7373

74-
Below shows an example.
75-
+------ PCI-Express Device Error -----+
76-
Error Severity : Uncorrected (Fatal)
77-
PCIE Bus Error type : Transaction Layer
78-
Unsupported Request : First
79-
Requester ID : 0500
80-
VendorID=8086h, DeviceID=0329h, Bus=05h, Device=00h, Function=00h
81-
TLB Header:
82-
04000001 00200a03 05010000 00050100
74+
Below shows an example:
75+
0000:50:00.0: PCIe Bus Error: severity=Uncorrected (Fatal), type=Transaction Layer, id=0500(Requester ID)
76+
0000:50:00.0: device [8086:0329] error status/mask=00100000/00000000
77+
0000:50:00.0: [20] Unsupported Request (First)
78+
0000:50:00.0: TLP Header: 04000001 00200a03 05010000 00050100
8379

8480
In the example, 'Requester ID' means the ID of the device who sends
8581
the error message to root port. Pls. refer to pci express specs for
@@ -112,7 +108,7 @@ but the PCI Express link itself is fully functional. Fatal errors, on
112108
the other hand, cause the link to be unreliable.
113109

114110
When AER is enabled, a PCI Express device will automatically send an
115-
error message to the PCIE root port above it when the device captures
111+
error message to the PCIe root port above it when the device captures
116112
an error. The Root Port, upon receiving an error reporting message,
117113
internally processes and logs the error message in its PCI Express
118114
capability structure. Error information being logged includes storing
@@ -198,8 +194,9 @@ to reset link, AER port service driver is required to provide the
198194
function to reset link. Firstly, kernel looks for if the upstream
199195
component has an aer driver. If it has, kernel uses the reset_link
200196
callback of the aer driver. If the upstream component has no aer driver
201-
and the port is downstream port, we will use the aer driver of the
202-
root port who reports the AER error. As for upstream ports,
197+
and the port is downstream port, we will perform a hot reset as the
198+
default by setting the Secondary Bus Reset bit of the Bridge Control
199+
register associated with the downstream port. As for upstream ports,
203200
they should provide their own aer service drivers with reset_link
204201
function. If error_detected returns PCI_ERS_RESULT_CAN_RECOVER and
205202
reset_link returns PCI_ERS_RESULT_RECOVERED, the error handling goes
@@ -253,11 +250,11 @@ cleanup uncorrectable status register. Pls. refer to section 3.3.
253250

254251
4. Software error injection
255252

256-
Debugging PCIE AER error recovery code is quite difficult because it
253+
Debugging PCIe AER error recovery code is quite difficult because it
257254
is hard to trigger real hardware errors. Software based error
258-
injection can be used to fake various kinds of PCIE errors.
255+
injection can be used to fake various kinds of PCIe errors.
259256

260-
First you should enable PCIE AER software error injection in kernel
257+
First you should enable PCIe AER software error injection in kernel
261258
configuration, that is, following item should be in your .config.
262259

263260
CONFIG_PCIEAER_INJECT=y or CONFIG_PCIEAER_INJECT=m

Documentation/SubmitChecklist

+12
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ kernel patches.
1818

1919
2b: Passes allnoconfig, allmodconfig
2020

21+
2c: Builds successfully when using O=builddir
22+
2123
3: Builds on multiple CPU architectures by using local cross-compile tools
2224
or some other build farm.
2325

@@ -95,3 +97,13 @@ kernel patches.
9597

9698
25: If any ioctl's are added by the patch, then also update
9799
Documentation/ioctl/ioctl-number.txt.
100+
101+
26: If your modified source code depends on or uses any of the kernel
102+
APIs or features that are related to the following kconfig symbols,
103+
then test multiple builds with the related kconfig symbols disabled
104+
and/or =m (if that option is available) [not all of these at the
105+
same time, just various/random combinations of them]:
106+
107+
CONFIG_SMP, CONFIG_SYSFS, CONFIG_PROC_FS, CONFIG_INPUT, CONFIG_PCI,
108+
CONFIG_BLOCK, CONFIG_PM, CONFIG_HOTPLUG, CONFIG_MAGIC_SYSRQ,
109+
CONFIG_NET, CONFIG_INET=n (but latter with CONFIG_NET=y)

Documentation/SubmittingDrivers

+5
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ Linux kernel master tree:
130130
ftp.??.kernel.org:/pub/linux/kernel/...
131131
?? == your country code, such as "us", "uk", "fr", etc.
132132

133+
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git
134+
133135
Linux kernel mailing list:
134136
135137
[mail [email protected] to subscribe]
@@ -160,3 +162,6 @@ How to NOT write kernel driver by Arjan van de Ven:
160162

161163
Kernel Janitor:
162164
http://janitor.kernelnewbies.org/
165+
166+
GIT, Fast Version Control System:
167+
http://git-scm.com/

0 commit comments

Comments
 (0)