Skip to content

Commit 9063974

Browse files
author
Jiri Kosina
committed
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
2 parents d6d6a86 + c010b2f commit 9063974

File tree

6,572 files changed

+510222
-440507
lines changed

Some content is hidden

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

6,572 files changed

+510222
-440507
lines changed

CREDITS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3344,8 +3344,7 @@ S: Spain
33443344
N: Linus Torvalds
33453345
33463346
D: Original kernel hacker
3347-
S: 12725 SW Millikan Way, Suite 400
3348-
S: Beaverton, Oregon 97005
3347+
S: Portland, Oregon 97005
33493348
S: USA
33503349

33513350
N: Marcelo Tosatti

Documentation/ABI/testing/sysfs-block

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,37 @@ Description:
2626
I/O statistics of partition <part>. The format is the
2727
same as the above-written /sys/block/<disk>/stat
2828
format.
29+
30+
31+
What: /sys/block/<disk>/integrity/format
32+
Date: June 2008
33+
Contact: Martin K. Petersen <[email protected]>
34+
Description:
35+
Metadata format for integrity capable block device.
36+
E.g. T10-DIF-TYPE1-CRC.
37+
38+
39+
What: /sys/block/<disk>/integrity/read_verify
40+
Date: June 2008
41+
Contact: Martin K. Petersen <[email protected]>
42+
Description:
43+
Indicates whether the block layer should verify the
44+
integrity of read requests serviced by devices that
45+
support sending integrity metadata.
46+
47+
48+
What: /sys/block/<disk>/integrity/tag_size
49+
Date: June 2008
50+
Contact: Martin K. Petersen <[email protected]>
51+
Description:
52+
Number of bytes of integrity tag space available per
53+
512 bytes of data.
54+
55+
56+
What: /sys/block/<disk>/integrity/write_generate
57+
Date: June 2008
58+
Contact: Martin K. Petersen <[email protected]>
59+
Description:
60+
Indicates whether the block layer should automatically
61+
generate checksums for write requests bound for
62+
devices that support receiving integrity metadata.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
What: /sys/bus/css/devices/.../type
2+
Date: March 2008
3+
Contact: Cornelia Huck <[email protected]>
4+
5+
Description: Contains the subchannel type, as reported by the hardware.
6+
This attribute is present for all subchannel types.
7+
8+
What: /sys/bus/css/devices/.../modalias
9+
Date: March 2008
10+
Contact: Cornelia Huck <[email protected]>
11+
12+
Description: Contains the module alias as reported with uevents.
13+
It is of the format css:t<type> and present for all
14+
subchannel types.
15+
16+
What: /sys/bus/css/drivers/io_subchannel/.../chpids
17+
Date: December 2002
18+
Contact: Cornelia Huck <[email protected]>
19+
20+
Description: Contains the ids of the channel paths used by this
21+
subchannel, as reported by the channel subsystem
22+
during subchannel recognition.
23+
Note: This is an I/O-subchannel specific attribute.
24+
Users: s390-tools, HAL
25+
26+
What: /sys/bus/css/drivers/io_subchannel/.../pimpampom
27+
Date: December 2002
28+
Contact: Cornelia Huck <[email protected]>
29+
30+
Description: Contains the PIM/PAM/POM values, as reported by the
31+
channel subsystem when last queried by the common I/O
32+
layer (this implies that this attribute is not neccessarily
33+
in sync with the values current in the channel subsystem).
34+
Note: This is an I/O-subchannel specific attribute.
35+
Users: s390-tools, HAL

Documentation/ABI/testing/sysfs-dev

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
What: /sys/dev
2+
Date: April 2008
3+
KernelVersion: 2.6.26
4+
Contact: Dan Williams <[email protected]>
5+
Description: The /sys/dev tree provides a method to look up the sysfs
6+
path for a device using the information returned from
7+
stat(2). There are two directories, 'block' and 'char',
8+
beneath /sys/dev containing symbolic links with names of
9+
the form "<major>:<minor>". These links point to the
10+
corresponding sysfs path for the given device.
11+
12+
Example:
13+
$ readlink /sys/dev/block/8:32
14+
../../block/sdc
15+
16+
Entries in /sys/dev/char and /sys/dev/block will be
17+
dynamically created and destroyed as devices enter and
18+
leave the system.
19+
20+
Users: mdadm <[email protected]>

Documentation/ABI/testing/sysfs-firmware-acpi

Lines changed: 87 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,46 @@ Description:
2929

