diff options
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/HOWTO | 4 | ||||
| -rw-r--r-- | Documentation/development-process/5.Posting | 8 | ||||
| -rw-r--r-- | Documentation/driver-model/devres.txt | 1 | ||||
| -rw-r--r-- | Documentation/filesystems/debugfs.txt | 32 |
4 files changed, 38 insertions, 7 deletions
diff --git a/Documentation/HOWTO b/Documentation/HOWTO index 81bc1a9ab9d8..f7ade3b3b40d 100644 --- a/Documentation/HOWTO +++ b/Documentation/HOWTO | |||
| @@ -275,8 +275,8 @@ versions. | |||
| 275 | If no 2.6.x.y kernel is available, then the highest numbered 2.6.x | 275 | If no 2.6.x.y kernel is available, then the highest numbered 2.6.x |
| 276 | kernel is the current stable kernel. | 276 | kernel is the current stable kernel. |
| 277 | 277 | ||
| 278 | 2.6.x.y are maintained by the "stable" team <stable@kernel.org>, and are | 278 | 2.6.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and |
| 279 | released as needs dictate. The normal release period is approximately | 279 | are released as needs dictate. The normal release period is approximately |
| 280 | two weeks, but it can be longer if there are no pressing problems. A | 280 | two weeks, but it can be longer if there are no pressing problems. A |
| 281 | security-related problem, instead, can cause a release to happen almost | 281 | security-related problem, instead, can cause a release to happen almost |
| 282 | instantly. | 282 | instantly. |
diff --git a/Documentation/development-process/5.Posting b/Documentation/development-process/5.Posting index 903a2546f138..8a48c9b62864 100644 --- a/Documentation/development-process/5.Posting +++ b/Documentation/development-process/5.Posting | |||
| @@ -271,10 +271,10 @@ copies should go to: | |||
| 271 | the linux-kernel list. | 271 | the linux-kernel list. |
| 272 | 272 | ||
| 273 | - If you are fixing a bug, think about whether the fix should go into the | 273 | - If you are fixing a bug, think about whether the fix should go into the |
| 274 | next stable update. If so, stable@kernel.org should get a copy of the | 274 | next stable update. If so, stable@vger.kernel.org should get a copy of |
| 275 | patch. Also add a "Cc: stable@kernel.org" to the tags within the patch | 275 | the patch. Also add a "Cc: stable@vger.kernel.org" to the tags within |
| 276 | itself; that will cause the stable team to get a notification when your | 276 | the patch itself; that will cause the stable team to get a notification |
| 277 | fix goes into the mainline. | 277 | when your fix goes into the mainline. |
| 278 | 278 | ||
| 279 | When selecting recipients for a patch, it is good to have an idea of who | 279 | When selecting recipients for a patch, it is good to have an idea of who |
| 280 | you think will eventually accept the patch and get it merged. While it | 280 | you think will eventually accept the patch and get it merged. While it |
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt index d79aead9418b..10c64c8a13d4 100644 --- a/Documentation/driver-model/devres.txt +++ b/Documentation/driver-model/devres.txt | |||
| @@ -262,6 +262,7 @@ IOMAP | |||
| 262 | devm_ioremap() | 262 | devm_ioremap() |
| 263 | devm_ioremap_nocache() | 263 | devm_ioremap_nocache() |
| 264 | devm_iounmap() | 264 | devm_iounmap() |
| 265 | devm_request_and_ioremap() : checks resource, requests region, ioremaps | ||
| 265 | pcim_iomap() | 266 | pcim_iomap() |
| 266 | pcim_iounmap() | 267 | pcim_iounmap() |
| 267 | pcim_iomap_table() : array of mapped addresses indexed by BAR | 268 | pcim_iomap_table() : array of mapped addresses indexed by BAR |
diff --git a/Documentation/filesystems/debugfs.txt b/Documentation/filesystems/debugfs.txt index 742cc06e138f..f04066a37f4c 100644 --- a/Documentation/filesystems/debugfs.txt +++ b/Documentation/filesystems/debugfs.txt | |||
| @@ -97,7 +97,8 @@ A read on the resulting file will yield either Y (for non-zero values) or | |||
| 97 | N, followed by a newline. If written to, it will accept either upper- or | 97 | N, followed by a newline. If written to, it will accept either upper- or |
| 98 | lower-case values, or 1 or 0. Any other input will be silently ignored. | 98 | lower-case values, or 1 or 0. Any other input will be silently ignored. |
| 99 | 99 | ||
| 100 | Finally, a block of arbitrary binary data can be exported with: | 100 | Another option is exporting a block of arbitrary binary data, with |
| 101 | this structure and function: | ||
| 101 | 102 | ||
| 102 | struct debugfs_blob_wrapper { | 103 | struct debugfs_blob_wrapper { |
| 103 | void *data; | 104 | void *data; |
| @@ -115,6 +116,35 @@ can be used to export binary information, but there does not appear to be | |||
| 115 | any code which does so in the mainline. Note that all files created with | 116 | any code which does so in the mainline. Note that all files created with |
| 116 | debugfs_create_blob() are read-only. | 117 | debugfs_create_blob() are read-only. |
| 117 | 118 | ||
| 119 | If you want to dump a block of registers (something that happens quite | ||
| 120 | often during development, even if little such code reaches mainline. | ||
| 121 | Debugfs offers two functions: one to make a registers-only file, and | ||
| 122 | another to insert a register block in the middle of another sequential | ||
| 123 | file. | ||
| 124 | |||
| 125 | struct debugfs_reg32 { | ||
| 126 | char *name; | ||
| 127 | unsigned long offset; | ||
| 128 | }; | ||
| 129 | |||
| 130 | struct debugfs_regset32 { | ||
| 131 | struct debugfs_reg32 *regs; | ||
| 132 | int nregs; | ||
| 133 | void __iomem *base; | ||
| 134 | }; | ||
| 135 | |||
| 136 | struct dentry *debugfs_create_regset32(const char *name, mode_t mode, | ||
| 137 | struct dentry *parent, | ||
| 138 | struct debugfs_regset32 *regset); | ||
| 139 | |||
| 140 | int debugfs_print_regs32(struct seq_file *s, struct debugfs_reg32 *regs, | ||
| 141 | int nregs, void __iomem *base, char *prefix); | ||
| 142 | |||
| 143 | The "base" argument may be 0, but you may want to build the reg32 array | ||
| 144 | using __stringify, and a number of register names (macros) are actually | ||
| 145 | byte offsets over a base for the register block. | ||
| 146 | |||
| 147 | |||
| 118 | There are a couple of other directory-oriented helper functions: | 148 | There are a couple of other directory-oriented helper functions: |
| 119 | 149 | ||
| 120 | struct dentry *debugfs_rename(struct dentry *old_dir, | 150 | struct dentry *debugfs_rename(struct dentry *old_dir, |
