You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'akpm' (incoming from Andrew)
Merge first patch-bomb from Andrew Morton: - Various misc bits - kmemleak fixes - small befs, codafs, cifs, efs, freexxfs, hfsplus, minixfs, reiserfs things - fanotify - I appear to have become SuperH maintainer - ocfs2 updates - direct-io tweaks - a bit of the MM queue - printk updates - MAINTAINERS maintenance - some backlight things - lib/ updates - checkpatch updates - the rtc queue - nilfs2 updates - Small Documentation/ updates * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (237 commits) Documentation/SubmittingPatches: remove references to patch-scripts Documentation/SubmittingPatches: update some dead URLs Documentation/filesystems/ntfs.txt: remove changelog reference Documentation/kmemleak.txt: updates fs/reiserfs/super.c: add __init to init_inodecache fs/reiserfs: move prototype declaration to header file fs/hfsplus/attributes.c: add __init to hfsplus_create_attr_tree_cache() fs/hfsplus/extents.c: fix concurrent acess of alloc_blocks fs/hfsplus/extents.c: remove unused variable in hfsplus_get_block nilfs2: update project's web site in nilfs2.txt nilfs2: update MAINTAINERS file entries fix nilfs2: verify metadata sizes read from disk nilfs2: add FITRIM ioctl support for nilfs2 nilfs2: add nilfs_sufile_trim_fs to trim clean segs nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctl nilfs2: add nilfs_sufile_set_suinfo to update segment usage nilfs2: add struct nilfs_suinfo_update and flags nilfs2: update MAINTAINERS file entries fs/coda/inode.c: add __init to init_inodecache() BEFS: logging cleanup ...
This commit is contained in:
@@ -2564,6 +2564,10 @@ N: Wolfgang Muees
|
|||||||
E: wolfgang@iksw-muees.de
|
E: wolfgang@iksw-muees.de
|
||||||
D: Auerswald USB driver
|
D: Auerswald USB driver
|
||||||
|
|
||||||
|
N: Paul Mundt
|
||||||
|
E: paul.mundt@gmail.com
|
||||||
|
D: SuperH maintainer
|
||||||
|
|
||||||
N: Ian A. Murdock
|
N: Ian A. Murdock
|
||||||
E: imurdock@gnu.ai.mit.edu
|
E: imurdock@gnu.ai.mit.edu
|
||||||
D: Creator of Debian distribution
|
D: Creator of Debian distribution
|
||||||
@@ -2707,6 +2711,9 @@ N: Greg Page
|
|||||||
E: gpage@sovereign.org
|
E: gpage@sovereign.org
|
||||||
D: IPX development and support
|
D: IPX development and support
|
||||||
|
|
||||||
|
N: Venkatesh Pallipadi (Venki)
|
||||||
|
D: x86/HPET
|
||||||
|
|
||||||
N: David Parsons
|
N: David Parsons
|
||||||
E: orc@pell.chi.il.us
|
E: orc@pell.chi.il.us
|
||||||
D: improved memory detection code.
|
D: improved memory detection code.
|
||||||
|
|||||||
@@ -14,7 +14,10 @@ Read Documentation/SubmitChecklist for a list of items to check
|
|||||||
before submitting code. If you are submitting a driver, also read
|
before submitting code. If you are submitting a driver, also read
|
||||||
Documentation/SubmittingDrivers.
|
Documentation/SubmittingDrivers.
|
||||||
|
|
||||||
|
Many of these steps describe the default behavior of the git version
|
||||||
|
control system; if you use git to prepare your patches, you'll find much
|
||||||
|
of the mechanical work done for you, though you'll still need to prepare
|
||||||
|
and document a sensible set of patches.
|
||||||
|
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
SECTION 1 - CREATING AND SENDING YOUR CHANGE
|
SECTION 1 - CREATING AND SENDING YOUR CHANGE
|
||||||
@@ -25,7 +28,9 @@ SECTION 1 - CREATING AND SENDING YOUR CHANGE
|
|||||||
1) "diff -up"
|
1) "diff -up"
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Use "diff -up" or "diff -uprN" to create patches.
|
Use "diff -up" or "diff -uprN" to create patches. git generates patches
|
||||||
|
in this form by default; if you're using git, you can skip this section
|
||||||
|
entirely.
|
||||||
|
|
||||||
All changes to the Linux kernel occur in the form of patches, as
|
All changes to the Linux kernel occur in the form of patches, as
|
||||||
generated by diff(1). When creating your patch, make sure to create it
|
generated by diff(1). When creating your patch, make sure to create it
|
||||||
@@ -66,19 +71,14 @@ Make sure your patch does not include any extra files which do not
|
|||||||
belong in a patch submission. Make sure to review your patch -after-
|
belong in a patch submission. Make sure to review your patch -after-
|
||||||
generated it with diff(1), to ensure accuracy.
|
generated it with diff(1), to ensure accuracy.
|
||||||
|
|
||||||
If your changes produce a lot of deltas, you may want to look into
|
If your changes produce a lot of deltas, you need to split them into
|
||||||
splitting them into individual patches which modify things in
|
individual patches which modify things in logical stages; see section
|
||||||
logical stages. This will facilitate easier reviewing by other
|
#3. This will facilitate easier reviewing by other kernel developers,
|
||||||
kernel developers, very important if you want your patch accepted.
|
very important if you want your patch accepted.
|
||||||
There are a number of scripts which can aid in this:
|
|
||||||
|
|
||||||
Quilt:
|
If you're using git, "git rebase -i" can help you with this process. If
|
||||||
http://savannah.nongnu.org/projects/quilt
|
you're not using git, quilt <http://savannah.nongnu.org/projects/quilt>
|
||||||
|
is another popular alternative.
|
||||||
Andrew Morton's patch scripts:
|
|
||||||
http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
|
|
||||||
Instead of these scripts, quilt is the recommended patch management
|
|
||||||
tool (see above).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -106,8 +106,21 @@ I.e., the patch (series) and its description should be self-contained.
|
|||||||
This benefits both the patch merger(s) and reviewers. Some reviewers
|
This benefits both the patch merger(s) and reviewers. Some reviewers
|
||||||
probably didn't even receive earlier versions of the patch.
|
probably didn't even receive earlier versions of the patch.
|
||||||
|
|
||||||
|
Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
|
||||||
|
instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
|
||||||
|
to do frotz", as if you are giving orders to the codebase to change
|
||||||
|
its behaviour.
|
||||||
|
|
||||||
If the patch fixes a logged bug entry, refer to that bug entry by
|
If the patch fixes a logged bug entry, refer to that bug entry by
|
||||||
number and URL.
|
number and URL. If the patch follows from a mailing list discussion,
|
||||||
|
give a URL to the mailing list archive; use the https://lkml.kernel.org/
|
||||||
|
redirector with a Message-Id, to ensure that the links cannot become
|
||||||
|
stale.
|
||||||
|
|
||||||
|
However, try to make your explanation understandable without external
|
||||||
|
resources. In addition to giving a URL to a mailing list archive or
|
||||||
|
bug, summarize the relevant points of the discussion that led to the
|
||||||
|
patch as submitted.
|
||||||
|
|
||||||
If you want to refer to a specific commit, don't just refer to the
|
If you want to refer to a specific commit, don't just refer to the
|
||||||
SHA-1 ID of the commit. Please also include the oneline summary of
|
SHA-1 ID of the commit. Please also include the oneline summary of
|
||||||
@@ -594,7 +607,8 @@ patch.
|
|||||||
If you are going to include a diffstat after the "---" marker, please
|
If you are going to include a diffstat after the "---" marker, please
|
||||||
use diffstat options "-p 1 -w 70" so that filenames are listed from
|
use diffstat options "-p 1 -w 70" so that filenames are listed from
|
||||||
the top of the kernel source tree and don't use too much horizontal
|
the top of the kernel source tree and don't use too much horizontal
|
||||||
space (easily fit in 80 columns, maybe with some indentation).
|
space (easily fit in 80 columns, maybe with some indentation). (git
|
||||||
|
generates appropriate diffstats by default.)
|
||||||
|
|
||||||
See more details on the proper patch format in the following
|
See more details on the proper patch format in the following
|
||||||
references.
|
references.
|
||||||
@@ -725,7 +739,7 @@ SECTION 3 - REFERENCES
|
|||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Andrew Morton, "The perfect patch" (tpp).
|
Andrew Morton, "The perfect patch" (tpp).
|
||||||
<http://userweb.kernel.org/~akpm/stuff/tpp.txt>
|
<http://www.ozlabs.org/~akpm/stuff/tpp.txt>
|
||||||
|
|
||||||
Jeff Garzik, "Linux kernel patch submission format".
|
Jeff Garzik, "Linux kernel patch submission format".
|
||||||
<http://linux.yyz.us/patch-format.html>
|
<http://linux.yyz.us/patch-format.html>
|
||||||
@@ -738,7 +752,7 @@ Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
|
|||||||
<http://www.kroah.com/log/linux/maintainer-05.html>
|
<http://www.kroah.com/log/linux/maintainer-05.html>
|
||||||
|
|
||||||
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
||||||
<http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>
|
<https://lkml.org/lkml/2005/7/11/336>
|
||||||
|
|
||||||
Kernel Documentation/CodingStyle:
|
Kernel Documentation/CodingStyle:
|
||||||
<http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>
|
<http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
RTC controller for the Allwinner A10/A20
|
RTC controller for the Allwinner A10/A20
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : Should be "allwinner,sun4i-rtc" or "allwinner,sun7i-a20-rtc"
|
- compatible : Should be "allwinner,sun4i-a10-rtc" or "allwinner,sun7i-a20-rtc"
|
||||||
- reg: physical base address of the controller and length of memory mapped
|
- reg: physical base address of the controller and length of memory mapped
|
||||||
region.
|
region.
|
||||||
- interrupts: IRQ line for the RTC.
|
- interrupts: IRQ line for the RTC.
|
||||||
@@ -11,7 +11,7 @@ Required properties:
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
rtc: rtc@01c20d00 {
|
rtc: rtc@01c20d00 {
|
||||||
compatible = "allwinner,sun4i-rtc";
|
compatible = "allwinner,sun4i-a10-rtc";
|
||||||
reg = <0x01c20d00 0x20>;
|
reg = <0x01c20d00 0x20>;
|
||||||
interrupts = <24>;
|
interrupts = <24>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -25,9 +25,8 @@ available from the following download page. At least "mkfs.nilfs2",
|
|||||||
cleaner or garbage collector) are required. Details on the tools are
|
cleaner or garbage collector) are required. Details on the tools are
|
||||||
described in the man pages included in the package.
|
described in the man pages included in the package.
|
||||||
|
|
||||||
Project web page: http://www.nilfs.org/en/
|
Project web page: http://nilfs.sourceforge.net/
|
||||||
Download page: http://www.nilfs.org/en/download.html
|
Download page: http://nilfs.sourceforge.net/en/download.html
|
||||||
Git tree web page: http://www.nilfs.org/git/
|
|
||||||
List info: http://vger.kernel.org/vger-lists.html#linux-nilfs
|
List info: http://vger.kernel.org/vger-lists.html#linux-nilfs
|
||||||
|
|
||||||
Caveats
|
Caveats
|
||||||
@@ -111,6 +110,13 @@ Table of NILFS2 specific ioctls
|
|||||||
nilfs_resize utilities and by nilfs_cleanerd
|
nilfs_resize utilities and by nilfs_cleanerd
|
||||||
daemon.
|
daemon.
|
||||||
|
|
||||||
|
NILFS_IOCTL_SET_SUINFO Modify segment usage info of requested
|
||||||
|
segments. This ioctl is used by
|
||||||
|
nilfs_cleanerd daemon to skip unnecessary
|
||||||
|
cleaning operation of segments and reduce
|
||||||
|
performance penalty or wear of flash device
|
||||||
|
due to redundant move of in-use blocks.
|
||||||
|
|
||||||
NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl
|
NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl
|
||||||
is used in lssu, nilfs_resize utilities and
|
is used in lssu, nilfs_resize utilities and
|
||||||
by nilfs_cleanerd daemon.
|
by nilfs_cleanerd daemon.
|
||||||
|
|||||||
@@ -455,8 +455,6 @@ not have this problem with odd numbers of sectors.
|
|||||||
ChangeLog
|
ChangeLog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
|
|
||||||
|
|
||||||
2.1.30:
|
2.1.30:
|
||||||
- Fix writev() (it kept writing the first segment over and over again
|
- Fix writev() (it kept writing the first segment over and over again
|
||||||
instead of moving onto subsequent segments).
|
instead of moving onto subsequent segments).
|
||||||
|
|||||||
@@ -295,9 +295,9 @@ in the beginning of ->setattr unconditionally.
|
|||||||
->clear_inode() and ->delete_inode() are gone; ->evict_inode() should
|
->clear_inode() and ->delete_inode() are gone; ->evict_inode() should
|
||||||
be used instead. It gets called whenever the inode is evicted, whether it has
|
be used instead. It gets called whenever the inode is evicted, whether it has
|
||||||
remaining links or not. Caller does *not* evict the pagecache or inode-associated
|
remaining links or not. Caller does *not* evict the pagecache or inode-associated
|
||||||
metadata buffers; getting rid of those is responsibility of method, as it had
|
metadata buffers; the method has to use truncate_inode_pages_final() to get rid
|
||||||
been for ->delete_inode(). Caller makes sure async writeback cannot be running
|
of those. Caller makes sure async writeback cannot be running for the inode while
|
||||||
for the inode while (or after) ->evict_inode() is called.
|
(or after) ->evict_inode() is called.
|
||||||
|
|
||||||
->drop_inode() returns int now; it's called on final iput() with
|
->drop_inode() returns int now; it's called on final iput() with
|
||||||
inode->i_lock held and it returns true if filesystems wants the inode to be
|
inode->i_lock held and it returns true if filesystems wants the inode to be
|
||||||
|
|||||||
@@ -98,11 +98,6 @@ dontdiff ファイルには Linux カーネルのビルドプロセスの過程
|
|||||||
Quilt:
|
Quilt:
|
||||||
http://savannah.nongnu.org/projects/quilt
|
http://savannah.nongnu.org/projects/quilt
|
||||||
|
|
||||||
Andrew Morton's patch scripts:
|
|
||||||
http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
|
|
||||||
このリンクの先のスクリプトの代わりとして、quilt がパッチマネジメント
|
|
||||||
ツールとして推奨されています(上のリンクを見てください)。
|
|
||||||
|
|
||||||
2) パッチに対する説明
|
2) パッチに対する説明
|
||||||
|
|
||||||
パッチの中の変更点に対する技術的な詳細について説明してください。
|
パッチの中の変更点に対する技術的な詳細について説明してください。
|
||||||
@@ -695,7 +690,7 @@ gcc においては、マクロと同じくらい軽いです。
|
|||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Andrew Morton, "The perfect patch" (tpp).
|
Andrew Morton, "The perfect patch" (tpp).
|
||||||
<http://userweb.kernel.org/~akpm/stuff/tpp.txt>
|
<http://www.ozlabs.org/~akpm/stuff/tpp.txt>
|
||||||
|
|
||||||
Jeff Garzik, "Linux kernel patch submission format".
|
Jeff Garzik, "Linux kernel patch submission format".
|
||||||
<http://linux.yyz.us/patch-format.html>
|
<http://linux.yyz.us/patch-format.html>
|
||||||
@@ -707,7 +702,7 @@ Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
|
|||||||
<http://www.kroah.com/log/2006/01/11/>
|
<http://www.kroah.com/log/2006/01/11/>
|
||||||
|
|
||||||
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
||||||
<http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>
|
<https://lkml.org/lkml/2005/7/11/336>
|
||||||
|
|
||||||
Kernel Documentation/CodingStyle:
|
Kernel Documentation/CodingStyle:
|
||||||
<http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>
|
<http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>
|
||||||
|
|||||||
@@ -11,9 +11,7 @@ with the difference that the orphan objects are not freed but only
|
|||||||
reported via /sys/kernel/debug/kmemleak. A similar method is used by the
|
reported via /sys/kernel/debug/kmemleak. A similar method is used by the
|
||||||
Valgrind tool (memcheck --leak-check) to detect the memory leaks in
|
Valgrind tool (memcheck --leak-check) to detect the memory leaks in
|
||||||
user-space applications.
|
user-space applications.
|
||||||
|
Kmemleak is supported on x86, arm, powerpc, sparc, sh, microblaze, ppc, mips, s390, metag and tile.
|
||||||
Please check DEBUG_KMEMLEAK dependencies in lib/Kconfig.debug for supported
|
|
||||||
architectures.
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
@@ -53,7 +51,8 @@ Memory scanning parameters can be modified at run-time by writing to the
|
|||||||
(default 600, 0 to stop the automatic scanning)
|
(default 600, 0 to stop the automatic scanning)
|
||||||
scan - trigger a memory scan
|
scan - trigger a memory scan
|
||||||
clear - clear list of current memory leak suspects, done by
|
clear - clear list of current memory leak suspects, done by
|
||||||
marking all current reported unreferenced objects grey
|
marking all current reported unreferenced objects grey,
|
||||||
|
or free all kmemleak objects if kmemleak has been disabled.
|
||||||
dump=<addr> - dump information about the object found at <addr>
|
dump=<addr> - dump information about the object found at <addr>
|
||||||
|
|
||||||
Kmemleak can also be disabled at boot-time by passing "kmemleak=off" on
|
Kmemleak can also be disabled at boot-time by passing "kmemleak=off" on
|
||||||
@@ -68,7 +67,7 @@ Basic Algorithm
|
|||||||
|
|
||||||
The memory allocations via kmalloc, vmalloc, kmem_cache_alloc and
|
The memory allocations via kmalloc, vmalloc, kmem_cache_alloc and
|
||||||
friends are traced and the pointers, together with additional
|
friends are traced and the pointers, together with additional
|
||||||
information like size and stack trace, are stored in a prio search tree.
|
information like size and stack trace, are stored in a rbtree.
|
||||||
The corresponding freeing function calls are tracked and the pointers
|
The corresponding freeing function calls are tracked and the pointers
|
||||||
removed from the kmemleak data structures.
|
removed from the kmemleak data structures.
|
||||||
|
|
||||||
@@ -84,7 +83,7 @@ The scanning algorithm steps:
|
|||||||
1. mark all objects as white (remaining white objects will later be
|
1. mark all objects as white (remaining white objects will later be
|
||||||
considered orphan)
|
considered orphan)
|
||||||
2. scan the memory starting with the data section and stacks, checking
|
2. scan the memory starting with the data section and stacks, checking
|
||||||
the values against the addresses stored in the prio search tree. If
|
the values against the addresses stored in the rbtree. If
|
||||||
a pointer to a white object is found, the object is added to the
|
a pointer to a white object is found, the object is added to the
|
||||||
gray list
|
gray list
|
||||||
3. scan the gray objects for matching addresses (some white objects
|
3. scan the gray objects for matching addresses (some white objects
|
||||||
@@ -120,6 +119,18 @@ Then as usual to get your report with:
|
|||||||
|
|
||||||
# cat /sys/kernel/debug/kmemleak
|
# cat /sys/kernel/debug/kmemleak
|
||||||
|
|
||||||
|
Freeing kmemleak internal objects
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
To allow access to previosuly found memory leaks after kmemleak has been
|
||||||
|
disabled by the user or due to an fatal error, internal kmemleak objects
|
||||||
|
won't be freed when kmemleak is disabled, and those objects may occupy
|
||||||
|
a large part of physical memory.
|
||||||
|
|
||||||
|
In this situation, you may reclaim memory with:
|
||||||
|
|
||||||
|
# echo clear > /sys/kernel/debug/kmemleak
|
||||||
|
|
||||||
Kmemleak API
|
Kmemleak API
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|||||||
@@ -175,18 +175,39 @@ Setting this to zero disables periodic writeback altogether.
|
|||||||
|
|
||||||
drop_caches
|
drop_caches
|
||||||
|
|
||||||
Writing to this will cause the kernel to drop clean caches, dentries and
|
Writing to this will cause the kernel to drop clean caches, as well as
|
||||||
inodes from memory, causing that memory to become free.
|
reclaimable slab objects like dentries and inodes. Once dropped, their
|
||||||
|
memory becomes free.
|
||||||
|
|
||||||
To free pagecache:
|
To free pagecache:
|
||||||
echo 1 > /proc/sys/vm/drop_caches
|
echo 1 > /proc/sys/vm/drop_caches
|
||||||
To free dentries and inodes:
|
To free reclaimable slab objects (includes dentries and inodes):
|
||||||
echo 2 > /proc/sys/vm/drop_caches
|
echo 2 > /proc/sys/vm/drop_caches
|
||||||
To free pagecache, dentries and inodes:
|
To free slab objects and pagecache:
|
||||||
echo 3 > /proc/sys/vm/drop_caches
|
echo 3 > /proc/sys/vm/drop_caches
|
||||||
|
|
||||||
As this is a non-destructive operation and dirty objects are not freeable, the
|
This is a non-destructive operation and will not free any dirty objects.
|
||||||
user should run `sync' first.
|
To increase the number of objects freed by this operation, the user may run
|
||||||
|
`sync' prior to writing to /proc/sys/vm/drop_caches. This will minimize the
|
||||||
|
number of dirty objects on the system and create more candidates to be
|
||||||
|
dropped.
|
||||||
|
|
||||||
|
This file is not a means to control the growth of the various kernel caches
|
||||||
|
(inodes, dentries, pagecache, etc...) These objects are automatically
|
||||||
|
reclaimed by the kernel when memory is needed elsewhere on the system.
|
||||||
|
|
||||||
|
Use of this file can cause performance problems. Since it discards cached
|
||||||
|
objects, it may cost a significant amount of I/O and CPU to recreate the
|
||||||
|
dropped objects, especially if they were under heavy use. Because of this,
|
||||||
|
use outside of a testing or debugging environment is not recommended.
|
||||||
|
|
||||||
|
You may see informational messages in your kernel log when this file is
|
||||||
|
used:
|
||||||
|
|
||||||
|
cat (1234): drop_caches: 3
|
||||||
|
|
||||||
|
These are informational only. They do not mean that anything is wrong
|
||||||
|
with your system. To disable them, echo 4 (bit 3) into drop_caches.
|
||||||
|
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
|
|||||||
@@ -82,10 +82,6 @@ Documentation/SubmittingDrivers 。
|
|||||||
Quilt:
|
Quilt:
|
||||||
http://savannah.nongnu.org/projects/quilt
|
http://savannah.nongnu.org/projects/quilt
|
||||||
|
|
||||||
Andrew Morton 的补丁脚本:
|
|
||||||
http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
|
|
||||||
作为这些脚本的替代,quilt 是值得推荐的补丁管理工具(看上面的链接)。
|
|
||||||
|
|
||||||
2)描述你的改动。
|
2)描述你的改动。
|
||||||
描述你的改动包含的技术细节。
|
描述你的改动包含的技术细节。
|
||||||
|
|
||||||
@@ -394,7 +390,7 @@ Static inline 函数相比宏来说,是好得多的选择。Static inline 函
|
|||||||
----------------
|
----------------
|
||||||
|
|
||||||
Andrew Morton, "The perfect patch" (tpp).
|
Andrew Morton, "The perfect patch" (tpp).
|
||||||
<http://userweb.kernel.org/~akpm/stuff/tpp.txt>
|
<http://www.ozlabs.org/~akpm/stuff/tpp.txt>
|
||||||
|
|
||||||
Jeff Garzik, "Linux kernel patch submission format".
|
Jeff Garzik, "Linux kernel patch submission format".
|
||||||
<http://linux.yyz.us/patch-format.html>
|
<http://linux.yyz.us/patch-format.html>
|
||||||
@@ -406,7 +402,7 @@ Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
|
|||||||
<http://www.kroah.com/log/2006/01/11/>
|
<http://www.kroah.com/log/2006/01/11/>
|
||||||
|
|
||||||
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
|
||||||
<http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>
|
<https://lkml.org/lkml/2005/7/11/336>
|
||||||
|
|
||||||
Kernel Documentation/CodingStyle:
|
Kernel Documentation/CodingStyle:
|
||||||
<http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
|
<http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
|
||||||
|
|||||||
+35
-11
@@ -1704,6 +1704,8 @@ F: drivers/net/wireless/b43legacy/
|
|||||||
|
|
||||||
BACKLIGHT CLASS/SUBSYSTEM
|
BACKLIGHT CLASS/SUBSYSTEM
|
||||||
M: Jingoo Han <jg1.han@samsung.com>
|
M: Jingoo Han <jg1.han@samsung.com>
|
||||||
|
M: Bryan Wu <cooloney@gmail.com>
|
||||||
|
M: Lee Jones <lee.jones@linaro.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/video/backlight/
|
F: drivers/video/backlight/
|
||||||
F: include/linux/backlight.h
|
F: include/linux/backlight.h
|
||||||
@@ -2728,6 +2730,31 @@ F: include/linux/device-mapper.h
|
|||||||
F: include/linux/dm-*.h
|
F: include/linux/dm-*.h
|
||||||
F: include/uapi/linux/dm-*.h
|
F: include/uapi/linux/dm-*.h
|
||||||
|
|
||||||
|
DIALOG SEMICONDUCTOR DRIVERS
|
||||||
|
M: Support Opensource <support.opensource@diasemi.com>
|
||||||
|
W: http://www.dialog-semiconductor.com/products
|
||||||
|
S: Supported
|
||||||
|
F: Documentation/hwmon/da90??
|
||||||
|
F: drivers/gpio/gpio-da90??.c
|
||||||
|
F: drivers/hwmon/da90??-hwmon.c
|
||||||
|
F: drivers/input/misc/da90??_onkey.c
|
||||||
|
F: drivers/input/touchscreen/da9052_tsi.c
|
||||||
|
F: drivers/leds/leds-da90??.c
|
||||||
|
F: drivers/mfd/da903x.c
|
||||||
|
F: drivers/mfd/da90??-*.c
|
||||||
|
F: drivers/power/da9052-battery.c
|
||||||
|
F: drivers/regulator/da903x.c
|
||||||
|
F: drivers/regulator/da9???-regulator.[ch]
|
||||||
|
F: drivers/rtc/rtc-da90??.c
|
||||||
|
F: drivers/video/backlight/da90??_bl.c
|
||||||
|
F: drivers/watchdog/da90??_wdt.c
|
||||||
|
F: include/linux/mfd/da903x.h
|
||||||
|
F: include/linux/mfd/da9052/
|
||||||
|
F: include/linux/mfd/da9055/
|
||||||
|
F: include/linux/mfd/da9063/
|
||||||
|
F: include/sound/da[79]*.h
|
||||||
|
F: sound/soc/codecs/da[79]*.[ch]
|
||||||
|
|
||||||
DIGI NEO AND CLASSIC PCI PRODUCTS
|
DIGI NEO AND CLASSIC PCI PRODUCTS
|
||||||
M: Lidza Louina <lidza.louina@gmail.com>
|
M: Lidza Louina <lidza.louina@gmail.com>
|
||||||
L: driverdev-devel@linuxdriverproject.org
|
L: driverdev-devel@linuxdriverproject.org
|
||||||
@@ -4128,8 +4155,7 @@ F: include/linux/hpet.h
|
|||||||
F: include/uapi/linux/hpet.h
|
F: include/uapi/linux/hpet.h
|
||||||
|
|
||||||
HPET: x86
|
HPET: x86
|
||||||
M: "Venkatesh Pallipadi (Venki)" <venki@google.com>
|
S: Orphan
|
||||||
S: Maintained
|
|
||||||
F: arch/x86/kernel/hpet.c
|
F: arch/x86/kernel/hpet.c
|
||||||
F: arch/x86/include/asm/hpet.h
|
F: arch/x86/include/asm/hpet.h
|
||||||
|
|
||||||
@@ -4620,7 +4646,7 @@ F: arch/x86/kernel/tboot.c
|
|||||||
INTEL WIRELESS WIMAX CONNECTION 2400
|
INTEL WIRELESS WIMAX CONNECTION 2400
|
||||||
M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
|
M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
|
||||||
M: linux-wimax@intel.com
|
M: linux-wimax@intel.com
|
||||||
L: wimax@linuxwimax.org
|
L: wimax@linuxwimax.org (subscribers-only)
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://linuxwimax.org
|
W: http://linuxwimax.org
|
||||||
F: Documentation/wimax/README.i2400m
|
F: Documentation/wimax/README.i2400m
|
||||||
@@ -5734,7 +5760,6 @@ F: fs/imgdafs/
|
|||||||
|
|
||||||
MICROBLAZE ARCHITECTURE
|
MICROBLAZE ARCHITECTURE
|
||||||
M: Michal Simek <monstr@monstr.eu>
|
M: Michal Simek <monstr@monstr.eu>
|
||||||
L: microblaze-uclinux@itee.uq.edu.au (moderated for non-subscribers)
|
|
||||||
W: http://www.monstr.eu/fdt/
|
W: http://www.monstr.eu/fdt/
|
||||||
T: git git://git.monstr.eu/linux-2.6-microblaze.git
|
T: git git://git.monstr.eu/linux-2.6-microblaze.git
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -6156,10 +6181,10 @@ F: include/uapi/linux/nfs*
|
|||||||
F: include/uapi/linux/sunrpc/
|
F: include/uapi/linux/sunrpc/
|
||||||
|
|
||||||
NILFS2 FILESYSTEM
|
NILFS2 FILESYSTEM
|
||||||
M: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
|
M: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
|
||||||
L: linux-nilfs@vger.kernel.org
|
L: linux-nilfs@vger.kernel.org
|
||||||
W: http://www.nilfs.org/en/
|
W: http://nilfs.sourceforge.net/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2.git
|
T: git git://github.com/konis/nilfs2.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/filesystems/nilfs2.txt
|
F: Documentation/filesystems/nilfs2.txt
|
||||||
F: fs/nilfs2/
|
F: fs/nilfs2/
|
||||||
@@ -8476,12 +8501,10 @@ S: Maintained
|
|||||||
F: drivers/net/ethernet/dlink/sundance.c
|
F: drivers/net/ethernet/dlink/sundance.c
|
||||||
|
|
||||||
SUPERH
|
SUPERH
|
||||||
M: Paul Mundt <lethal@linux-sh.org>
|
|
||||||
L: linux-sh@vger.kernel.org
|
L: linux-sh@vger.kernel.org
|
||||||
W: http://www.linux-sh.org
|
W: http://www.linux-sh.org
|
||||||
Q: http://patchwork.kernel.org/project/linux-sh/list/
|
Q: http://patchwork.kernel.org/project/linux-sh/list/
|
||||||
T: git git://github.com/pmundt/linux-sh.git sh-latest
|
S: Orphan
|
||||||
S: Supported
|
|
||||||
F: Documentation/sh/
|
F: Documentation/sh/
|
||||||
F: arch/sh/
|
F: arch/sh/
|
||||||
F: drivers/sh/
|
F: drivers/sh/
|
||||||
@@ -8765,6 +8788,7 @@ M: Max Filippov <jcmvbkbc@gmail.com>
|
|||||||
L: linux-xtensa@linux-xtensa.org
|
L: linux-xtensa@linux-xtensa.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: arch/xtensa/
|
F: arch/xtensa/
|
||||||
|
F: drivers/irqchip/irq-xtensa-*
|
||||||
|
|
||||||
THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
|
THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
|
||||||
M: Hans Verkuil <hverkuil@xs4all.nl>
|
M: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
@@ -9656,7 +9680,7 @@ F: drivers/media/rc/winbond-cir.c
|
|||||||
WIMAX STACK
|
WIMAX STACK
|
||||||
M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
|
M: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
|
||||||
M: linux-wimax@intel.com
|
M: linux-wimax@intel.com
|
||||||
L: wimax@linuxwimax.org
|
L: wimax@linuxwimax.org (subscribers-only)
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://linuxwimax.org
|
W: http://linuxwimax.org
|
||||||
F: Documentation/wimax/README.wimax
|
F: Documentation/wimax/README.wimax
|
||||||
|
|||||||
@@ -415,7 +415,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
rtc: rtc@01c20d00 {
|
rtc: rtc@01c20d00 {
|
||||||
compatible = "allwinner,sun4i-rtc";
|
compatible = "allwinner,sun4i-a10-rtc";
|
||||||
reg = <0x01c20d00 0x20>;
|
reg = <0x01c20d00 0x20>;
|
||||||
interrupts = <24>;
|
interrupts = <24>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,27 +22,21 @@ choice
|
|||||||
config ARCH_SCORE7
|
config ARCH_SCORE7
|
||||||
bool "SCORE7 processor"
|
bool "SCORE7 processor"
|
||||||
select SYS_SUPPORTS_32BIT_KERNEL
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
select CPU_SCORE7
|
|
||||||
select GENERIC_HAS_IOMAP
|
select GENERIC_HAS_IOMAP
|
||||||
|
|
||||||
config MACH_SPCT6600
|
config MACH_SPCT6600
|
||||||
bool "SPCT6600 series based machines"
|
bool "SPCT6600 series based machines"
|
||||||
select SYS_SUPPORTS_32BIT_KERNEL
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
select CPU_SCORE7
|
|
||||||
select GENERIC_HAS_IOMAP
|
select GENERIC_HAS_IOMAP
|
||||||
|
|
||||||
config SCORE_SIM
|
config SCORE_SIM
|
||||||
bool "Score simulator"
|
bool "Score simulator"
|
||||||
select SYS_SUPPORTS_32BIT_KERNEL
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
select CPU_SCORE7
|
|
||||||
select GENERIC_HAS_IOMAP
|
select GENERIC_HAS_IOMAP
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
config CPU_SCORE7
|
|
||||||
bool
|
|
||||||
|
|
||||||
config NO_DMA
|
config NO_DMA
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ static struct sh_mobile_sdhi_info sdhi_info = {
|
|||||||
static struct resource sdhi_resources[] = {
|
static struct resource sdhi_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.start = 0xffe50000,
|
.start = 0xffe50000,
|
||||||
.end = 0xffe501ff,
|
.end = 0xffe500ff,
|
||||||
.flags = IORESOURCE_MEM,
|
.flags = IORESOURCE_MEM,
|
||||||
},
|
},
|
||||||
[1] = {
|
[1] = {
|
||||||
|
|||||||
@@ -145,9 +145,6 @@
|
|||||||
/* PCIERMSGIER */
|
/* PCIERMSGIER */
|
||||||
#define SH4A_PCIERMSGIER (0x004040) /* R/W - 0x0000 0000 32 */
|
#define SH4A_PCIERMSGIER (0x004040) /* R/W - 0x0000 0000 32 */
|
||||||
|
|
||||||
/* PCIEPHYCTLR */
|
|
||||||
#define SH4A_PCIEPHYCTLR (0x010000) /* R/W - 0x0000 0000 32 */
|
|
||||||
|
|
||||||
/* PCIEPHYADRR */
|
/* PCIEPHYADRR */
|
||||||
#define SH4A_PCIEPHYADRR (0x010004) /* R/W - 0x0000 0000 32 */
|
#define SH4A_PCIEPHYADRR (0x010004) /* R/W - 0x0000 0000 32 */
|
||||||
#define BITS_ACK (24) // Rev1.171
|
#define BITS_ACK (24) // Rev1.171
|
||||||
|
|||||||
@@ -9,15 +9,9 @@
|
|||||||
|
|
||||||
struct pt_regs;
|
struct pt_regs;
|
||||||
|
|
||||||
asmlinkage int sys_sigreturn(unsigned long r4, unsigned long r5,
|
asmlinkage int sys_sigreturn(void);
|
||||||
unsigned long r6, unsigned long r7,
|
asmlinkage int sys_rt_sigreturn(void);
|
||||||
struct pt_regs __regs);
|
asmlinkage int sys_sh_pipe(void);
|
||||||
asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5,
|
|
||||||
unsigned long r6, unsigned long r7,
|
|
||||||
struct pt_regs __regs);
|
|
||||||
asmlinkage int sys_sh_pipe(unsigned long r4, unsigned long r5,
|
|
||||||
unsigned long r6, unsigned long r7,
|
|
||||||
struct pt_regs __regs);
|
|
||||||
asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char __user *buf,
|
asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char __user *buf,
|
||||||
size_t count, long dummy, loff_t pos);
|
size_t count, long dummy, loff_t pos);
|
||||||
asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char __user *buf,
|
asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char __user *buf,
|
||||||
|
|||||||
@@ -42,18 +42,10 @@ static inline void trigger_address_error(void)
|
|||||||
asmlinkage void do_address_error(struct pt_regs *regs,
|
asmlinkage void do_address_error(struct pt_regs *regs,
|
||||||
unsigned long writeaccess,
|
unsigned long writeaccess,
|
||||||
unsigned long address);
|
unsigned long address);
|
||||||
asmlinkage void do_divide_error(unsigned long r4, unsigned long r5,
|
asmlinkage void do_divide_error(unsigned long r4);
|
||||||
unsigned long r6, unsigned long r7,
|
asmlinkage void do_reserved_inst(void);
|
||||||
struct pt_regs __regs);
|
asmlinkage void do_illegal_slot_inst(void);
|
||||||
asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5,
|
asmlinkage void do_exception_error(void);
|
||||||
unsigned long r6, unsigned long r7,
|
|
||||||
struct pt_regs __regs);
|
|
||||||
asmlinkage void do_illegal_slot_inst(unsigned long r4, unsigned long r5,
|
|
||||||
unsigned long r6, unsigned long r7,
|
|
||||||
struct pt_regs __regs);
|
|
||||||
asmlinkage void do_exception_error(unsigned long r4, unsigned long r5,
|
|
||||||
unsigned long r6, unsigned long r7,
|
|
||||||
struct pt_regs __regs);
|
|
||||||
|
|
||||||
#define BUILD_TRAP_HANDLER(name) \
|
#define BUILD_TRAP_HANDLER(name) \
|
||||||
asmlinkage void name##_trap_handler(unsigned long r4, unsigned long r5, \
|
asmlinkage void name##_trap_handler(unsigned long r4, unsigned long r5, \
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ static struct clk_lookup lookups[] = {
|
|||||||
CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]),
|
CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP103]),
|
||||||
CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]),
|
CLKDEV_DEV_ID("renesas_usbhs.0", &mstp_clks[MSTP102]),
|
||||||
CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]),
|
CLKDEV_CON_ID("mmc0", &mstp_clks[MSTP220]),
|
||||||
CLKDEV_CON_ID("rspi2", &mstp_clks[MSTP127]),
|
CLKDEV_DEV_ID("rspi.2", &mstp_clks[MSTP127]),
|
||||||
};
|
};
|
||||||
|
|
||||||
int __init arch_clk_init(void)
|
int __init arch_clk_init(void)
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ static int print_trace_stack(void *data, char *name)
|
|||||||
*/
|
*/
|
||||||
static void print_trace_address(void *data, unsigned long addr, int reliable)
|
static void print_trace_address(void *data, unsigned long addr, int reliable)
|
||||||
{
|
{
|
||||||
printk(data);
|
printk("%s", (char *)data);
|
||||||
printk_address(addr, reliable);
|
printk_address(addr, reliable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -193,10 +193,10 @@ syscall_trace_entry:
|
|||||||
! Reload R0-R4 from kernel stack, where the
|
! Reload R0-R4 from kernel stack, where the
|
||||||
! parent may have modified them using
|
! parent may have modified them using
|
||||||
! ptrace(POKEUSR). (Note that R0-R2 are
|
! ptrace(POKEUSR). (Note that R0-R2 are
|
||||||
! used by the system call handler directly
|
! reloaded from the kernel stack by syscall_call
|
||||||
! from the kernel stack anyway, so don't need
|
! below, so don't need to be reloaded here.)
|
||||||
! to be reloaded here.) This allows the parent
|
! This allows the parent to rewrite system calls
|
||||||
! to rewrite system calls and args on the fly.
|
! and args on the fly.
|
||||||
mov.l @(OFF_R4,r15), r4 ! arg0
|
mov.l @(OFF_R4,r15), r4 ! arg0
|
||||||
mov.l @(OFF_R5,r15), r5
|
mov.l @(OFF_R5,r15), r5
|
||||||
mov.l @(OFF_R6,r15), r6
|
mov.l @(OFF_R6,r15), r6
|
||||||
@@ -357,8 +357,15 @@ syscall_call:
|
|||||||
mov.l 3f, r8 ! Load the address of sys_call_table
|
mov.l 3f, r8 ! Load the address of sys_call_table
|
||||||
add r8, r3
|
add r8, r3
|
||||||
mov.l @r3, r8
|
mov.l @r3, r8
|
||||||
|
mov.l @(OFF_R2,r15), r2
|
||||||
|
mov.l @(OFF_R1,r15), r1
|
||||||
|
mov.l @(OFF_R0,r15), r0
|
||||||
|
mov.l r2, @-r15
|
||||||
|
mov.l r1, @-r15
|
||||||
|
mov.l r0, @-r15
|
||||||
jsr @r8 ! jump to specific syscall handler
|
jsr @r8 ! jump to specific syscall handler
|
||||||
nop
|
nop
|
||||||
|
add #12, r15
|
||||||
mov.l @(OFF_R0,r15), r12 ! save r0
|
mov.l @(OFF_R0,r15), r12 ! save r0
|
||||||
mov.l r0, @(OFF_R0,r15) ! save the return value
|
mov.l r0, @(OFF_R0,r15) ! save the return value
|
||||||
!
|
!
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user