3030
$ cd /sys/firmware/acpi/interrupts
3131
$ grep . *
32-
error:0
33-
ff_gbl_lock:0
34-
ff_pmtimer:0
35-
ff_pwr_btn:0
36-
ff_rt_clk:0
37-
ff_slp_btn:0
38-
gpe00:0
39-
gpe01:0
40-
gpe02:0
41-
gpe03:0
42-
gpe04:0
43-
gpe05:0
44-
gpe06:0
45-
gpe07:0
46-
gpe08:0
47-
gpe09:174
48-
gpe0A:0
49-
gpe0B:0
50-
gpe0C:0
51-
gpe0D:0
52-
gpe0E:0
53-
gpe0F:0
54-
gpe10:0
55-
gpe11:60
56-
gpe12:0
57-
gpe13:0
58-
gpe14:0
59-
gpe15:0
60-
gpe16:0
61-
gpe17:0
62-
gpe18:0
63-
gpe19:7
64-
gpe1A:0
65-
gpe1B:0
66-
gpe1C:0
67-
gpe1D:0
68-
gpe1E:0
69-
gpe1F:0
70-
gpe_all:241
71-
sci:241
32+
error: 0
33+
ff_gbl_lock: 0 enable
34+
ff_pmtimer: 0 invalid
35+
ff_pwr_btn: 0 enable
36+
ff_rt_clk: 2 disable
37+
ff_slp_btn: 0 invalid
38+
gpe00: 0 invalid
39+
gpe01: 0 enable
40+
gpe02: 108 enable
41+
gpe03: 0 invalid
42+
gpe04: 0 invalid
43+
gpe05: 0 invalid
44+
gpe06: 0 enable
45+
gpe07: 0 enable
46+
gpe08: 0 invalid
47+
gpe09: 0 invalid
48+
gpe0A: 0 invalid
49+
gpe0B: 0 invalid
50+
gpe0C: 0 invalid
51+
gpe0D: 0 invalid
52+
gpe0E: 0 invalid
53+
gpe0F: 0 invalid
54+
gpe10: 0 invalid
55+
gpe11: 0 invalid
56+
gpe12: 0 invalid
57+
gpe13: 0 invalid
58+
gpe14: 0 invalid
59+
gpe15: 0 invalid
60+
gpe16: 0 invalid
61+
gpe17: 1084 enable
62+
gpe18: 0 enable
63+
gpe19: 0 invalid
64+
gpe1A: 0 invalid
65+
gpe1B: 0 invalid
66+
gpe1C: 0 invalid
67+
gpe1D: 0 invalid
68+
gpe1E: 0 invalid
69+
gpe1F: 0 invalid
70+
gpe_all: 1192
71+
sci: 1194
7272

7373
sci - The total number of times the ACPI SCI
7474
has claimed an interrupt.
@@ -89,6 +89,13 @@ Description:
8989

9090
error - an interrupt that can't be accounted for above.
9191

92+
invalid: it's either a wakeup GPE or a GPE/Fixed Event that
93+
doesn't have an event handler.
94+
95+
disable: the GPE/Fixed Event is valid but disabled.
96+
97+
enable: the GPE/Fixed Event is valid and enabled.
98+
9299
Root has permission to clear any of these counters. Eg.
93100
# echo 0 > gpe11
94101

@@ -97,3 +104,43 @@ Description:
97104

