aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2005-05-01 11:59:25 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 11:59:25 -0400
commit4dc3b16ba18c0f967ad100c52fa65b01a4f76ff0 (patch)
treefa038ad8969980eec6cef5b737872fda9feb4c6a
parent333f981720d619e2038b980a55ad01b10580eb9f (diff)
[PATCH] DocBook: changes and extensions to the kernel documentation
I have recompiled Linux kernel 2.6.11.5 documentation for me and our university students again. The documentation could be extended for more sources which are equipped by structured comments for recent 2.6 kernels. I have tried to proceed with that task. I have done that more times from 2.6.0 time and it gets boring to do same changes again and again. Linux kernel compiles after changes for i386 and ARM targets. I have added references to some more files into kernel-api book, I have added some section names as well. So please, check that changes do not break something and that categories are not too much skewed. I have changed kernel-doc to accept "fastcall" and "asmlinkage" words reserved by kernel convention. Most of the other changes are modifications in the comments to make kernel-doc happy, accept some parameters description and do not bail out on errors. Changed <pid> to @pid in the description, moved some #ifdef before comments to correct function to comments bindings, etc. You can see result of the modified documentation build at http://cmp.felk.cvut.cz/~pisa/linux/lkdb-2.6.11.tar.gz Some more sources are ready to be included into kernel-doc generated documentation. Sources has been added into kernel-api for now. Some more section names added and probably some more chaos introduced as result of quick cleanup work. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz> Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Documentation/DocBook/kernel-api.tmpl186
-rw-r--r--drivers/video/fbmem.c5
-rw-r--r--fs/proc/base.c10
-rw-r--r--include/linux/fs.h12
-rw-r--r--include/linux/net.h38
-rw-r--r--include/linux/skbuff.h2
-rw-r--r--include/net/sock.h134
-rw-r--r--kernel/exit.c2
-rw-r--r--kernel/power/swsusp.c2
-rw-r--r--mm/page_alloc.c3
-rw-r--r--mm/vmalloc.c8
-rw-r--r--net/core/datagram.c28
-rw-r--r--net/core/sock.c12
-rw-r--r--net/core/stream.c12
-rw-r--r--net/sunrpc/xdr.c12
-rwxr-xr-xscripts/kernel-doc2
16 files changed, 320 insertions, 148 deletions
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl
index 1bd20c860285..757cef8f8491 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -49,13 +49,33 @@
49!Iinclude/asm-i386/unaligned.h 49!Iinclude/asm-i386/unaligned.h
50 </sect1> 50 </sect1>
51 51
52<!-- FIXME:
53 kernel/sched.c has no docs, which stuffs up the sgml. Comment
54 out until somebody adds docs. KAO
55 <sect1><title>Delaying, scheduling, and timer routines</title> 52 <sect1><title>Delaying, scheduling, and timer routines</title>
56X!Ekernel/sched.c 53!Iinclude/linux/sched.h
54!Ekernel/sched.c
55!Ekernel/timer.c
57 </sect1> 56 </sect1>
58KAO --> 57 <sect1><title>Internal Functions</title>
58!Ikernel/exit.c
59!Ikernel/signal.c
60 </sect1>
61
62 <sect1><title>Kernel objects manipulation</title>
63<!--
64X!Iinclude/linux/kobject.h
65-->
66!Elib/kobject.c
67 </sect1>
68
69 <sect1><title>Kernel utility functions</title>
70!Iinclude/linux/kernel.h
71<!-- This needs to clean up to make kernel-doc happy
72X!Ekernel/printk.c
73 -->
74!Ekernel/panic.c
75!Ekernel/sys.c
76!Ekernel/rcupdate.c
77 </sect1>
78
59 </chapter> 79 </chapter>
60 80
61 <chapter id="adt"> 81 <chapter id="adt">
@@ -81,7 +101,9 @@ KAO -->
81!Elib/vsprintf.c 101!Elib/vsprintf.c
82 </sect1> 102 </sect1>
83 <sect1><title>String Manipulation</title> 103 <sect1><title>String Manipulation</title>
84!Ilib/string.c 104<!-- All functions are exported at now
105X!Ilib/string.c
106 -->
85!Elib/string.c 107!Elib/string.c
86 </sect1> 108 </sect1>
87 <sect1><title>Bit Operations</title> 109 <sect1><title>Bit Operations</title>
@@ -98,6 +120,25 @@ KAO -->
98!Iinclude/asm-i386/uaccess.h 120!Iinclude/asm-i386/uaccess.h
99!Iarch/i386/lib/usercopy.c 121!Iarch/i386/lib/usercopy.c
100 </sect1> 122 </sect1>
123 <sect1><title>More Memory Management Functions</title>
124!Iinclude/linux/rmap.h
125!Emm/readahead.c
126!Emm/filemap.c
127!Emm/memory.c
128!Emm/vmalloc.c
129!Emm/mempool.c
130!Emm/page-writeback.c
131!Emm/truncate.c
132 </sect1>
133 </chapter>
134
135
136 <chapter id="ipc">
137 <title>Kernel IPC facilities</title>
138
139 <sect1><title>IPC utilities</title>
140!Iipc/util.c
141 </sect1>
101 </chapter> 142 </chapter>
102 143
103 <chapter id="kfifo"> 144 <chapter id="kfifo">
@@ -114,6 +155,10 @@ KAO -->
114 <sect1><title>sysctl interface</title> 155 <sect1><title>sysctl interface</title>
115!Ekernel/sysctl.c 156!Ekernel/sysctl.c
116 </sect1> 157 </sect1>
158
159 <sect1><title>proc filesystem interface</title>
160!Ifs/proc/base.c
161 </sect1>
117 </chapter> 162 </chapter>
118 163
119 <chapter id="debugfs"> 164 <chapter id="debugfs">
@@ -127,6 +172,10 @@ KAO -->
127 172
128 <chapter id="vfs"> 173 <chapter id="vfs">
129 <title>The Linux VFS</title> 174 <title>The Linux VFS</title>
175 <sect1><title>The Filesystem types</title>
176!Iinclude/linux/fs.h
177!Einclude/linux/fs.h
178 </sect1>
130 <sect1><title>The Directory Cache</title> 179 <sect1><title>The Directory Cache</title>
131!Efs/dcache.c 180!Efs/dcache.c
132!Iinclude/linux/dcache.h 181!Iinclude/linux/dcache.h
@@ -142,13 +191,31 @@ KAO -->
142!Efs/locks.c 191!Efs/locks.c
143!Ifs/locks.c 192!Ifs/locks.c
144 </sect1> 193 </sect1>
194 <sect1><title>Other Functions</title>
195!Efs/mpage.c
196!Efs/namei.c
197!Efs/buffer.c
198!Efs/bio.c
199!Efs/seq_file.c
200!Efs/filesystems.c
201!Efs/fs-writeback.c
202!Efs/block_dev.c
203 </sect1>
145 </chapter> 204 </chapter>
146 205
147 <chapter id="netcore"> 206 <chapter id="netcore">
148 <title>Linux Networking</title> 207 <title>Linux Networking</title>
208 <sect1><title>Networking Base Types</title>
209!Iinclude/linux/net.h
210 </sect1>
149 <sect1><title>Socket Buffer Functions</title> 211 <sect1><title>Socket Buffer Functions</title>
150!Iinclude/linux/skbuff.h 212!Iinclude/linux/skbuff.h
213!Iinclude/net/sock.h
214!Enet/socket.c
151!Enet/core/skbuff.c 215!Enet/core/skbuff.c
216!Enet/core/sock.c
217!Enet/core/datagram.c
218!Enet/core/stream.c
152 </sect1> 219 </sect1>
153 <sect1><title>Socket Filter</title> 220 <sect1><title>Socket Filter</title>
154!Enet/core/filter.c 221!Enet/core/filter.c
@@ -158,6 +225,14 @@ KAO -->
158!Enet/core/gen_stats.c 225!Enet/core/gen_stats.c
159!Enet/core/gen_estimator.c 226!Enet/core/gen_estimator.c
160 </sect1> 227 </sect1>
228 <sect1><title>SUN RPC subsystem</title>
229<!-- The !D functionality is not perfect, garbage has to be protected by comments
230!Dnet/sunrpc/sunrpc_syms.c
231-->
232!Enet/sunrpc/xdr.c
233!Enet/sunrpc/svcsock.c
234!Enet/sunrpc/sched.c
235 </sect1>
161 </chapter> 236 </chapter>
162 237
163 <chapter id="netdev"> 238 <chapter id="netdev">
@@ -194,11 +269,26 @@ X!Ekernel/module.c
194!Iarch/i386/kernel/irq.c 269!Iarch/i386/kernel/irq.c
195 </sect1> 270 </sect1>
196 271
272 <sect1><title>Resources Management</title>
273!Ekernel/resource.c
274 </sect1>
275
197 <sect1><title>MTRR Handling</title> 276 <sect1><title>MTRR Handling</title>
198!Earch/i386/kernel/cpu/mtrr/main.c 277!Earch/i386/kernel/cpu/mtrr/main.c
199 </sect1> 278 </sect1>
200 <sect1><title>PCI Support Library</title> 279 <sect1><title>PCI Support Library</title>
201!Edrivers/pci/pci.c 280!Edrivers/pci/pci.c
281!Edrivers/pci/pci-driver.c
282!Edrivers/pci/remove.c
283!Edrivers/pci/pci-acpi.c
284<!-- kerneldoc does not understand to __devinit
285X!Edrivers/pci/search.c
286 -->
287!Edrivers/pci/msi.c
288!Edrivers/pci/bus.c
289!Edrivers/pci/hotplug.c
290!Edrivers/pci/probe.c
291!Edrivers/pci/rom.c
202 </sect1> 292 </sect1>
203 <sect1><title>PCI Hotplug Support Library</title> 293 <sect1><title>PCI Hotplug Support Library</title>
204!Edrivers/pci/hotplug/pci_hotplug_core.c 294!Edrivers/pci/hotplug/pci_hotplug_core.c
@@ -223,6 +313,14 @@ X!Earch/i386/kernel/mca.c
223!Efs/devfs/base.c 313!Efs/devfs/base.c
224 </chapter> 314 </chapter>
225 315
316 <chapter id="sysfs">
317 <title>The Filesystem for Exporting Kernel Objects</title>
318!Efs/sysfs/file.c
319!Efs/sysfs/dir.c
320!Efs/sysfs/symlink.c
321!Efs/sysfs/bin.c
322 </chapter>
323
226 <chapter id="security"> 324 <chapter id="security">
227 <title>Security Framework</title> 325 <title>Security Framework</title>
228!Esecurity/security.c 326!Esecurity/security.c
@@ -233,6 +331,61 @@ X!Earch/i386/kernel/mca.c
233!Ekernel/power/pm.c 331!Ekernel/power/pm.c
234 </chapter> 332 </chapter>
235 333
334 <chapter id="devdrivers">
335 <title>Device drivers infrastructure</title>
336 <sect1><title>Device Drivers Base</title>
337<!--
338X!Iinclude/linux/device.h
339-->
340!Edrivers/base/driver.c
341!Edrivers/base/class_simple.c
342!Edrivers/base/core.c
343!Edrivers/base/firmware_class.c
344!Edrivers/base/transport_class.c
345!Edrivers/base/dmapool.c
346<!-- Cannot be included, because
347 attribute_container_add_class_device_adapter
348 and attribute_container_classdev_to_container
349 exceed allowed 44 characters maximum
350X!Edrivers/base/attribute_container.c
351-->
352!Edrivers/base/sys.c
353<!--
354X!Edrivers/base/interface.c
355-->
356!Edrivers/base/platform.c
357!Edrivers/base/bus.c
358 </sect1>
359 <sect1><title>Device Drivers Power Management</title>
360!Edrivers/base/power/main.c
361!Edrivers/base/power/resume.c
362!Edrivers/base/power/suspend.c
363 </sect1>
364 <sect1><title>Device Drivers ACPI Support</title>
365<!-- Internal functions only
366X!Edrivers/acpi/sleep/main.c
367X!Edrivers/acpi/sleep/wakeup.c
368X!Edrivers/acpi/motherboard.c
369X!Edrivers/acpi/bus.c
370-->
371!Edrivers/acpi/scan.c
372<!-- No correct structured comments
373X!Edrivers/acpi/pci_bind.c
374-->
375 </sect1>
376 <sect1><title>Device drivers PnP support</title>
377!Edrivers/pnp/core.c
378<!-- No correct structured comments
379X!Edrivers/pnp/system.c
380 -->
381!Edrivers/pnp/card.c
382!Edrivers/pnp/driver.c
383!Edrivers/pnp/manager.c
384!Edrivers/pnp/support.c
385 </sect1>
386 </chapter>
387
388
236 <chapter id="blkdev"> 389 <chapter id="blkdev">
237 <title>Block Devices</title> 390 <title>Block Devices</title>
238!Edrivers/block/ll_rw_blk.c 391!Edrivers/block/ll_rw_blk.c
@@ -250,7 +403,23 @@ X!Earch/i386/kernel/mca.c
250 403
251 <chapter id="snddev"> 404 <chapter id="snddev">
252 <title>Sound Devices</title> 405 <title>Sound Devices</title>
406!Iinclude/sound/core.h
253!Esound/sound_core.c 407!Esound/sound_core.c
408!Iinclude/sound/pcm.h
409!Esound/core/pcm.c
410!Esound/core/device.c
411!Esound/core/info.c
412!Esound/core/rawmidi.c
413!Esound/core/sound.c
414!Esound/core/memory.c
415!Esound/core/pcm_memory.c
416!Esound/core/init.c
417!Esound/core/isadma.c
418!Esound/core/control.c
419!Esound/core/pcm_lib.c
420!Esound/core/hwdep.c
421!Esound/core/pcm_native.c
422!Esound/core/memalloc.c
254<!-- FIXME: Removed for now since no structured comments in source 423<!-- FIXME: Removed for now since no structured comments in source
255X!Isound/sound_firmware.c 424X!Isound/sound_firmware.c
256--> 425-->
@@ -258,6 +427,7 @@ X!Isound/sound_firmware.c
258 427
259 <chapter id="uart16x50"> 428 <chapter id="uart16x50">
260 <title>16x50 UART Driver</title> 429 <title>16x50 UART Driver</title>
430!Iinclude/linux/serial_core.h
261!Edrivers/serial/serial_core.c 431!Edrivers/serial/serial_core.c
262!Edrivers/serial/8250.c 432!Edrivers/serial/8250.c
263 </chapter> 433 </chapter>
@@ -310,9 +480,11 @@ X!Isound/sound_firmware.c
310 <sect1><title>Frame Buffer Memory</title> 480 <sect1><title>Frame Buffer Memory</title>
311!Edrivers/video/fbmem.c 481!Edrivers/video/fbmem.c
312 </sect1> 482 </sect1>
483<!--
313 <sect1><title>Frame Buffer Console</title> 484 <sect1><title>Frame Buffer Console</title>
314!Edrivers/video/console/fbcon.c 485X!Edrivers/video/console/fbcon.c
315 </sect1> 486 </sect1>
487-->
316 <sect1><title>Frame Buffer Colormap</title> 488 <sect1><title>Frame Buffer Colormap</title>
317!Edrivers/video/fbcmap.c 489!Edrivers/video/fbcmap.c
318 </sect1> 490 </sect1>
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index 25f460ca0daf..208a68ceb63b 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1257,6 +1257,8 @@ int fb_new_modelist(struct fb_info *info)
1257static char *video_options[FB_MAX]; 1257static char *video_options[FB_MAX];
1258static int ofonly; 1258static int ofonly;
1259 1259
1260extern const char *global_mode_option;
1261
1260/** 1262/**
1261 * fb_get_options - get kernel boot parameters 1263 * fb_get_options - get kernel boot parameters
1262 * @name: framebuffer name as it would appear in 1264 * @name: framebuffer name as it would appear in
@@ -1297,9 +1299,6 @@ int fb_get_options(char *name, char **option)
1297 return retval; 1299 return retval;
1298} 1300}
1299 1301
1300
1301extern const char *global_mode_option;
1302
1303/** 1302/**
1304 * video_setup - process command line options 1303 * video_setup - process command line options
1305 * @options: string of options 1304 * @options: string of options
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 2eac86d46c51..2b8cd045111c 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1703,13 +1703,13 @@ static struct inode_operations proc_self_inode_operations = {
1703}; 1703};
1704 1704
1705/** 1705/**
1706 * proc_pid_unhash - Unhash /proc/<pid> entry from the dcache. 1706 * proc_pid_unhash - Unhash /proc/@pid entry from the dcache.
1707 * @p: task that should be flushed. 1707 * @p: task that should be flushed.
1708 * 1708 *
1709 * Drops the /proc/<pid> dcache entry from the hash chains. 1709 * Drops the /proc/@pid dcache entry from the hash chains.
1710 * 1710 *
1711 * Dropping /proc/<pid> entries and detach_pid must be synchroneous, 1711 * Dropping /proc/@pid entries and detach_pid must be synchroneous,
1712 * otherwise e.g. /proc/<pid>/exe might point to the wrong executable, 1712 * otherwise e.g. /proc/@pid/exe might point to the wrong executable,
1713 * if the pid value is immediately reused. This is enforced by 1713 * if the pid value is immediately reused. This is enforced by
1714 * - caller must acquire spin_lock(p->proc_lock) 1714 * - caller must acquire spin_lock(p->proc_lock)
1715 * - must be called before detach_pid() 1715 * - must be called before detach_pid()
@@ -1741,7 +1741,7 @@ struct dentry *proc_pid_unhash(struct task_struct *p)
1741} 1741}
1742 1742
1743/** 1743/**
1744 * proc_pid_flush - recover memory used by stale /proc/<pid>/x entries 1744 * proc_pid_flush - recover memory used by stale /proc/@pid/x entries
1745 * @proc_entry: directoy to prune. 1745 * @proc_entry: directoy to prune.
1746 * 1746 *
1747 * Shrink the /proc directory that was used by the just killed thread. 1747 * Shrink the /proc directory that was used by the just killed thread.
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5df687d940fa..3f825b085c8d 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1053,12 +1053,12 @@ static inline void file_accessed(struct file *file)
1053int sync_inode(struct inode *inode, struct writeback_control *wbc); 1053int sync_inode(struct inode *inode, struct writeback_control *wbc);
1054 1054
1055/** 1055/**
1056 * &export_operations - for nfsd to communicate with file systems 1056 * struct export_operations - for nfsd to communicate with file systems
1057 * decode_fh: decode a file handle fragment and return a &struct dentry 1057 * @decode_fh: decode a file handle fragment and return a &struct dentry
1058 * encode_fh: encode a file handle fragment from a dentry 1058 * @encode_fh: encode a file handle fragment from a dentry
1059 * get_name: find the name for a given inode in a given directory 1059 * @get_name: find the name for a given inode in a given directory
1060 * get_parent: find the parent of a given directory 1060 * @get_parent: find the parent of a given directory
1061 * get_dentry: find a dentry for the inode given a file handle sub-fragment 1061 * @get_dentry: find a dentry for the inode given a file handle sub-fragment
1062 * 1062 *
1063 * Description: 1063 * Description:
1064 * The export_operations structure provides a means for nfsd to communicate 1064 * The export_operations structure provides a means for nfsd to communicate
diff --git a/include/linux/net.h b/include/linux/net.h
index 7823b3482506..e5914c1f0c4d 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -64,19 +64,19 @@ typedef enum {
64#define SOCK_PASSCRED 3 64#define SOCK_PASSCRED 3
65 65
66#ifndef ARCH_HAS_SOCKET_TYPES 66#ifndef ARCH_HAS_SOCKET_TYPES
67/** sock_type - Socket types 67/**
68 * 68 * enum sock_type - Socket types
69 * @SOCK_STREAM: stream (connection) socket
70 * @SOCK_DGRAM: datagram (conn.less) socket
71 * @SOCK_RAW: raw socket
72 * @SOCK_RDM: reliably-delivered message
73 * @SOCK_SEQPACKET: sequential packet socket
74 * @SOCK_PACKET: linux specific way of getting packets at the dev level.
75 * For writing rarp and other similar things on the user level.
76 *
69 * When adding some new socket type please 77 * When adding some new socket type please
70 * grep ARCH_HAS_SOCKET_TYPE include/asm-* /socket.h, at least MIPS 78 * grep ARCH_HAS_SOCKET_TYPE include/asm-* /socket.h, at least MIPS
71 * overrides this enum for binary compat reasons. 79 * overrides this enum for binary compat reasons.
72 *
73 * @SOCK_STREAM - stream (connection) socket
74 * @SOCK_DGRAM - datagram (conn.less) socket
75 * @SOCK_RAW - raw socket
76 * @SOCK_RDM - reliably-delivered message
77 * @SOCK_SEQPACKET - sequential packet socket
78 * @SOCK_PACKET - linux specific way of getting packets at the dev level.
79 * For writing rarp and other similar things on the user level.
80 */ 80 */
81enum sock_type { 81enum sock_type {
82 SOCK_STREAM = 1, 82 SOCK_STREAM = 1,
@@ -93,15 +93,15 @@ enum sock_type {
93 93
94/** 94/**
95 * struct socket - general BSD socket 95 * struct socket - general BSD socket
96 * @state - socket state (%SS_CONNECTED, etc) 96 * @state: socket state (%SS_CONNECTED, etc)
97 * @flags - socket flags (%SOCK_ASYNC_NOSPACE, etc) 97 * @flags: socket flags (%SOCK_ASYNC_NOSPACE, etc)
98 * @ops - protocol specific socket operations 98 * @ops: protocol specific socket operations
99 * @fasync_list - Asynchronous wake up list 99 * @fasync_list: Asynchronous wake up list
100 * @file - File back pointer for gc 100 * @file: File back pointer for gc
101 * @sk - internal networking protocol agnostic socket representation 101 * @sk: internal networking protocol agnostic socket representation
102 * @wait - wait queue for several uses 102 * @wait: wait queue for several uses
103 * @type - socket type (%SOCK_STREAM, etc) 103 * @type: socket type (%SOCK_STREAM, etc)
104 * @passcred - credentials (used only in Unix Sockets (aka PF_LOCAL)) 104 * @passcred: credentials (used only in Unix Sockets (aka PF_LOCAL))
105 */ 105 */
106struct socket { 106struct socket {
107 socket_state state; 107 socket_state state;
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 22b701819619..c77d745cbd3f 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -968,6 +968,7 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
968 kfree_skb(skb); 968 kfree_skb(skb);
969} 969}
970 970
971#ifndef CONFIG_HAVE_ARCH_DEV_ALLOC_SKB
971/** 972/**
972 * __dev_alloc_skb - allocate an skbuff for sending 973 * __dev_alloc_skb - allocate an skbuff for sending
973 * @length: length to allocate 974 * @length: length to allocate
@@ -980,7 +981,6 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
980 * 981 *
981 * %NULL is returned in there is no free memory. 982 * %NULL is returned in there is no free memory.
982 */ 983 */
983#ifndef CONFIG_HAVE_ARCH_DEV_ALLOC_SKB
984static inline struct sk_buff *__dev_alloc_skb(unsigned int length, 984static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
985 int gfp_mask) 985 int gfp_mask)
986{ 986{
diff --git a/include/net/sock.h b/include/net/sock.h
index be81cabd0da3..5bc180adfb14 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -90,17 +90,17 @@ do { spin_lock_init(&((__sk)->sk_lock.slock)); \
90struct sock; 90struct sock;
91 91
92/** 92/**
93 * struct sock_common - minimal network layer representation of sockets 93 * struct sock_common - minimal network layer representation of sockets
94 * @skc_family - network address family 94 * @skc_family: network address family
95 * @skc_state - Connection state 95 * @skc_state: Connection state
96 * @skc_reuse - %SO_REUSEADDR setting 96 * @skc_reuse: %SO_REUSEADDR setting
97 * @skc_bound_dev_if - bound device index if != 0 97 * @skc_bound_dev_if: bound device index if != 0
98 * @skc_node - main hash linkage for various protocol lookup tables 98 * @skc_node: main hash linkage for various protocol lookup tables
99 * @skc_bind_node - bind hash linkage for various protocol lookup tables 99 * @skc_bind_node: bind hash linkage for various protocol lookup tables
100 * @skc_refcnt - reference count 100 * @skc_refcnt: reference count
101 * 101 *
102 * This is the minimal network layer representation of sockets, the header 102 * This is the minimal network layer representation of sockets, the header
103 * for struct sock and struct tcp_tw_bucket. 103 * for struct sock and struct tcp_tw_bucket.
104 */ 104 */
105struct sock_common { 105struct sock_common {
106 unsigned short skc_family; 106 unsigned short skc_family;
@@ -114,60 +114,60 @@ struct sock_common {
114 114
115/** 115/**
116 * struct sock - network layer representation of sockets 116 * struct sock - network layer representation of sockets
117 * @__sk_common - shared layout with tcp_tw_bucket 117 * @__sk_common: shared layout with tcp_tw_bucket
118 * @sk_shutdown - mask of %SEND_SHUTDOWN and/or %RCV_SHUTDOWN 118 * @sk_shutdown: mask of %SEND_SHUTDOWN and/or %RCV_SHUTDOWN
119 * @sk_userlocks - %SO_SNDBUF and %SO_RCVBUF settings 119 * @sk_userlocks: %SO_SNDBUF and %SO_RCVBUF settings
120 * @sk_lock - synchronizer 120 * @sk_lock: synchronizer
121 * @sk_rcvbuf - size of receive buffer in bytes 121 * @sk_rcvbuf: size of receive buffer in bytes
122 * @sk_sleep - sock wait queue 122 * @sk_sleep: sock wait queue
123 * @sk_dst_cache - destination cache 123 * @sk_dst_cache: destination cache
124 * @sk_dst_lock - destination cache lock 124 * @sk_dst_lock: destination cache lock
125 * @sk_policy - flow policy 125 * @sk_policy: flow policy
126 * @sk_rmem_alloc - receive queue bytes committed 126 * @sk_rmem_alloc: receive queue bytes committed
127 * @sk_receive_queue - incoming packets 127 * @sk_receive_queue: incoming packets
128 * @sk_wmem_alloc - transmit queue bytes committed 128 * @sk_wmem_alloc: transmit queue bytes committed
129 * @sk_write_queue - Packet sending queue 129 * @sk_write_queue: Packet sending queue
130 * @sk_omem_alloc - "o" is "option" or "other" 130 * @sk_omem_alloc: "o" is "option" or "other"
131 * @sk_wmem_queued - persistent queue size 131 * @sk_wmem_queued: persistent queue size
132 * @sk_forward_alloc - space allocated forward 132 * @sk_forward_alloc: space allocated forward
133 * @sk_allocation - allocation mode 133 * @sk_allocation: allocation mode
134 * @sk_sndbuf - size of send buffer in bytes 134 * @sk_sndbuf: size of send buffer in bytes
135 * @sk_flags - %SO_LINGER (l_onoff), %SO_BROADCAST, %SO_KEEPALIVE, %SO_OOBINLINE settings 135 * @sk_flags: %SO_LINGER (l_onoff), %SO_BROADCAST, %SO_KEEPALIVE, %SO_OOBINLINE settings
136 * @sk_no_check - %SO_NO_CHECK setting, wether or not checkup packets 136 * @sk_no_check: %SO_NO_CHECK setting, wether or not checkup packets
137 * @sk_route_caps - route capabilities (e.g. %NETIF_F_TSO) 137 * @sk_route_caps: route capabilities (e.g. %NETIF_F_TSO)
138 * @sk_lingertime - %SO_LINGER l_linger setting 138 * @sk_lingertime: %SO_LINGER l_linger setting
139 * @sk_hashent - hash entry in several tables (e.g. tcp_ehash) 139 * @sk_hashent: hash entry in several tables (e.g. tcp_ehash)
140 * @sk_backlog - always used with the per-socket spinlock held 140 * @sk_backlog: always used with the per-socket spinlock held
141 * @sk_callback_lock - used with the callbacks in the end of this struct 141 * @sk_callback_lock: used with the callbacks in the end of this struct
142 * @sk_error_queue - rarely used 142 * @sk_error_queue: rarely used
143 * @sk_prot - protocol handlers inside a network family 143 * @sk_prot: protocol handlers inside a network family
144 * @sk_err - last error 144 * @sk_err: last error
145 * @sk_err_soft - errors that don't cause failure but are the cause of a persistent failure not just 'timed out' 145 * @sk_err_soft: errors that don't cause failure but are the cause of a persistent failure not just 'timed out'
146 * @sk_ack_backlog - current listen backlog 146 * @sk_ack_backlog: current listen backlog
147 * @sk_max_ack_backlog - listen backlog set in listen() 147 * @sk_max_ack_backlog: listen backlog set in listen()
148 * @sk_priority - %SO_PRIORITY setting 148 * @sk_priority: %SO_PRIORITY setting
149 * @sk_type - socket type (%SOCK_STREAM, etc) 149 * @sk_type: socket type (%SOCK_STREAM, etc)
150 * @sk_protocol - which protocol this socket belongs in this network family 150 * @sk_protocol: which protocol this socket belongs in this network family
151 * @sk_peercred - %SO_PEERCRED setting 151 * @sk_peercred: %SO_PEERCRED setting
152 * @sk_rcvlowat - %SO_RCVLOWAT setting 152 * @sk_rcvlowat: %SO_RCVLOWAT setting
153 * @sk_rcvtimeo - %SO_RCVTIMEO setting 153 * @sk_rcvtimeo: %SO_RCVTIMEO setting
154 * @sk_sndtimeo - %SO_SNDTIMEO setting 154 * @sk_sndtimeo: %SO_SNDTIMEO setting
155 * @sk_filter - socket filtering instructions 155 * @sk_filter: socket filtering instructions
156 * @sk_protinfo - private area, net family specific, when not using slab 156 * @sk_protinfo: private area, net family specific, when not using slab
157 * @sk_timer - sock cleanup timer 157 * @sk_timer: sock cleanup timer
158 * @sk_stamp - time stamp of last packet received 158 * @sk_stamp: time stamp of last packet received
159 * @sk_socket - Identd and reporting IO signals 159 * @sk_socket: Identd and reporting IO signals
160 * @sk_user_data - RPC layer private data 160 * @sk_user_data: RPC layer private data
161 * @sk_sndmsg_page - cached page for sendmsg 161 * @sk_sndmsg_page: cached page for sendmsg
162 * @sk_sndmsg_off - cached offset for sendmsg 162 * @sk_sndmsg_off: cached offset for sendmsg
163 * @sk_send_head - front of stuff to transmit 163 * @sk_send_head: front of stuff to transmit
164 * @sk_write_pending - a write to stream socket waits to start 164 * @sk_write_pending: a write to stream socket waits to start
165 * @sk_state_change - callback to indicate change in the state of the sock 165 * @sk_state_change: callback to indicate change in the state of the sock
166 * @sk_data_ready - callback to indicate there is data to be processed 166 * @sk_data_ready: callback to indicate there is data to be processed
167 * @sk_write_space - callback to indicate there is bf sending space available 167 * @sk_write_space: callback to indicate there is bf sending space available
168 * @sk_error_report - callback to indicate errors (e.g. %MSG_ERRQUEUE) 168 * @sk_error_report: callback to indicate errors (e.g. %MSG_ERRQUEUE)
169 * @sk_backlog_rcv - callback to process the backlog 169 * @sk_backlog_rcv: callback to process the backlog
170 * @sk_destruct - called at sock freeing time, i.e. when all refcnt == 0 170 * @sk_destruct: called at sock freeing time, i.e. when all refcnt == 0
171 */ 171 */
172struct sock { 172struct sock {
173 /* 173 /*
@@ -1223,8 +1223,8 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb)
1223 1223
1224/** 1224/**
1225 * sk_eat_skb - Release a skb if it is no longer needed 1225 * sk_eat_skb - Release a skb if it is no longer needed
1226 * @sk - socket to eat this skb from 1226 * @sk: socket to eat this skb from
1227 * @skb - socket buffer to eat 1227 * @skb: socket buffer to eat
1228 * 1228 *
1229 * This routine must be called with interrupts disabled or with the socket 1229 * This routine must be called with interrupts disabled or with the socket
1230 * locked so that the sk_buff queue operation is ok. 1230 * locked so that the sk_buff queue operation is ok.
diff --git a/kernel/exit.c b/kernel/exit.c
index eb8da36e13df..419d9d3c4c48 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -210,7 +210,7 @@ static inline int has_stopped_jobs(int pgrp)
210} 210}
211 211
212/** 212/**
213 * reparent_to_init() - Reparent the calling kernel thread to the init task. 213 * reparent_to_init - Reparent the calling kernel thread to the init task.
214 * 214 *
215 * If a kernel thread is launched as a result of a system call, or if 215 * If a kernel thread is launched as a result of a system call, or if
216 * it ever exits, it should generally reparent itself to init so that 216 * it ever exits, it should generally reparent itself to init so that
diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c
index ae5bebc3b18f..90b3b68dee3f 100644
--- a/kernel/power/swsusp.c
+++ b/kernel/power/swsusp.c
@@ -1099,7 +1099,7 @@ static struct pbe * swsusp_pagedir_relocate(struct pbe *pblist)
1099 return pblist; 1099 return pblist;
1100} 1100}
1101 1101
1102/** 1102/*
1103 * Using bio to read from swap. 1103 * Using bio to read from swap.
1104 * This code requires a bit more work than just using buffer heads 1104 * This code requires a bit more work than just using buffer heads
1105 * but, it is the recommended way for 2.5/2.6. 1105 * but, it is the recommended way for 2.5/2.6.
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 80ce7f2104df..fc1b1064c505 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1355,8 +1355,7 @@ static int __init build_zonelists_node(pg_data_t *pgdat, struct zonelist *zoneli
1355#define MAX_NODE_LOAD (num_online_nodes()) 1355#define MAX_NODE_LOAD (num_online_nodes())
1356static int __initdata node_load[MAX_NUMNODES]; 1356static int __initdata node_load[MAX_NUMNODES];
1357/** 1357/**
1358 * find_next_best_node - find the next node that should appear in a given 1358 * find_next_best_node - find the next node that should appear in a given node's fallback list
1359 * node's fallback list
1360 * @node: node whose fallback list we're appending 1359 * @node: node whose fallback list we're appending
1361 * @used_node_mask: nodemask_t of already used nodes 1360 * @used_node_mask: nodemask_t of already used nodes
1362 * 1361 *
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index c6182f6f1305..2bd83e5c2bbf 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -475,6 +475,10 @@ void *vmalloc(unsigned long size)
475 475
476EXPORT_SYMBOL(vmalloc); 476EXPORT_SYMBOL(vmalloc);
477 477
478#ifndef PAGE_KERNEL_EXEC
479# define PAGE_KERNEL_EXEC PAGE_KERNEL
480#endif
481
478/** 482/**
479 * vmalloc_exec - allocate virtually contiguous, executable memory 483 * vmalloc_exec - allocate virtually contiguous, executable memory
480 * 484 *
@@ -488,10 +492,6 @@ EXPORT_SYMBOL(vmalloc);
488 * use __vmalloc() instead. 492 * use __vmalloc() instead.
489 */ 493 */
490 494
491#ifndef PAGE_KERNEL_EXEC
492# define PAGE_KERNEL_EXEC PAGE_KERNEL
493#endif
494
495void *vmalloc_exec(unsigned long size) 495void *vmalloc_exec(unsigned long size)
496{ 496{
497 return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC); 497 return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC);
diff --git a/net/core/datagram.c b/net/core/datagram.c
index d1bfd279cc1a..27c5cd942820 100644
--- a/net/core/datagram.c
+++ b/net/core/datagram.c
@@ -115,10 +115,10 @@ out_noerr:
115 115
116/** 116/**
117 * skb_recv_datagram - Receive a datagram skbuff 117 * skb_recv_datagram - Receive a datagram skbuff
118 * @sk - socket 118 * @sk: socket
119 * @flags - MSG_ flags 119 * @flags: MSG_ flags
120 * @noblock - blocking operation? 120 * @noblock: blocking operation?
121 * @err - error code returned 121 * @err: error code returned
122 * 122 *
123 * Get a datagram skbuff, understands the peeking, nonblocking wakeups 123 * Get a datagram skbuff, understands the peeking, nonblocking wakeups
124 * and possible races. This replaces identical code in packet, raw and 124 * and possible races. This replaces identical code in packet, raw and
@@ -201,10 +201,10 @@ void skb_free_datagram(struct sock *sk, struct sk_buff *skb)
201 201
202/** 202/**
203 * skb_copy_datagram_iovec - Copy a datagram to an iovec. 203 * skb_copy_datagram_iovec - Copy a datagram to an iovec.
204 * @skb - buffer to copy 204 * @skb: buffer to copy
205 * @offset - offset in the buffer to start copying from 205 * @offset: offset in the buffer to start copying from
206 * @iovec - io vector to copy to 206 * @iovec: io vector to copy to
207 * @len - amount of data to copy from buffer to iovec 207 * @len: amount of data to copy from buffer to iovec
208 * 208 *
209 * Note: the iovec is modified during the copy. 209 * Note: the iovec is modified during the copy.
210 */ 210 */
@@ -377,9 +377,9 @@ fault:
377 377
378/** 378/**
379 * skb_copy_and_csum_datagram_iovec - Copy and checkum skb to user iovec. 379 * skb_copy_and_csum_datagram_iovec - Copy and checkum skb to user iovec.
380 * @skb - skbuff 380 * @skb: skbuff
381 * @hlen - hardware length 381 * @hlen: hardware length
382 * @iovec - io vector 382 * @iovec: io vector
383 * 383 *
384 * Caller _must_ check that skb will fit to this iovec. 384 * Caller _must_ check that skb will fit to this iovec.
385 * 385 *
@@ -425,9 +425,9 @@ fault:
425 425
426/** 426/**
427 * datagram_poll - generic datagram poll 427 * datagram_poll - generic datagram poll
428 * @file - file struct 428 * @file: file struct
429 * @sock - socket 429 * @sock: socket
430 * @wait - poll table 430 * @wait: poll table
431 * 431 *
432 * Datagram poll: Again totally generic. This also handles 432 * Datagram poll: Again totally generic. This also handles
433 * sequenced packet sockets providing the socket receive queue 433 * sequenced packet sockets providing the socket receive queue
diff --git a/net/core/sock.c b/net/core/sock.c
index 5c2f72fa1013..98171ddd7e7d 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -616,10 +616,10 @@ lenout:
616 616
617/** 617/**
618 * sk_alloc - All socket objects are allocated here 618 * sk_alloc - All socket objects are allocated here
619 * @family - protocol family 619 * @family: protocol family
620 * @priority - for allocation (%GFP_KERNEL, %GFP_ATOMIC, etc) 620 * @priority: for allocation (%GFP_KERNEL, %GFP_ATOMIC, etc)
621 * @prot - struct proto associated with this new sock instance 621 * @prot: struct proto associated with this new sock instance
622 * @zero_it - if we should zero the newly allocated sock 622 * @zero_it: if we should zero the newly allocated sock
623 */ 623 */
624struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it) 624struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it)
625{ 625{
@@ -970,8 +970,8 @@ static void __release_sock(struct sock *sk)
970 970
971/** 971/**
972 * sk_wait_data - wait for data to arrive at sk_receive_queue 972 * sk_wait_data - wait for data to arrive at sk_receive_queue
973 * sk - sock to wait on 973 * @sk: sock to wait on
974 * timeo - for how long 974 * @timeo: for how long
975 * 975 *
976 * Now socket state including sk->sk_err is changed only under lock, 976 * Now socket state including sk->sk_err is changed only under lock,
977 * hence we may omit checks after joining wait queue. 977 * hence we may omit checks after joining wait queue.
diff --git a/net/core/stream.c b/net/core/stream.c
index 1e27a57b5a97..ac9edfdf8742 100644
--- a/net/core/stream.c
+++ b/net/core/stream.c
@@ -21,7 +21,7 @@
21 21
22/** 22/**
23 * sk_stream_write_space - stream socket write_space callback. 23 * sk_stream_write_space - stream socket write_space callback.
24 * sk - socket 24 * @sk: socket
25 * 25 *
26 * FIXME: write proper description 26 * FIXME: write proper description
27 */ 27 */
@@ -43,8 +43,8 @@ EXPORT_SYMBOL(sk_stream_write_space);
43 43
44/** 44/**
45 * sk_stream_wait_connect - Wait for a socket to get into the connected state 45 * sk_stream_wait_connect - Wait for a socket to get into the connected state
46 * @sk - sock to wait on 46 * @sk: sock to wait on
47 * @timeo_p - for how long to wait 47 * @timeo_p: for how long to wait
48 * 48 *
49 * Must be called with the socket locked. 49 * Must be called with the socket locked.
50 */ 50 */
@@ -79,7 +79,7 @@ EXPORT_SYMBOL(sk_stream_wait_connect);
79 79
80/** 80/**
81 * sk_stream_closing - Return 1 if we still have things to send in our buffers. 81 * sk_stream_closing - Return 1 if we still have things to send in our buffers.
82 * @sk - socket to verify 82 * @sk: socket to verify
83 */ 83 */
84static inline int sk_stream_closing(struct sock *sk) 84static inline int sk_stream_closing(struct sock *sk)
85{ 85{
@@ -107,8 +107,8 @@ EXPORT_SYMBOL(sk_stream_wait_close);
107 107
108/** 108/**
109 * sk_stream_wait_memory - Wait for more memory for a socket 109 * sk_stream_wait_memory - Wait for more memory for a socket
110 * @sk - socket to wait for memory 110 * @sk: socket to wait for memory
111 * @timeo_p - for how long 111 * @timeo_p: for how long
112 */ 112 */
113int sk_stream_wait_memory(struct sock *sk, long *timeo_p) 113int sk_stream_wait_memory(struct sock *sk, long *timeo_p)
114{ 114{
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c
index 4484931018eb..67b9f035ba86 100644
--- a/net/sunrpc/xdr.c
+++ b/net/sunrpc/xdr.c
@@ -46,9 +46,9 @@ xdr_decode_netobj(u32 *p, struct xdr_netobj *obj)
46 46
47/** 47/**
48 * xdr_encode_opaque_fixed - Encode fixed length opaque data 48 * xdr_encode_opaque_fixed - Encode fixed length opaque data
49 * @p - pointer to current position in XDR buffer. 49 * @p: pointer to current position in XDR buffer.
50 * @ptr - pointer to data to encode (or NULL) 50 * @ptr: pointer to data to encode (or NULL)
51 * @nbytes - size of data. 51 * @nbytes: size of data.
52 * 52 *
53 * Copy the array of data of length nbytes at ptr to the XDR buffer 53 * Copy the array of data of length nbytes at ptr to the XDR buffer
54 * at position p, then align to the next 32-bit boundary by padding 54 * at position p, then align to the next 32-bit boundary by padding
@@ -76,9 +76,9 @@ EXPORT_SYMBOL(xdr_encode_opaque_fixed);
76 76
77/** 77/**
78 * xdr_encode_opaque - Encode variable length opaque data 78 * xdr_encode_opaque - Encode variable length opaque data
79 * @p - pointer to current position in XDR buffer. 79 * @p: pointer to current position in XDR buffer.
80 * @ptr - pointer to data to encode (or NULL) 80 * @ptr: pointer to data to encode (or NULL)
81 * @nbytes - size of data. 81 * @nbytes: size of data.
82 * 82 *
83 * Returns the updated current XDR buffer position 83 * Returns the updated current XDR buffer position
84 */ 84 */
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 8b1dab63f11c..3cc333070e59 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1465,6 +1465,8 @@ sub dump_function($$) {
1465 1465
1466 $prototype =~ s/^static +//; 1466 $prototype =~ s/^static +//;
1467 $prototype =~ s/^extern +//; 1467 $prototype =~ s/^extern +//;
1468 $prototype =~ s/^fastcall +//;
1469 $prototype =~ s/^asmlinkage +//;
1468 $prototype =~ s/^inline +//; 1470 $prototype =~ s/^inline +//;
1469 $prototype =~ s/^__inline__ +//; 1471 $prototype =~ s/^__inline__ +//;
1470 $prototype =~ s/^#define +//; #ak added 1472 $prototype =~ s/^#define +//; #ak added