Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked fromtorvalds/linux

Commit673f820

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into core/locking
Conflicts:fs/btrfs/locking.c
2 parentscf47b8f +ae1a25d commit673f820

File tree

2,145 files changed

+40054
-18501
lines changed

Some content is hidden

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

2,145 files changed

+40054
-18501
lines changed

‎.mailmap‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ Rudolf Marek <R.Marek@sh.cvut.cz>
9292
Rui Saraiva <rmps@joel.ist.utl.pt>
9393
Sachin P Sant <ssant@in.ibm.com>
9494
Sam Ravnborg <sam@mars.ravnborg.org>
95+
Sascha Hauer <s.hauer@pengutronix.de>
9596
S.Çağlar Onur <caglar@pardus.org.tr>
9697
Simon Kelley <simon@thekelleys.org.uk>
9798
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
@@ -100,6 +101,7 @@ Tejun Heo <htejun@gmail.com>
100101
Thomas Graf <tgraf@suug.ch>
101102
Tony Luck <tony.luck@intel.com>
102103
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
103-
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
104104
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
105+
Uwe Kleine-König <ukl@pengutronix.de>
106+
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
105107
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>

‎CREDITS‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3786,14 +3786,11 @@ S: The Netherlands
37863786

37873787
N: David Woodhouse
37883788
E: dwmw2@infradead.org
3789-
D: ARCnet stuff, Applicom board driver, SO_BINDTODEVICE,
3790-
D: some Alpha platform porting from 2.0, Memory Technology Devices,
3791-
D: Acquire watchdog timer, PC speaker driver maintenance,
3789+
D: JFFS2 file system, Memory Technology Device subsystem,
37923790
D: various other stuff that annoyed me by not working.
3793-
S: c/o Red Hat Engineering
3794-
S: Rustat House
3795-
S: 60 Clifton Road
3796-
S: Cambridge. CB1 7EG
3791+
S: c/o Intel Corporation
3792+
S: Pipers Way
3793+
S: Swindon. SN3 1RJ
37973794
S: England
37983795

37993796
N: Chris Wright

‎Documentation/Changes‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@ o Gnu make 3.79.1 # make --version
3333
o binutils 2.12 # ld -v
3434
o util-linux 2.10o # fdformat --version
3535
o module-init-tools 0.9.10 # depmod -V
36-
o e2fsprogs 1.29 # tune2fs
36+
o e2fsprogs 1.41.4# e2fsck -V
3737
o jfsutils 1.1.3 # fsck.jfs -V
3838
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
3939
o xfsprogs 2.6.0 # xfs_db -V
40+
o squashfs-tools 4.0 # mksquashfs -version
41+
o btrfs-progs 0.18 # btrfsck
4042
o pcmciautils 004 # pccardctl -V
4143
o quota-tools 3.09 # quota -V
4244
o PPP 2.4.0 # pppd --version

‎Documentation/CodingStyle‎

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -483,17 +483,25 @@ values. To do the latter, you can stick the following in your .emacs file:
483483
(* (max steps 1)
484484
c-basic-offset)))
485485

486+
(add-hook 'c-mode-common-hook
487+
(lambda ()
488+
;; Add kernel style
489+
(c-add-style
490+
"linux-tabs-only"
491+
'("linux" (c-offsets-alist
492+
(arglist-cont-nonempty
493+
c-lineup-gcc-asm-reg
494+
c-lineup-arglist-tabs-only))))))
495+
486496
(add-hook 'c-mode-hook
487497
(lambda ()
488498
(let ((filename (buffer-file-name)))
489499
;; Enable kernel mode for the appropriate files
490500
(when (and filename
491-
(string-match "~/src/linux-trees" filename))
501+
(string-match (expand-file-name "~/src/linux-trees")
502+
filename))
492503
(setq indent-tabs-mode t)
493-
(c-set-style "linux")
494-
(c-set-offset 'arglist-cont-nonempty
495-
'(c-lineup-gcc-asm-reg
496-
c-lineup-arglist-tabs-only))))))
504+
(c-set-style "linux-tabs-only")))))
497505

