Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: Driver core: fix 'dynamic_debug' cmd line parameter HOWTO: Sync patch for jp_JP/HOWTO Update stable tree documentation sysfs: Fix return values for sysdev_store_{ulong,int} driver core: drivers/base/sys.c: update comments Document kernel taint flags properly
This commit is contained in:
Коммит
53387b0151
|
@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
|
|||
fork. So if you have any comments or updates for this file, please try
|
||||
to update the original English file first.
|
||||
|
||||
Last Updated: 2008/08/21
|
||||
Last Updated: 2008/10/24
|
||||
==================================
|
||||
これは、
|
||||
linux-2.6.27/Documentation/HOWTO
|
||||
linux-2.6.28/Documentation/HOWTO
|
||||
の和訳です。
|
||||
|
||||
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
|
||||
翻訳日: 2008/8/5
|
||||
翻訳日: 2008/10/24
|
||||
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
|
||||
校正者: 松倉さん <nbh--mats at nifty dot com>
|
||||
小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
|
||||
|
@ -110,8 +110,8 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
|
|||
新しいドキュメントファイルも追加することを勧めます。
|
||||
カーネルの変更が、カーネルがユーザ空間に公開しているインターフェイスの
|
||||
変更を引き起こす場合、その変更を説明するマニュアルページのパッチや情報
|
||||
をマニュアルページのメンテナ mtk.manpages@gmail.com に送ることを勧めま
|
||||
す。
|
||||
をマニュアルページのメンテナ mtk.manpages@gmail.com に送り、CC を
|
||||
linux-api@ver.kernel.org に送ることを勧めます。
|
||||
|
||||
以下はカーネルソースツリーに含まれている読んでおくべきファイルの一覧で
|
||||
す-
|
||||
|
@ -149,7 +149,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
|
|||
この他にパッチを作る方法についてのよくできた記述は-
|
||||
|
||||
"The Perfect Patch"
|
||||
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
|
||||
http://userweb.kernel.org/~akpm/stuff/tpp.txt
|
||||
"Linux kernel patch submission format"
|
||||
http://linux.yyz.us/patch-format.html
|
||||
|
||||
|
@ -664,7 +664,7 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
|
|||
これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ
|
||||
ントの ChangeLog セクションを見てください-
|
||||
"The Perfect Patch"
|
||||
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
|
||||
http://userweb.kernel.org/~akpm/stuff/tpp.txt
|
||||
|
||||
これらのどれもが、時にはとても困難です。これらの慣例を完璧に実施するに
|
||||
は数年かかるかもしれません。これは継続的な改善のプロセスであり、そのた
|
||||
|
|
|
@ -12,6 +12,7 @@ Rules on what kind of patches are accepted, and which ones are not, into the
|
|||
marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
|
||||
security issue, or some "oh, that's not good" issue. In short, something
|
||||
critical.
|
||||
- New device IDs and quirks are also accepted.
|
||||
- No "theoretical race condition" issues, unless an explanation of how the
|
||||
race can be exploited is also provided.
|
||||
- It cannot contain any "trivial" fixes in it (spelling changes,
|
||||
|
|
|
@ -363,11 +363,21 @@ tainted:
|
|||
Non-zero if the kernel has been tainted. Numeric values, which
|
||||
can be ORed together:
|
||||
|
||||
1 - A module with a non-GPL license has been loaded, this
|
||||
includes modules with no license.
|
||||
Set by modutils >= 2.4.9 and module-init-tools.
|
||||
2 - A module was force loaded by insmod -f.
|
||||
Set by modutils >= 2.4.9 and module-init-tools.
|
||||
4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
|
||||
64 - A module from drivers/staging was loaded.
|
||||
1 - A module with a non-GPL license has been loaded, this
|
||||
includes modules with no license.
|
||||
Set by modutils >= 2.4.9 and module-init-tools.
|
||||
2 - A module was force loaded by insmod -f.
|
||||
Set by modutils >= 2.4.9 and module-init-tools.
|
||||
4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
|
||||
8 - A module was forcibly unloaded from the system by rmmod -f.
|
||||
16 - A hardware machine check error occurred on the system.
|
||||
32 - A bad page was discovered on the system.
|
||||
64 - The user has asked that the system be marked "tainted". This
|
||||
could be because they are running software that directly modifies
|
||||
the hardware, or for other reasons.
|
||||
128 - The system has died.
|
||||
256 - The ACPI DSDT has been overridden with one supplied by the user
|
||||
instead of using the one provided by the hardware.
|
||||
512 - A kernel warning has occurred.
|
||||
1024 - A module from drivers/staging was loaded.
|
||||
|
||||
|
|
|
@ -355,7 +355,7 @@ static void __sysdev_resume(struct sys_device *dev)
|
|||
* sysdev_suspend - Suspend all system devices.
|
||||
* @state: Power state to enter.
|
||||
*
|
||||
* We perform an almost identical operation as sys_device_shutdown()
|
||||
* We perform an almost identical operation as sysdev_shutdown()
|
||||
* above, though calling ->suspend() instead. Interrupts are disabled
|
||||
* when this called. Devices are responsible for both saving state and
|
||||
* quiescing or powering down the device.
|
||||
|
@ -437,7 +437,7 @@ aux_driver:
|
|||
/**
|
||||
* sysdev_resume - Bring system devices back to life.
|
||||
*
|
||||
* Similar to sys_device_suspend(), but we iterate the list forwards
|
||||
* Similar to sysdev_suspend(), but we iterate the list forwards
|
||||
* to guarantee that parent devices are resumed before their children.
|
||||
*
|
||||
* Note: Interrupts are disabled when called.
|
||||
|
@ -488,7 +488,8 @@ ssize_t sysdev_store_ulong(struct sys_device *sysdev,
|
|||
if (end == buf)
|
||||
return -EINVAL;
|
||||
*(unsigned long *)(ea->var) = new;
|
||||
return end - buf;
|
||||
/* Always return full write size even if we didn't consume all */
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sysdev_store_ulong);
|
||||
|
||||
|
@ -511,7 +512,8 @@ ssize_t sysdev_store_int(struct sys_device *sysdev,
|
|||
if (end == buf || new > INT_MAX || new < INT_MIN)
|
||||
return -EINVAL;
|
||||
*(int *)(ea->var) = new;
|
||||
return end - buf;
|
||||
/* Always return full write size even if we didn't consume all */
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sysdev_store_int);
|
||||
|
||||
|
|
|
@ -402,6 +402,8 @@ static int __init dynamic_printk_init(void)
|
|||
iter->logical_modname,
|
||||
iter->flag_names, iter->hash, iter->hash2);
|
||||
}
|
||||
if (dynamic_enabled == DYNAMIC_ENABLED_ALL)
|
||||
set_all(true);
|
||||
return 0;
|
||||
}
|
||||
module_init(dynamic_printk_init);
|
||||
|
@ -411,7 +413,7 @@ static int __init dynamic_printk_setup(char *str)
|
|||
{
|
||||
if (str)
|
||||
return -ENOENT;
|
||||
set_all(true);
|
||||
dynamic_enabled = DYNAMIC_ENABLED_ALL;
|
||||
return 0;
|
||||
}
|
||||
/* Use early_param(), so we can get debug output as early as possible */
|
||||
|
|
Загрузка…
Ссылка в новой задаче