98105
None of these counters has an effect on the function
99106
of the system, they are simply statistics.
107+
108+
Besides this, user can also write specific strings to these files
109+
to enable/disable/clear ACPI interrupts in user space, which can be
110+
used to debug some ACPI interrupt storm issues.
111+
112+
Note that only writting to VALID GPE/Fixed Event is allowed,
113+
i.e. user can only change the status of runtime GPE and
114+
Fixed Event with event handler installed.
115+
116+
Let's take power button fixed event for example, please kill acpid
117+
and other user space applications so that the machine won't shutdown
118+
when pressing the power button.
119+
# cat ff_pwr_btn
120+
0
121+
# press the power button for 3 times;
122+
# cat ff_pwr_btn
123+
3
124+
# echo disable > ff_pwr_btn
125+
# cat ff_pwr_btn
126+
disable
127+
# press the power button for 3 times;
128+
# cat ff_pwr_btn
129+
disable
130+
# echo enable > ff_pwr_btn
131+
# cat ff_pwr_btn
132+
4
133+
/*
134+
* this is because the status bit is set even if the enable bit is cleared,
135+
* and it triggers an ACPI fixed event when the enable bit is set again
136+
*/
137+
# press the power button for 3 times;
138+
# cat ff_pwr_btn
139+
7
140+
# echo disable > ff_pwr_btn
141+
# press the power button for 3 times;
142+
# echo clear > ff_pwr_btn /* clear the status bit */
143+
# echo disable > ff_pwr_btn
144+
# cat ff_pwr_btn
145+
7
146+
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
What: /sys/firmware/memmap/
2+
Date: June 2008
3+
Contact: Bernhard Walle <[email protected]>
4+
Description:
5+
On all platforms, the firmware provides a memory map which the
6+
kernel reads. The resources from that memory map are registered
7+
in the kernel resource tree and exposed to userspace via
8+
/proc/iomem (together with other resources).
9+
10+
However, on most architectures that firmware-provided memory
11+
map is modified afterwards by the kernel itself, either because
12+
the kernel merges that memory map with other information or
13+
just because the user overwrites that memory map via command
14+
line.
15+
16+
kexec needs the raw firmware-provided memory map to setup the
17+
parameter segment of the kernel that should be booted with
18+
kexec. Also, the raw memory map is useful for debugging. For
19+
that reason, /sys/firmware/memmap is an interface that provides
20+
the raw memory map to userspace.
21+
22+
The structure is as follows: Under /sys/firmware/memmap there
23+
are subdirectories with the number of the entry as their name:
24+
25+
/sys/firmware/memmap/0
26+
/sys/firmware/memmap/1
27+
/sys/firmware/memmap/2
28+
/sys/firmware/memmap/3
29+
...
30+
31+
The maximum depends on the number of memory map entries provided
32+
by the firmware. The order is just the order that the firmware
33+
provides.
34+
35+
Each directory contains three files:
36+
37+
start : The start address (as hexadecimal number with the
38+
'0x' prefix).
39+
end : The end address, inclusive (regardless whether the
40+
firmware provides inclusive or exclusive ranges).
41+
type : Type of the entry as string. See below for a list of
42+
valid types.
43+
44+
So, for example:
45+
46+
/sys/firmware/memmap/0/start
47+
/sys/firmware/memmap/0/end
48+
/sys/firmware/memmap/0/type
49+
/sys/firmware/memmap/1/start
50+
...
51+
52+
Currently following types exist:
53+
54+
- System RAM
55+
- ACPI Tables
56+
- ACPI Non-volatile Storage
57+
- reserved
58+
59+
Following shell snippet can be used to display that memory
60+
map in a human-readable format:
61+
62+
-------------------- 8< ----------------------------------------
63+
#!/bin/bash
64+
cd /sys/firmware/memmap
65+
for dir in * ; do
66+
start=$(cat $dir/start)
67+
end=$(cat $dir/end)
68+
type=$(cat $dir/type)
69+
printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type"
70+
done
71+
-------------------- >8 ----------------------------------------

Documentation/DMA-attributes.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,12 @@ ready and available in memory. The DMA of the "completion indication"
2222
could race with data DMA. Mapping the memory used for completion
2323
indications with DMA_ATTR_WRITE_BARRIER would prevent the race.
2424

25+
DMA_ATTR_WEAK_ORDERING
26+
----------------------
27+
28+
DMA_ATTR_WEAK_ORDERING specifies that reads and writes to the mapping
29+
may be weakly ordered, that is that reads and writes may pass each other.
30+
31+
Since it is optional for platforms to implement DMA_ATTR_WEAK_ORDERING,
32+
those that do not will simply ignore the attribute and exhibit default
33+
behavior.

Documentation/DocBook/gadget.tmpl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,44 @@ These utilities include endpoint autoconfiguration.
524524
<!-- !Edrivers/usb/gadget/epautoconf.c -->
525525
</sect1>
526526

527+
<sect1 id="composite"><title>Composite Device Framework</title>
528+
529+
<para>The core API is sufficient for writing drivers for composite
530+
USB devices (with more than one function in a given configuration),
531+
and also multi-configuration devices (also more than one function,
532+
but not necessarily sharing a given configuration).
533+
There is however an optional framework which makes it easier to
534+
reuse and combine functions.
535+
</para>
536+
537+
<para>Devices using this framework provide a <emphasis>struct
538+
usb_composite_driver</emphasis>, which in turn provides one or
539+
more <emphasis>struct usb_configuration</emphasis> instances.
540+
Each such configuration includes at least one
541+
<emphasis>struct usb_function</emphasis>, which packages a user
542+
visible role such as "network link" or "mass storage device".
543+
Management functions may also exist, such as "Device Firmware
544+
Upgrade".
545+
</para>
546+
547+
!Iinclude/linux/usb/composite.h
548+
!Edrivers/usb/gadget/composite.c
549+
550+
</sect1>
551+
552+
<sect1 id="functions"><title>Composite Device Functions</title>
553+
554+
<para>At this writing, a few of the current gadget drivers have
555+
been converted to this framework.
556+
Near-term plans include converting all of them, except for "gadgetfs".
557+
</para>
558+
559+
!Edrivers/usb/gadget/f_acm.c
560+
!Edrivers/usb/gadget/f_serial.c
561+
562+
</sect1>
563+
564+
527565
</chapter>
528566

529567
<chapter id="controllers"><title>Peripheral Controller Drivers</title>

0 commit comments

Comments
 (0)