498506
This will make emacs go better with the kernel coding style for C
499507
files below ~/src/linux-trees.

‎Documentation/DMA-API.txt‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
This document describes the DMA API. For a more gentle introduction
77
phrased in terms of the pci_ equivalents (and actual examples) see
8-
DMA-mapping.txt
8+
Documentation/PCI/PCI-DMA-mapping.txt.
99

1010
This API is split into two pieces. Part I describes the API and the
1111
corresponding pci_ API. Part II describes the extensions to the API
@@ -170,16 +170,15 @@ Returns: 0 if successful and a negative error if not.
170170
u64
171171
dma_get_required_mask(struct device *dev)
172172

173-
After setting the mask with dma_set_mask(), this API returns the
174-
actual mask (within that already set) that the platform actually
175-
requires to operate efficiently. Usually this means the returned mask
173+
This API returns the mask that the platform requires to
174+
operate efficiently. Usually this means the returned mask
176175
is the minimum required to cover all of memory. Examining the
177176
required mask gives drivers with variable descriptor sizes the
178177
opportunity to use smaller descriptors as necessary.
179178

180179
Requesting the required mask does not alter the current mask. If you
181-
wish to take advantage of it, you should issueanother dma_set_mask()
182-
call tolower the maskagain.
180+
wish to take advantage of it, you should issuea dma_set_mask()
181+
call toset the maskto the value returned.
183182

184183

185184
Part Id - Streaming DMA mappings

‎Documentation/DocBook/uio-howto.tmpl‎

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ GPL version 2.
4141
</abstract>
4242

4343
<revhistory>
44+
<revision>
45+
<revnumber>0.7</revnumber>
46+
<date>2008-12-23</date>
47+
<authorinitials>hjk</authorinitials>
48+
<revremark>Added generic platform drivers and offset attribute.</revremark>
49+
</revision>
4450
<revision>
4551
<revnumber>0.6</revnumber>
4652
<date>2008-12-05</date>
@@ -312,6 +318,16 @@ interested in translating it, please email me
312318
pointed to by addr.
313319
</para>
314320
</listitem>
321+
<listitem>
322+
<para>
323+
<filename>offset</filename>: The offset, in bytes, that has to be
324+
added to the pointer returned by <function>mmap()</function> to get
325+
to the actual device memory. This is important if the device's memory
326+
is not page aligned. Remember that pointers returned by
327+
<function>mmap()</function> are always page aligned, so it is good
328+
style to always add this offset.
329+
</para>
330+
</listitem>
315331
</itemizedlist>
316332

317333
<para>
@@ -594,6 +610,78 @@ framework to set up sysfs files for this region. Simply leave it alone.
594610
</para>
595611
</sect1>
596612

613+
<sect1id="using_uio_pdrv">
614+
<title>Using uio_pdrv for platform devices</title>
615+
<para>
616+
In many cases, UIO drivers for platform devices can be handled in a
617+
generic way. In the same place where you define your
618+
<varname>struct platform_device</varname>, you simply also implement
619+
your interrupt handler and fill your
620+
<varname>struct uio_info</varname>. A pointer to this
621+
<varname>struct uio_info</varname> is then used as
622+
<varname>platform_data</varname> for your platform device.
623+
</para>
624+
<para>
625+
You also need to set up an array of <varname>struct resource</varname>
626+
containing addresses and sizes of your memory mappings. This
627+
information is passed to the driver using the
628+
<varname>.resource</varname> and <varname>.num_resources</varname>
629+
elements of <varname>struct platform_device</varname>.
630+
</para>
631+
<para>
632+
You now have to set the <varname>.name</varname> element of
633+
<varname>struct platform_device</varname> to
634+
<varname>"uio_pdrv"</varname> to use the generic UIO platform device
635+
driver. This driver will fill the <varname>mem[]</varname> array
636+
according to the resources given, and register the device.
637+
</para>
638+
<para>
639+
The advantage of this approach is that you only have to edit a file
640+
you need to edit anyway. You do not have to create an extra driver.
641+
</para>
642+
</sect1>
643+
644+
<sect1id="using_uio_pdrv_genirq">
645+
<title>Using uio_pdrv_genirq for platform devices</title>
646+
<para>
647+
Especially in embedded devices, you frequently find chips where the
648+
irq pin is tied to its own dedicated interrupt line. In such cases,
649+
where you can be really sure the interrupt is not shared, we can take
650+
the concept of <varname>uio_pdrv</varname> one step further and use a
651+
generic interrupt handler. That's what
652+
<varname>uio_pdrv_genirq</varname> does.
653+
</para>
654+
<para>
655+
The setup for this driver is the same as described above for
656+
<varname>uio_pdrv</varname>, except that you do not implement an
657+
interrupt handler. The <varname>.handler</varname> element of
658+
<varname>struct uio_info</varname> must remain
659+
<varname>NULL</varname>. The <varname>.irq_flags</varname> element
660+
must not contain <varname>IRQF_SHARED</varname>.
661+
</para>
662+
<para>
663+
You will set the <varname>.name</varname> element of
664+
<varname>struct platform_device</varname> to
665+
<varname>"uio_pdrv_genirq"</varname> to use this driver.
666+
</para>
667+
<para>
668+
The generic interrupt handler of <varname>uio_pdrv_genirq</varname>
669+
will simply disable the interrupt line using
670+
<function>disable_irq_nosync()</function>. After doing its work,
671+
userspace can reenable the interrupt by writing 0x00000001 to the UIO
672+
device file. The driver already implements an
673+
<function>irq_control()</function> to make this possible, you must not
674+
implement your own.
675+
</para>
676+
<para>
677+
Using <varname>uio_pdrv_genirq</varname> not only saves a few lines of
678+
interrupt handler code. You also do not need to know anything about
679+
the chip's internal registers to create the kernel part of the driver.
680+
All you need to know is the irq number of the pin the chip is
681+
connected to.
682+
</para>
683+
</sect1>
684+
597685
</chapter>
598686

599687
<chapterid="userspace_driver"xreflabel="Writing a driver in user space">

‎Documentation/IO-mapping.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[ NOTE: The virt_to_bus() and bus_to_virt() functions have been
2-
superseded by the functionality provided by the PCI DMA
3-
interface(see Documentation/DMA-mapping.txt). They continue
2+
superseded by the functionality provided by the PCI DMA interface
3+
(see Documentation/PCI/PCI-DMA-mapping.txt). They continue
44
to be documented below for historical purposes, but new code
55
must not use them. --davidm 00/12/12 ]
66

‎Documentation/accounting/getdelays.c‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,10 @@ int main(int argc, char *argv[])
392392
gotoerr;
393393
}
394394
}
395+
if (!maskset&& !tid&& !containerset) {
396+
usage();
397+
gotoerr;
398+
}
395399

396400
do {
397401
inti;

‎Documentation/block/biodoc.txt‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,9 @@ a virtual address mapping (unlike the earlier scheme of virtual address
186186
donothaveacorrespondingkernelvirtualaddressspacemapping)and
187187
low-memorypages.
188188

189-
Note:PleaserefertoDMA-mapping.txtforadiscussiononPCIhighmemDMA
190-
aspectsandmappingofscattergatherlists,andsupportfor64bitPCI.
189+
Note:PleaserefertoDocumentation/PCI/PCI-DMA-mapping.txtforadiscussion
190+
onPCIhighmemDMAaspectsandmappingofscattergatherlists,andsupport
191+
for64bitPCI.
191192

192193
Specialhandlingisrequiredonlyforcaseswherei/oneedstohappenon
193194
pagesatphysicalmemoryaddressesbeyondwhatthedevicecansupport.Inthese
@@ -953,14 +954,14 @@ elevator_allow_merge_fncalled whenever the block layer determines
953954
resultsinsomesortofconflictinternally,
954955
thishookallowsittodothat.
955956

956-
elevator_dispatch_fnfillsthedispatchqueuewithreadyrequests.
957+
elevator_dispatch_fn*fillsthedispatchqueuewithreadyrequests.
957958
I/Oschedulersarefreetopostponerequestsby
958959
notfillingthedispatchqueueunless@force
959960
isnon-zero.Oncedispatched,I/Oschedulers
960961
arenotallowedtomanipulatetherequests-
961962
theybelongtogenericdispatchqueue.
962963

963-
elevator_add_req_fncalledtoaddanewrequestintothescheduler
964+
elevator_add_req_fn*calledtoaddanewrequestintothescheduler
964965

965966
elevator_queue_empty_fnreturnstrueifthemergequeueisempty.
966967
Driversshouldn'tusethis,butrathercheck
@@ -990,7 +991,7 @@ elevator_activate_req_fnCalled when device driver first sees a request.
990991
elevator_deactivate_req_fnCalledwhendevicedriverdecidestodelay
991992
arequestbyrequeueingit.
992993

993-
elevator_init_fn
994+
elevator_init_fn*
994995
elevator_exit_fnAllocateandfreeanyelevatorspecificstorage
995996
foraqueue.
996997

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
Queue sysfs files
2+
=================
3+
4+
This text file will detail the queue files that are located in the sysfs tree
5+
for each block device. Note that stacked devices typically do not export
6+
any settings, since their queue merely functions are a remapping target.
7+
These files are the ones found in the /sys/block/xxx/queue/ directory.
8+
9+
Files denoted with a RO postfix are readonly and the RW postfix means
10+
read-write.
11+
12+
hw_sector_size (RO)
13+
-------------------
14+
This is the hardware sector size of the device, in bytes.
15+
16+
max_hw_sectors_kb (RO)
17+
----------------------
18+
This is the maximum number of kilobytes supported in a single data transfer.
19+
20+
max_sectors_kb (RW)
21+
-------------------
22+
This is the maximum number of kilobytes that the block layer will allow
23+
for a filesystem request. Must be smaller than or equal to the maximum
24+
size allowed by the hardware.
25+
26+
nomerges (RW)
27+
-------------
28+
This enables the user to disable the lookup logic involved with IO merging
29+
requests in the block layer. Merging may still occur through a direct
30+
1-hit cache, since that comes for (almost) free. The IO scheduler will not
31+
waste cycles doing tree/hash lookups for merges if nomerges is 1. Defaults
32+
to 0, enabling all merges.
33+
34+
nr_requests (RW)
35+
----------------
36+
This controls how many requests may be allocated in the block layer for
37+
read or write requests. Note that the total allocated number may be twice
38+
this amount, since it applies only to reads or writes (not the accumulated
39+
sum).
40+
41+
read_ahead_kb (RW)
42+
------------------
43+
Maximum number of kilobytes to read-ahead for filesystems on this block
44+
device.
45+
46+
rq_affinity (RW)
47+
----------------
48+
If this option is enabled, the block layer will migrate request completions
49+
to the CPU that originally submitted the request. For some workloads
50+
this provides a significant reduction in CPU cycles due to caching effects.
51+
52+
scheduler (RW)
53+
--------------
54+
When read, this file will display the current and available IO schedulers
55+
for this block device. The currently active IO scheduler will be enclosed
56+
in [] brackets. Writing an IO scheduler name to this file will switch
57+
control of this block device to that new IO scheduler. Note that writing
58+
an IO scheduler name to this file will attempt to load that IO scheduler
59+
module, if it isn't already present in the system.
60+
61+
62+
63+
Jens Axboe <jens.axboe@oracle.com>, February 2009

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp